DVB Howto
Řádka 1: | Řádka 1: | ||
− | == | + | http://www.textliaclida.com |
+ | == Obecné informace == | ||
− | Tento | + | 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 | + | 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 video controller: ... | ||
Řádka 19: | Řádka 20: | ||
== Kernel 2.6. == | == Kernel 2.6. == | ||
− | Pokud | + | 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 | # lsmod | ||
# modprobe | # modprobe | ||
− | Pokud kernel kompilujete sami, najdete | + | Pokud kernel kompilujete sami, najdete vÅ¡echny podporované karty v |
Řádka 30: | Řádka 31: | ||
− | + | NáslednÄ, po úspeÅ¡ném zavedenà modulu, by sa mÄlo vytvoÅit nové zaÅÃzenÃ. | |
/dev/dvb/adapter0/ | /dev/dvb/adapter0/ | ||
− | Pokud jste tento | + | 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 | + | V prvnà ÅadÄ si musÃte samotný balÃk dvb-utils nainstalovat. V debianu pomocà pÅÃkazu: |
# apt-get install dvb-utils | # 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''' | '''scan, scandvb,dvbscan''' | ||
− | Program ale | + | 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/ | /usr/share/doc/dvb-utils/examples/scan/dvb-t/ | ||
− | Soubor | + | 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 | # scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/cz-CRa | ||
− | Pokud | + | Pokud uvidÃte, že výstup dává smysl, vytvoÅte soubor s kanály |
# mkdir /root/.tzap | # mkdir /root/.tzap | ||
# scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/cz-CRa > /root/.tzap/channels.conf | # scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/cz-CRa > /root/.tzap/channels.conf | ||
− | To, | + | 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 | 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 | + | 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 | # tzap 24cz | ||
Řádka 76: | Řádka 77: | ||
... | ... | ||
− | Ne | + | 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Å¡Ã. |
Řádka 82: | Řádka 83: | ||
== Utility == | == Utility == | ||
− | '''dvbtraffic, dvbdata''' | + | '''dvbtraffic, dvbdata''' â zobrazà informace, které pÅicházà na každý kanál. UžiteÄné pÅi ladÄnÃ. |
− | '''dvbsoop''' | + | '''dvbsoop''' â splÅuje stejnou funkci, má ale vÃce možnostà než dvbtraffic. |
− | '''dvbstream''' | + | '''dvbstream''' â program na uloženà streamu napÅ. do souboru. |
'''Streamovanie pomocou VLS''' | '''Streamovanie pomocou VLS''' | ||
− | VideoLAN server. | + | VideoLAN server. Domovská stránka http://www.videolan.org. |
− | Na | + | Na nainstalovánà VLS potÅebujeme nÄkteré dodateÄné knihovny. |
# libdvbpsi | # libdvbpsi | ||
# libdvb | # libdvb | ||
− | Pokud | + | Pokud máte nainstalované tyto knihovny, zkuste si stahnout samotný VLS a nainstalovat. |
− | + | NapÅ. | |
# tar -xvzf videolan-server.tar.gz | # tar -xvzf videolan-server.tar.gz | ||
− | # ./configure --enable-dvb | + | # ./configure --enable-dvb âwith-dvb=CESTA_K_OVLADACOM --with-libdvb=CESTA_K_LIBDVB |
# make | # make | ||
# make install | # make install | ||
− | == | + | == Konfigurák vls.cfg == |
− | VLS | + | VLS konfiguraÄnà soubor je rozdÄlený do sekcà a každá sekce může obsahovat nÄkolik promÄnných. |
BEGIN "FirstSection" | BEGIN "FirstSection" | ||
Řádka 125: | Řádka 126: | ||
− | == | + | == 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 | + | ## Sekce Vls sloužà k urÄenà obecných nastavenÃ, napÅ. logovánà |
BEGIN "Vls" | BEGIN "Vls" | ||
− | LogFile = "vls.log" # | + | LogFile = "vls.log" # logovacà soubor |
− | ScreenLog = "enable" # | + | ScreenLog = "enable" # logovánà do konzole povoleno |
− | SystemLog = "disable" # | + | SystemLog = "disable" # logovánà do systemlog zakázané |
END | END | ||
− | ## Sekce Groups | + | ## Sekce Groups â sloužà na definovánà skupin uživatelů a jejich práv |
BEGIN "Groups" | BEGIN "Groups" | ||
monitor = "help|browse|logout" | monitor = "help|browse|logout" | ||
master = "help|browse|start|resume|suspend|stop|shutdown|logout|config|program|input|channel|show" | master = "help|browse|start|resume|suspend|stop|shutdown|logout|config|program|input|channel|show" | ||
END | END | ||
− | ## Sekcia Users | + | ## Sekcia Users â sloužà na definovánà uživatelů s právy do administraÄnÃho rozhranÃ. |
− | ##Hesla | + | ##Hesla musà být zakryptovánà v linuxu pomocà crypt, Äi mkpasswd. Ve windows musà být neÅ¡ifrované. |
BEGIN "Users" | BEGIN "Users" | ||
monitor = "FtoBbPepmlbRs:monitor" | monitor = "FtoBbPepmlbRs:monitor" | ||
cooler = "1DNOHM5/7Gbac:master" | cooler = "1DNOHM5/7Gbac:master" | ||
END | END | ||
− | ## Sekcia Telnet | + | ## Sekcia Telnet â konfigurácia telnet rozhrania |
BEGIN "Telnet" | BEGIN "Telnet" | ||
Domain = "Inet6" # Inet4 alebo Inet6 | Domain = "Inet6" # Inet4 alebo Inet6 | ||
− | LocalPort = "9999" # | + | LocalPort = "9999" # ÄÃslo portu |
END | END | ||
− | ## Sekce inputs na | + | ## Sekce inputs na definovánà vstupů |
BEGIN "Inputs" | BEGIN "Inputs" | ||
− | dvb0 = "dvb" # DVB karta | + | dvb0 = "dvb" # DVB karta ÄÃslo 1 |
− | dvb1 = "dvb" # DVB karta | + | dvb1 = "dvb" # DVB karta ÄÃslo 2 |
END | END | ||
− | ## Definice | + | ## Definice sekcà definovaných v Inputs |
BEGIN "dvb0" | BEGIN "dvb0" | ||
− | DeviceNumber = "0" # /dev/dvb/adapter<i> | + | DeviceNumber = "0" # /dev/dvb/adapter<i> ÄÃslo zariadenia |
− | SendMethod = "0" # 0 | + | SendMethod = "0" # 0 â PosÃlá vÅ¡echny PID, 1 â PosÃlá jen MPEG2 data |
END | END | ||
BEGIN "dvb1" | BEGIN "dvb1" | ||
Řádka 165: | Řádka 166: | ||
SendMethod = "0" | SendMethod = "0" | ||
END | END | ||
− | ## Definice | + | ## Definice vysÃlaných kanálů |
BEGIN "Channels" | BEGIN "Channels" | ||
− | multicast1 = "network" # definujeme | + | multicast1 = "network" # definujeme kanál vysÃlaný multicastem |
− | client2 = "network" # a | + | client2 = "network" # a kanál vysÃlaný na unicast (jeden host) |
END | END | ||
## Definice multicast1 a client2 | ## Definice multicast1 a client2 | ||
− | BEGIN " | + | BEGIN "multicast1â |
Type = "multicast" # typ je multicast | Type = "multicast" # typ je multicast | ||
TTL = "10" # Time To Live | TTL = "10" # Time To Live | ||
− | DstHost = "239.194.10.11" # | + | DstHost = "239.194.10.11" # multicastová cÃlová adresa |
− | DstPort = "1234" # | + | DstPort = "1234" # cÃlový port |
END | END | ||
BEGIN "client2" | BEGIN "client2" | ||
Řádka 181: | Řádka 182: | ||
DstPort = "11111" | DstPort = "11111" | ||
END | END | ||
− | ## | + | ## Definovánà proÅadů které se pÅi startu spustà |
BEGIN "LaunchOnStartUp" | BEGIN "LaunchOnStartUp" | ||
− | command1 = "start CT1 multicast1 dvb0 | + | command1 = "start CT1 multicast1 dvb0 ârtp" |
− | command2 = "start OCKO-TV client2 dvb1 | + | command2 = "start OCKO-TV client2 dvb1 ârtp" |
END | END | ||
− | ==Zdroje | + | ==Zdroje informacÃ== |
www.linuxtv.org | www.linuxtv.org |
Verze z 22. 5. 2009, 12:49
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)