FullHD WIP

master
informatic 2018-06-23 16:53:08 +02:00
parent b366ffcefe
commit 88ac9152ef
5 changed files with 22 additions and 17 deletions

View File

@ -18,7 +18,7 @@ system control port 9999
system host allow 0.0.0.0/0
# Set system Geometry to WIDTH HEIGHT
system geometry 1280 720 ARGB
system geometry 1920 1080 ARGB
#tcl eval set system(width) 1280 ; set system(height) 720
# Set system frame rate to N or NN.NN
@ -26,9 +26,9 @@ system frame rate 30
tcl eval set system(framerate) 30
# Set output parameter (mode=1 direct, mode=2 simple threaded, mode=2 timed threaded)
system output mode 1
system output delay 1
system output buffers 40
system output mode 2
system output delay 4
system output buffers 60
# Set output control socket
system socket /run/snowmix/mixer1
@ -65,9 +65,9 @@ include slib/radar.slib
include slib/texts.slib
include slib/clocks2.slib
tcl eval FeedCreate "Feed #1" 1 1280 720 /run/snowmix/feed1-control-pipe
tcl eval FeedCreate "Feed #2" 2 1280 720 /run/snowmix/feed2-control-pipe
tcl eval FeedCreate "Feed #3" 3 1280 720 /run/snowmix/feed3-control-pipe
tcl eval FeedCreate "Feed #1" 1 1920 1080 /run/snowmix/feed1-control-pipe
tcl eval FeedCreate "Feed #2" 2 1920 1080 /run/snowmix/feed2-control-pipe
tcl eval FeedCreate "Feed #3" 3 1920 1080 /run/snowmix/feed3-control-pipe
tcl eval FeedDeadImage 1 100 images/dead-stream.bgra
tcl eval FeedDeadImage 2 100 images/dead-stream.bgra
tcl eval FeedDeadImage 3 100 images/dead-stream.bgra

View File

@ -31,6 +31,8 @@ services:
volumes:
- sockets:/run/snowmix
- ./tools:/tools:ro
environment:
- SNOWMIX_YOUTUBE_SECRET
ports:
- 20001:20001
command: /tools/output2cdn-base

View File

@ -43,5 +43,5 @@ if [ -e $feed_control_pipe ] ; then rm $feed_control_pipe ; fi
echo "Video only. src = $src_type"
exec /tools/de-ip-hdmi/de-ip-hdmi $moreargs $* | gst-launch-1.0 \
$SRC !\
queue ! videoscale ! videoconvert ! $VIDEOFORMAT !\
queue ! videoconvert ! $VIDEOFORMAT !\
queue ! $SHMSINK1

View File

@ -79,4 +79,5 @@ echo 'audio feed ctr isaudio '$feed_id
$gstlaunch -v fdsrc ! audio/x-raw,rate=48000,channels=2,format=S32BE ! \
queue ! audioconvert ! audioresample ! \
$AUDIOFORMAT ! fdsink fd=3 sync=true 3>&1 1>&2
exit 1
) | nc $SNOWMIX_IP $SNOWMIX_PORT

View File

@ -30,12 +30,12 @@ akamai_pass='INSERT_YOUR_AKAMAI_PASSWORD_NAME_HERE'
########################################################
# You can change the settings below to suit your needs
###################### Settings ########################
width=1280
height=720
width=1920
height=1080
audiorate=44100
channels=2
framerate='30/1'
vbitrate=2500
vbitrate=5000
abitrate=128000
GST_DEBUG="--gst-debug=flvmux:0,rtmpsink:0"
###################### Settings ########################
@ -86,7 +86,7 @@ case $mode in
fi
#ENCAUDIOFORMAT='aacparse ! audio/mpeg,mpegversion=4,stream-format=raw'
#audioencoder="faac bitrate=$abitrate"
videoencoder="x264enc bitrate=$vbitrate key-int-max=$keyint bframes=$h264_bframes byte-stream=false aud=true tune=zerolatency speed-preset=veryfast"
videoencoder="x264enc bitrate=$vbitrate key-int-max=$keyint bframes=$h264_bframes byte-stream=false aud=true tune=zerolatency speed-preset=ultrafast threads=2"
ENCAUDIOFORMAT=mpegaudioparse
abitrate=`echo "$abitrate / 1000" | bc`
@ -120,7 +120,8 @@ case $mode in
exit
esac
ENCVIDEOFORMAT='h264parse ! video/x-h264,level=(string)'$h264_level',profile='$h264_profile
#ENCVIDEOFORMAT='h264parse ! video/x-h264,level=(string)'$h264_level',profile='$h264_profile
ENCVIDEOFORMAT='video/x-h264,profile='$h264_profile
VIDEOFORMAT=$VIDEO', framerate='$framerate', width='$width', height='$height
AUDIOFORMAT=$AUDIO', '$afid' endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)'$audiorate', channels=(int)'$channels
@ -135,15 +136,16 @@ AUDIOSRC="fdsrc fd=0 do-timestamp=true"
( echo "audio sink ctr isaudio $audiosink" ) | \
/bin/nc $SNOWMIX_IP $SNOWMIX_PORT | \
(head -1
#queue !\
#queue !\
$gstlaunch -v \
$VIDEOSRC !\
$VIDEOFORMAT !\
queue !\
$VIDEOCONVERT !\
$videoencoder !\
$ENCVIDEOFORMAT !\
tee name=encvid ! \
queue !\
queue ! \
mux. $AUDIOSRC !\
$AUDIOFORMAT !\
audioconvert ! audioresample ! audiorate ! \
@ -154,9 +156,9 @@ AUDIOSRC="fdsrc fd=0 do-timestamp=true"
flvmux streamable=true name=mux !\
tee name=mirror !\
queue !\
fakesink \
rtmpsink location="$location" \
encvid. ! rtph264pay config-interval=1 pt=96 ! udpsink host=janus port=8004 \
mirror. ! queue ! tcpserversink port=20001 host=0.0.0.0
exit 1
)
#rtmpsink location="$location" \
#fakesink \