DVB Howto
Řádka 1: | Řádka 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Obecné informace == | == Obecné informace == | ||
Verze z 10. 7. 2009, 05:10
Obsah |
Obecné informace
Tento návod obsahuje informace jako si nainstalovat DVB pro koncového uživatele a následnÄ streamovat do sÃtÄ pomocà VLS.
PÅed koupenÃm DVB karty by jste se nejprve mÄli pÅesvÄdÄit, že je tato karta skutoÄnÄ v seznamu podporovaných DVB karet, ktoré můžete nájÃt napÅ. zde
Pro zakoupenà karty je důležité zjistit Äip a výrobce, aby jsme vÄdÄli jaké ovladaÄe na nÄ máme použÃt.
Může nám pomoci výstup z pÅÃkazu: lspci
Důležité jsou Åádky:
Multimedia video controller: ... Multimedia controller: ...
Kernel 2.6.
Pokud máte nový pÅekompilovaný kernel, tak nejprve ovÄÅte zda je pro vaÅ¡i kartu dostupný modul a pÅÃpadnÄ ho zaveÄte.
# lsmod # modprobe
Pokud kernel kompilujete sami, najdete všechny podporované karty v
Device Drivers -> Multimedia Devices -> Digital Video Broadcasting Devices
NáslednÄ, po úspeÅ¡ném zavedenà modulu, by sa mÄlo vytvoÅit nové zaÅÃzenÃ.
/dev/dvb/adapter0/
Pokud jste tento adresáŠpo zavedenà modulu neobjevili, tak nÄco neprobÄhlo správnÄ. Podotýkam, že nenà potÅeba vytváÅet ho ruÄnÄ, vytvoÅà se automaticky sám. V pÅÃpadÄ problémů sa zkuste podÃvat do dmesg logu, kde by mÄla být pÅÃÄnina neůspÄÅ¡ného zavedenÃ.
Prvnà použità DVB tools
V prvnà ÅadÄ si musÃte samotný balÃk dvb-utils nainstalovat. V debianu pomocà pÅÃkazu:
# apt-get install dvb-utils
Prvnà krok je proskenovat stanice, které jsme schopni prijÃmat. V různých distribucÃch můžeme najÃt program, který je souÄástà právÄ zmiÅovaných dvb-utils. NapÅ.
scan, scandvb,dvbscan
Program ale musà samozrejmÄ vÄdÄt informace o kanálech pro naÅ¡i lokaci. Tyto může zÃsktat ze souborů, které jsou souÄástà vÄtÅ¡iny distribuÄnÃch balÃků. Můžeme je najÃt napÅ. v
/usr/share/doc/dvb-utils/examples/scan/dvb-t/
Soubor který hledáme by mÄl mÃt formát cc-Ttttt, kde cc je kód zemÄ a Ttttt je jméno vysÃlaÄe pro danou oblast.
# scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/cz-CRa
Pokud uvidÃte, že výstup dává smysl, vytvoÅte soubor s kanály
# mkdir /root/.tzap # scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/cz-CRa > /root/.tzap/channels.conf
To, že sa vam podaÅà proskenovat stanice jeÅ¡tÄ neznamená, že můžete nÄco pÅijÃmat. Jeden Åádek v channels.conf by mÄl vypadat napÅ. takto:
CTSPORT:506000000:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1025:1041:4
Prvnà informace je název kanálu, druhá je frekvence atd.
Pokud chceme nÄjaký kanál naladit a oveÅit, zda má náš pÅijÃmaÄ dostateÄný signál, udÄláme to použitim programu tzap:
# tzap 24cz using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 778000000 Hz video pid 0x040f, audio pid 0x040e status 1f | signal 5100 | snr 6200 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 5100 | snr 6200 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal 5100 | snr 6200 | ber 00000000 | unc 00000000 | FE_HAS_LOCK# ...
Ne vÅ¡echny ÄÃsla musà být implementované ve vaÅ¡ich driverech, ale dobrý signál je > 8000, status 1f (vÅ¡etky bity nastavené), srn (pomÄr signálu k Å¡umu) by mÄl být> 8000, ber (úroveÅ chybovosti) ÄÃm menÅ¡Ã, tÃm lepÅ¡Ã, unc (neopraviteľné bloky) ÄÃm menÅ¡Ã, tÃm lepÅ¡Ã.
Utility
dvbtraffic, dvbdata â zobrazà informace, které pÅicházà na každý kanál. UžiteÄné pÅi ladÄnÃ.
dvbsoop â splÅuje stejnou funkci, má ale vÃce možnostà než dvbtraffic.
dvbstream â program na uloženà streamu napÅ. do souboru.
Streamovanie pomocou VLS
VideoLAN server. Domovská stránka http://www.videolan.org.
Na nainstalovánà VLS potÅebujeme nÄkteré dodateÄné knihovny.
# libdvbpsi # libdvb
Pokud máte nainstalované tyto knihovny, zkuste si stahnout samotný VLS a nainstalovat.
NapÅ.
# tar -xvzf videolan-server.tar.gz # ./configure --enable-dvb âwith-dvb=CESTA_K_OVLADACOM --with-libdvb=CESTA_K_LIBDVB # make # make install
Konfigurák vls.cfg
VLS konfiguraÄnà soubor je rozdÄlený do sekcà a každá sekce může obsahovat nÄkolik promÄnných.
BEGIN "FirstSection" Variable1 = "value1" Variable2 = "value2" [...] END BEGIN "SecondSection" Variable1 = "value1" Variable3 = "value3" [...] END [...]
PÅÃkladný konfigurák s komentáÅi
NajlepÅ¡Ã teorie je praxe, takže následuje Äást pÅÃkladného konfiguráku s komentáÅi.
## Sekce Vls sloužà k urÄenà obecných nastavenÃ, napÅ. logovánà BEGIN "Vls" LogFile = "vls.log" # logovacà soubor ScreenLog = "enable" # logovánà do konzole povoleno SystemLog = "disable" # logovánà do systemlog zakázané END ## Sekce Groups â sloužà na definovánà skupin uživatelů a jejich práv BEGIN "Groups" monitor = "help|browse|logout" master = "help|browse|start|resume|suspend|stop|shutdown|logout|config|program|input|channel|show" END ## Sekcia Users â sloužà na definovánà uživatelů s právy do administraÄnÃho rozhranÃ. ##Hesla musà být zakryptovánà v linuxu pomocà crypt, Äi mkpasswd. Ve windows musà být neÅ¡ifrované. BEGIN "Users" monitor = "FtoBbPepmlbRs:monitor" cooler = "1DNOHM5/7Gbac:master" END ## Sekcia Telnet â konfigurácia telnet rozhrania BEGIN "Telnet" Domain = "Inet6" # Inet4 alebo Inet6 LocalPort = "9999" # ÄÃslo portu END ## Sekce inputs na definovánà vstupů BEGIN "Inputs" dvb0 = "dvb" # DVB karta ÄÃslo 1 dvb1 = "dvb" # DVB karta ÄÃslo 2 END ## Definice sekcà definovaných v Inputs BEGIN "dvb0" DeviceNumber = "0" # /dev/dvb/adapter ÄÃslo zariadenia SendMethod = "0" # 0 â PosÃlá vÅ¡echny PID, 1 â PosÃlá jen MPEG2 data END BEGIN "dvb1" DeviceNumber = "1" SendMethod = "0" END ## Definice vysÃlaných kanálů BEGIN "Channels" multicast1 = "network" # definujeme kanál vysÃlaný multicastem client2 = "network" # a kanál vysÃlaný na unicast (jeden host) END ## Definice multicast1 a client2 BEGIN "multicast1â Type = "multicast" # typ je multicast TTL = "10" # Time To Live DstHost = "239.194.10.11" # multicastová cÃlová adresa DstPort = "1234" # cÃlový port END BEGIN "client2" DstHost = "147.32.127.214" DstPort = "11111" END ## Definovánà proÅadů které se pÅi startu spustà BEGIN "LaunchOnStartUp" command1 = "start CT1 multicast1 dvb0 ârtp" command2 = "start OCKO-TV client2 dvb1 ârtp" END
Zdroje informacÃ
www.linuxtv.org
www.videolan.org
root@dvb.sh.cvut.cz
Rastislav Macko (cooler)