DVB streaming a VideoLAN VLC
April 2nd, 2007Pro streamování DVB přes sít je možné použít různý software. Pokusím se popsat, jak rozjet streamovaní za pomoci programu VideoLAN VLC. Pro zjednodušení rozeberu způsob pro HTTP streaming. U DVB-T pak streaming dvou kanálů současné (ČT1 a ČT2 z pražského ČRA multiplexu – program ID 0×0001 – CT1 a 0×0002 – CT2). V multiplexu jich je víc, ale nastavení je obdobné.

Scan programů ČRA multiplexu v Praze vypadá následovně:
0x0000 0x0004: pmt_pid 0x0000 CRa -- CT SPORT (running)
0x0000 0x000a: pmt_pid 0x0000 CRa -- CRo1-Radiozurnal (running)
0x0000 0x000b: pmt_pid 0x0000 CRa -- CRo2-Praha (running)
0x0000 0x000c: pmt_pid 0x0000 CRa -- CRo3-Vltava (running)
0x0000 0x000d: pmt_pid 0x0000 CRa -- CRo4-Radio Wave (running)
0x0000 0x000e: pmt_pid 0x0000 CRa -- CRo D-dur (running)
0x0000 0x000f: pmt_pid 0x0000 CRa -- CRo Leonardo (running)
0x0000 0x0010: pmt_pid 0x0000 CRa -- CRo Radio Cesko (running)
0x0000 0x03e8: pmt_pid 0x0000 (null) -- Aplikace MHP (running, scrambled)
0x0000 0x0001: pmt_pid 0x0000 CRa -- CT 1 (running)
0x0000 0x0002: pmt_pid 0x0000 CRa -- CT 2 (running)
0x0000 0x0003: pmt_pid 0x0000 CRa -- CT 24 (running)
0x0000 0x0005: pmt_pid 0x0000 CRa -- NOVA (running)
VLC a parametry z příkazové řádky
Nejrychlejším způsob, jak spustit streamování, je za pomoci parametrů z příkazové řádky.
vlc -vvv --color --intf dummy --sout-standard-mux=ts --programs=1,2 \
dvb-t:adapter=0:frequency=506000000:bandwidth=8 --sout \
'#duplicate{dst=std{access=http,url=*:8081},select="program=1", \
dst=std{access=http,url=*:8082},select="program=2"'
VLM
Konfigurace streamingu přes VLM zabere více času. Odměnou je jednodušší správa streamovaných kanálu a možnost vzdáleného ovládání přes http/telnet interface. Je třeba vytvořit konfigurační soubor vlm.conf.
vlm.conf
new T_CRA broadcast enabled
setup T_CRA input dvb-t:adapter=0:frequency=506000000:bandwidth=8
setup T_CRA output #duplicate{dst=std{access=http,mux=ts,url=*:8081},
select="program=1",dst=std{access=http,mux=ts,url=*:8082},select="program=2"}
setup T_CRA option dvb-adapter=0
setup T_CRA option dvb-transmission=8
setup T_CRA option dvb-guard=8
setup T_CRA option dvb-hierarchy=-1
setup T_CRA option dvb-modulation=64
setup T_CRA option ts-es-id-pid
setup T_CRA option programs=1,2
control T_CRA play
VLC pak spouštet následovně.
vlm_start.sh
#!/bin/bash
vlc --intf http -vvv --color --vlm-conf vlm.conf
Test funkčnosti
Funkčnost lze ověřit otevřením webové stranky http://127.0.0.1/ v prohlížeči a následně za pomoci další instance VLC a otevřením adresy streamu přes GUI, příp. mplayerem.
mplayer http://127.0.0.1:8081/
mplayer http://127.0.0.1:8082/