VLC mosaic config
VLC config files
Note: these configuration files are from the 31C3 event.
broadcast.conf
fetch 4 unicast streams and put them out as multicast
# cvlc --vlm-conf /home/xopr/Desktop/VLC/broadcast.conf # vlc rtp://@239.255.255.42:5004 new channel1 broadcast enabled #setup channel1 input "http://hls.stream.c3voc.de/hls/s1_native.m3u8" setup channel1 input "http://hls.stream.c3voc.de/hls/s1_native_sd.m3u8" setup channel1 output #rtp{mux=ts,dst=239.255.255.42,port=9001,sdp=sap://,name="Saal 1"} new channel2 broadcast enabled #setup channel2 input "http://hls.stream.c3voc.de/hls/s2_native.m3u8" setup channel2 input "http://hls.stream.c3voc.de/hls/s2_native_sd.m3u8" setup channel2 output #rtp{mux=ts,dst=239.255.255.42,port=9002,sdp=sap://,name="Saal 2"} new channel3 broadcast enabled #setup channel3 input "http://hls.stream.c3voc.de/hls/s3_native.m3u8" setup channel3 input "http://hls.stream.c3voc.de/hls/s3_native_sd.m3u8" setup channel3 output #rtp{mux=ts,dst=239.255.255.42,port=9003,sdp=sap://,name="Saal G"} new channel4 broadcast enabled #setup channel4 input "http://hls.stream.c3voc.de/hls/s4_native.m3u8" setup channel4 input "http://hls.stream.c3voc.de/hls/s4_native_sd.m3u8" setup channel4 output #rtp{mux=ts,dst=239.255.255.42,port=9004,sdp=sap://,name="Saal 6"} control channel1 play control channel2 play control channel3 play control channel4 play
saal_mosaic.conf
Pick up on the 4 multicast streams and put them in a mosaic
# run with # cvlc --vlm-conf /home/xopr/Desktop/VLC/saal_mosaic.conf --mosaic-width 1280 --mosaic-order "1,2,3,4" --mosaic-height 720 new channel1 broadcast enabled setup channel1 input "rtp://@239.255.255.42:9001" #setup channel1 output #mosaic-bridge{id=1,height=360,width=640} setup channel1 output #duplicate{dst=mosaic-bridge{id=1,height=360,width=640},select=video,dst=bridge-out{id=1},select=audio} new channel2 broadcast enabled setup channel2 input "rtp://@239.255.255.42:9002" #setup channel2 output #mosaic-bridge{id=2,height=360,width=640} setup channel2 output #duplicate{dst=mosaic-bridge{id=2,height=360,width=640},select=video,dst=bridge-out{id=2},select=audio} new channel3 broadcast enabled setup channel3 input "rtp://@239.255.255.42:9003" #setup channel3 output #mosaic-bridge{id=3,height=360,width=640} setup channel3 output #duplicate{dst=mosaic-bridge{id=3,height=360,width=640},select=video,dst=bridge-out{id=3},select=audio} new channel4 broadcast enabled setup channel4 input "rtp://@239.255.255.42:9004" #setup channel4 output #mosaic-bridge{id=4,height=360,width=640} setup channel4 output #duplicate{dst=mosaic-bridge{id=4,height=360,width=640},select=video,dst=bridge-out{id=4},select=audio} new mosaic broadcast enabled setup mosaic input "file:///home/xopr/Desktop/VLC/ACKbg-1280x720.jpg" setup mosaic option image-duration=-1 setup mosaic option image-fps=24/1 setup mosaic option mosaic-rows=2 setup mosaic option mosaic-cols=2 setup mosaic option mosaic-position=1 setup mosaic output #transcode{sfilter=mosaic,vcodec=mp2v,vb=500,scale=1}:bridge-in{delay=400,id-offset=100}:rtp{mux=ts,dst=239.255.255.42,port=5004,sap,name="Mosaic"} control channel1 play control channel2 play control channel3 play control channel4 play control mosaic play
files
notes and other info
- 4 HD streams were too heavy for my dual core hyperthreaded 2.4GHz laptop: it would glitch into an unintelligible paint blob
- using a VLM config file to open multiple streams with bandwith/cpu issues causes all streams to pause upon reconnecting a stream that went out of sync. Use a separate instance for each stream
- the RTP stream seems to emit some type of timecode, so multiple streams are fairly in sync. Picking up on the RTP streams to create an RTP mosaic will off course delay that mosaic
- In 2013, Xopr wrote an XBMC remote control script for streams to switch channels from within a console with just one keypress.
- Multicast streams didn't work on wifi (as expected), but even worse: multicast broke the wifi networks