channel
channel nameChaosZone TV
statusconfirmed
playout slug (CDN)chaoszone
managed_byChaosZone TV Studio
gema_schedule(2x4h DJ-Set, Tag 3 ab 23:30 Uhr)
dect1 663
contactsnilo
ingest_typevia MCR
recording_typemanual
releasing_typehttp-tracker
schedule_roomChaosZone TV Stream
commentc3lingo-embed durch MCR
studio
nameChaosZone TV Studio
locationHalle (Saale)
live
preproduction
remote_speakers
contactsnilo
mailrc3@chaoszone.tv
dect1 541
full_remote_operationja
plz06112
geo
engelsystem_usernamesnilo

Browser, können oft maximal 6 Verbindungen – kann man bei Firefox via about:config Option network.http.max-persistent-connections-per-server entsprechend hochsetzen.

multiview-monitor

mit i3 und mpv bei der froscon16

~/.config/mpv/mpv.conf

hwdec=auto

start-streams-vertical.sh

#!/bin/bash
export DISPLAY=:0
i3-msg workspace mpv

mpv --no-audio --really-quiet rtmp://10.73.1.3:1935/stream/s1_native_hd &
P1=$?
i3-msg splith
sleep 3
mpv --no-audio --really-quiet rtmp://10.73.2.3:1935/stream/s2_native_hd &
P2=$?
sleep 3
mpv --no-audio --really-quiet rtmp://10.73.3.3:1935/stream/s3_native_hd &
P3=$?
sleep 3
mpv --no-audio --really-quiet rtmp://10.73.4.3:1935/stream/s4_native_hd &
P4=$?
sleep 10

i3-msg focus parent
sleep 3
i3-msg splitv
sleep 3

mpv --no-audio --really-quiet rtmp://10.73.5.3:1935/stream/s5_native_hd &
P5=$?
sleep 10
i3-msg splith
mpv --no-audio --really-quiet rtmp://10.73.6.3:1935/stream/s6_native_hd &
P6=$?
sleep 10
mpv --no-audio --really-quiet rtmp://10.73.7.3:1935/stream/s7_native_hd &
P7=$?
read

kill -9 $P1
kill -9 $P2
kill -9 $P3
kill -9 $P4
kill -9 $P5
kill -9 $P6
kill -9 $P7
export DISPLAY=:0 
chromium --new-window https://streaming.media.ccc.de/foss4g-2016/schedule 
chromium --new-window  --disable-web-security --user-data-dir index.html

(Chromium wegen Hardwarebeschleunigung, index.html ist modifizierte version von voc.marudor.de bei der die zweite Hälfte der Streams von live.dus.c3voc.de gezogen wird um das 6er connection limit pro Server zu umgehen.)

Zwischen i3 workspaces hin und her schalten

while /bin/true; do for i in 1 3; do i3-msg workspace $i; sleep 10; done; done 

mit ffmpeg

#/bin/bash
o='rtmp://127.0.0.1/stream/loudness'

for i in s{1,2,3,4,5,6,41,42}
do
	if [[ ! -e /tmp/fifo${i} ]];
	then
		mkfifo /tmp/fifo${i};
	fi

	ffmpeg -hide_banner -v warning -y \
		-i "http://cdn.c3voc.de/${i}_native_sd.webm" \
		-filter_complex "nullsrc=size=640x840 [base];
       			[0:v] scale=640:360, fps=15 [scaled];
			[0:a] ebur128=video=1:meter=18:size=640x480 [ebur][a1];
			[ebur] fps=15 [v1];
			[a1] aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo [audio];
			[base][v1] overlay=shortest=1 [tmp1];
			[tmp1][scaled] overlay=shortest=1:y=480 [ov];
			[ov] drawtext=fontcolor=white:x=200:y=50:fontsize=128:fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf:text=${i} [out]" \
		-map "[out]" -c:v rawvideo -pix_fmt yuv420p \
		-map "[audio]" -c:a pcm_s16le \
		-f matroska "/tmp/fifo${i}" &
	#echo $! > /tmp/fifo${i}.pid	
done

ffmpeg -hide_banner -v warning -y -fflags +genpts -flags +global_header \
	-thread_queue_size 1024 -i /tmp/fifos1 \
	-thread_queue_size 1024 -i /tmp/fifos2 \
	-thread_queue_size 1024 -i /tmp/fifos3 \
	-thread_queue_size 1024 -i /tmp/fifos4 \
	-thread_queue_size 1024 -i /tmp/fifos5 \
	-thread_queue_size 1024 -i /tmp/fifos6 \
	-thread_queue_size 1024 -i /tmp/fifos41 \
	-thread_queue_size 1024 -i /tmp/fifos42 \
	-filter_complex "
		[0:a][1:a][2:a][3:a][4:a][5:a][6:a][7:a] amix=inputs=8 [audio];
		nullsrc=size=2560x1680 [base];
		[base][0:v] overlay=shortest=1 [tmp1];
		[tmp1][1:v] overlay=shortest=1:x=640 [tmp2];
		[tmp2][2:v] overlay=shortest=1:x=1280 [tmp3];
		[tmp3][3:v] overlay=shortest=1:x=1920 [tmp4];
		[tmp4][4:v] overlay=shortest=1:x=0:y=840 [tmp5];
		[tmp5][5:v] overlay=shortest=1:x=640:y=840 [tmp6];
		[tmp6][6:v] overlay=shortest=1:x=1280:y=840 [tmp7];
		[tmp7][7:v] overlay=shortest=1:x=1920:y=840, fps=15 [out]" \
	-map "[out]" -s 1280x800 \
	-c:v libx264 \
	-maxrate:v:0 2000k -bufsize:v:0 8192k -crf:0 21 \
	-pix_fmt:0 yuv420p -profile:v:0 main -g:v:0 15 \
	-preset:v:0 veryfast \
	-map "[audio]" \
	-c:a aac -b:a 96k -ar 44100 \
	-y -f flv ${o}

killall ffmpeg
exit
2020/12/06 17:22 · andi
  • multiview.1609073387.txt.gz
  • Last modified: 2020/12/27 13:49
  • by andi