Streamování DVB-T TV signálu přes LAN

Stáhnout jako PDF autor: Johny, archiv, dne 8.12.2010


Jsem majitelem multimediálního přehrávače Popcorn Hour který bohužel nemá TV tuner. Kdyby přehrávač nebyl nainstalován v bývalém protiatomovém krytu, tak jsem koupil něco co tuner má – bohužel v podzemí není DVB-T signál a ani není lehké jej tam dostat. Řešením je streamování TV ze serveru…

Začal jsem tedy pátrat jaké zařízení by umělo do sítě pokud možno, bezobslužně, streamovat TV signál. Po jistém procházení fór mi byl doporučen zajímavý výrobek – eyetv netstream. Po prohlédnutí parametrů to byl jasný favorit. Bohužel, jedno a dost zásadní neumí – údajně z něj nejdou žádné normální streamy, dá se na něj dívat pouze přes speciální „exe“ aplikaci. Bohužel, je mi líto že takto hezká věc je takto „windowsácky“ omezená…

Rozhodl jsem se na streamovač vlastní výroby. Jako streamovací stroj byl zvolen postarší vyřazený notebook. Jako distribuci jsem zvolil Kubuntu 10.10, instalační CD mi totiž zrovna leželo po ruce. Po nainstalování, vyhození KDM po startu a nastavení sítě jsem doinstalovat ještě:

aptitude install dvb-apps dvbsnoop dvbstream mumudvb apache2

Můj DVB USB tuner se hlásí pak jako

Bus 001 Device 002: ID 0413:6f00 Leadtek Research, Inc. WinFast DTV Dongle (STK7700P based)

a je podporován. Není třeba nic nastavovat. Hned na řadu přišlo ladění –

w_scan -f t -c CZ -X > channels.conf

Po chvilce scannování na mě vypadl seznam stanic a kanálů (sem dávám pouze 1 a 2 multiplex) chytám pouze vysílač Cukrák:

NOVA CINEMA(CESKE RADIOKOMUNIKACE):634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:401:411:514
 NOVA(CESKE RADIOKOMUNIKACE):634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:101:111:513
BARRANDOV TV(CESKE RADIOKOMUNIKACE):634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:301:311:2049
Prima COOL(CESKE RADIOKOMUNIKACE):634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:501:511:770
PRIMA(CESKE RADIOKOMUNIKACE):634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:201:211:769
CT 1(Ceska televize):730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:257:273:257
CT 2(Ceska televize):730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:513:529:258
CT 24(Ceska televize):730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:769:785:259
CT 4(Ceska televize):730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1025:1041:260

Dále je třeba vytvořit konfigurák, je třeba upravit vždy frequenci v hlavičce multiplexu a pak „pnr“ kanálů – můj konfigurák cukrak.txt pak vypadá následovně:

http {port 8000;};
adapter 0 { dvb-t { frequency 634000000; bandwidth 8; transmission-mode auto; guard-interval auto;  hierarchy none;  modulation auto; };
  stream {name "NOVA CINEMA"; input {pnr 514;}; output-http {url /tv/NOVACINEMA;};};
  stream {name "NOVA"; input {pnr 513;}; output-http {url /tv/NOVA;};};
  stream {name "BARRANDOV TV"; input {pnr 2049;}; output-http {url /tv/BARRANDOVTV;};};
  stream {name "PRIMA COOL"; input {pnr 770;}; output-http {url /tv/PRIMACOOL;};};
  stream {name "PRIMA"; input {pnr 769;}; output-http {url /tv/PRIMA;};};
};

V konfiguráku jsem použil první multiplex s kanály které poskytují ČESKÉ RADIOKOMUNIKACE. Karta neumí současně zpracovávat víc jak jeden multiplex. Plánuji že dokoupím ještě jeden tuner a ten bude zpracovávat multiplex veřejnoprávní televize.

Vytvořil jsem si script který zapne streamování:

#!/bin/bash
getstream -c /opt/dvb/cukrak.conf &

a script na ukončení:

#!/bin/bash
killall getstream

Scripty jsem nastavil do aktuálního runlevelu. Uvidíme jak to bude chodit.

Teď když se chci na stream podívat z mého počítače, stačí zadat příkaz:

johny@c8:~$ mplayer http://dvb2.podoli.czf:8000/tv/NOVA
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team

Playing http://dvb1.podoli.czf:8000/tv/NOVA.

Connecting to server dvb2.podoli.czf[IP]: 8000...
Cache size set to 320 KBytes
Cache fill:  0.00% (0 bytes)
TS file format detected.
VIDEO MPEG2(pid=101) AUDIO MPA(pid=111) NO SUBS (yet)!  PROGRAM N. 513
Stream not seekable!
VIDEO:  MPEG2  720x576  (aspect 2)  25.000 fps  15000.0 kbps (1875.0 kbyte/s)
...
... a už to hraje ... :)
...

Super je, že lze současně koukat na jakoukoliv z uvedených stanic, i když DVB tuner který mám patří mezi ty levné tak s tím není problém. Zkoušel jsem stream zobrazit současně na 5 stanicích a vytížení procesoru na streamovacím mptenppku je pouze cca 4%. Notes je v konfiguraci Core2 CPU, T5600 @ 1.83GHz, 4GB ram.

Pokud to nebude zlobit, rád bych notes přesunul na půdu našeho baráku. Bude mít lepší signál z antény a nebude mi tu hučet ;-) Hurá, od teď si mohu na mém Popcorn Hour pouštět telku!

Jako důkaz že to běhá, na závěr přikládám záznam streamu…

mplayer http://dvb2.podoli.czf:8000/tv/NOVA -dumpstream -dumpfile nova1.mpg

A záznamy jsou k shlédnutí:

Něco z novy a něco z TV Prima

Johny


Štítky tohoto článku:

 


 
Diskuze: Streamování DVB-T TV signálu přes LAN
Vaše jméno (povinné)
Váš email (nebude zveřejněn, povinný)
WEB (bude zveřejněn, pište s http://)
Text vzkazu:
Kolik je 3×2? (ochrana proti spamu)
 
[CNW:Counter]