Nemoc a ležení v pelechu bez TV mi vnuklo myšlenku, že bych TV mohl sledovat na notebooku po domácí síti. Ve skutečnosti mi prvotní myšlenku vnukl článek VLC a streamování DVB-T v domácí síti, nemoc byla až jako důvod proč to zkusit.
Nicméně postup dle článku se mi nezdařil. Ztroskotal jsem na tom, že v LTS verzi Ubuntu (12.04) už je knihovna libdvbpsi7, která se stará nějak o multiplex, nebo streamování či co. Výsledkem bylo, že to prostě nechodilo. Chyba se nevyskytuje v libdvbpsi8, ale ani po ruční kompilaci to nefungovalo. Ruční kompilace VLC taky nepomohla. Ale našel jsem někde v diskuzi odkaz na MuMuDVB.
Bohužel jsem se zbytečně trápil s verzí 1.6 z repozitáře. Bohužel, protože ta nepodporovala nastavení, která jsou vcelku pečlivě zanesena v dokumentaci. Až po stažení zdrojových kódů a kompilaci se stal zázrak. Mimo jiné se zázračně rozjela i autokonfigurace.
Nevím proč, ale nepodařilo se mi rozjet multicast, takže jsem se dal na unicast a nastavil vše ručně, protože automaticky se to sice nastavilo, ale sledování se mi nedařilo. K manuálnímu nastavení bylo třeba znát jen frekvence multiplexů a PID programů. Frekvence se dají zjistit:
w_scan -x > scan.txt
#------------------------------------------------------------------------------ # file automatically generated by w_scan # (http://wirbel.htpc-forum.de/w_scan/index2.html) #!20111203 1 0 OFDM CZ #------------------------------------------------------------------------------ # location and provider:# date (yyyy-mm-dd) : 2013-10-12 # provided by (opt) : # # T[2] [# comment] #------------------------------------------------------------------------------ T 474000000 8MHz 7/8 NONE QAM64 2k 1/32 NONE # UPC_DVBT T 482000000 8MHz 7/8 NONE QAM64 2k 1/32 NONE # UPC_DVBT T 490000000 8MHz 7/8 NONE QAM64 2k 1/32 NONE # UPC_DVBT T 498000000 8MHz 7/8 NONE QAM64 2k 1/32 NONE # UPC_DVBT T 506000000 8MHz 7/8 NONE QAM64 2k 1/32 NONE # UPC_DVBT T 514000000 8MHz 7/8 NONE QAM64 2k 1/32 NONE # UPC_DVBT
scan -o pids scan.txt > pids.txt
UPC Express (0x2712) 01: PCR == V V 0x0501 A 0x0502 TT 0x0503 CT 1 (0x2af9) 01: PCR == V V 0x044d A 0x044e (cze) TT 0x044f CT 2 (0x2afa) 01: PCR == V V 0x04b1 A 0x04b2 (cze) TT 0x04b3 CT 24 (0x2afb) 01: PCR == V V 0x0515 A 0x0516 (cze) 0x0517 (cze) TT 0x0518 CT sport (0x2afc) 01: PCR == V V 0x0579 A 0x057a (cze) 0x057b (cze) TT 0x057c CT D / CT art (0x2afd) 01: PCR == V V 0x05dd A 0x05de (cze) 0x05df (cze) TT 0x002a radio CRo Radiozurnal (0x2b0d) 02: PCR == A A 0x0713 (cze) radio CRo Dvojka (0x2b0e) 02: PCR == A A 0x071d (cze) radio CRo Vltava (0x2b0f) 02: PCR == A A 0x0727 (cze) radio Wave (0x2b10) 02: PCR == A A 0x0731 (cze) radio CRo D-dur (0x2b11) 02: PCR == A A 0x073b (cze) radio Junior (0x2b12) 02: PCR == A A 0x0745 (cze) radio CRo Jazz / Plus (0x2b13) 02: PCR == A A 0x074f (cze) Nova (0x2ee1) 01: PCR == V V 0x00d1 A 0x00d2 (CZE) 0x00d3 (CZE) TT 0x00d4 Nova Cinema (0x2ee2) 01: PCR == V V 0x0491 A 0x0492 (cze) TT 0x0493 Prima (0x2ee3) 01: PCR == V V 0x00e1 A 0x00e2 (cze) TT 0x00e3 Prima COOL (0x2ee4) 01: PCR == V V 0x04d1 A 0x04d2 (CZE) TT 0x04d3 Barrandov TV (0x2ee5) 01: PCR == V V 0x0151 A 0x0152 (CZE) 0x0153 (CZE) TT 0x0154 Ocko (0x2ee6) 01: PCR == V V 0x0161 A 0x0162 (cze) FANDA (0x2ee7) 01: PCR == V V 0x0481 A 0x0482 (cze) TT 0x0483 CT1 HD (0x32c9) 01: PCR == V V 0x07a1 A 0x07a2 (cze) TT 0x07a4 AC3 0x07a3 Nova HD (0x32ca) 01: PCR == V V 0x0831 A 0x0832 (cze) TT 0x0834 AC3 0x0833 Prima HD (0x32cb) 01: PCR == V V 0x0851 TT 0x0853 AC3 0x0852 CT2 HD (0x36b1) 01: PCR == V V 0x07b1 A 0x07b2 (cze) TT 0x07b3 CT sport HD (0x36b2) 01: PCR == V V 0x0791 A 0x0792 (cze) TT 0x0794 AC3 0x0793 HD+ (0x36b3) 01: PCR == V V 0x0971 A 0x0972 (CZE) Telka (0x3a99) 01: PCR == V V 0x0471 A 0x0472 (cze) TT 0x0473 POHODA - RELAX (0x3a9a) 01: PCR == V V 0x0981 A 0x0982 (cze) Slagr TV (0x3a9b) 01: PCR == V V 0x09d1 A 0x09d2 (cze) Smichov (0x3a9c) 01: PCR == V V 0x04a1 A 0x04a2 (cze) TT 0x04a3 Prima ZOOM (0x3a9d) 01: PCR == V V 0x04c1 A 0x04c2 (cze) regionalni televize.cz (0x3a9e) 01: PCR == V V 0x09c1 A 0x09c2 (eng) Prima love (0x3a9f) 01: PCR == V V 0x04b1 A 0x04b2 (cze) TT 0x04b3 Barrandov TV HD (0x3e81) 01: PCR == V V 0x0ab1 A 0x0ab2 (cze) Ocko Gold (0x3e82) 01: PCR == V V 0x01c1 A 0x01c2 (cze) Kino Svet (0x3e83) 01: PCR == V V 0x0191 A 0x0192 (cze) POHODA - REBEL (0x3e84) 01: PCR == V V 0x0921 A 0x0922 (cze) Fajnrock TV (0x3e85) 01: PCR == V V 0x0391 A 0x0392 rezerva (0x3e86) 01: PCR == V V 0x1c85 A 0x1c8f (eng)
Ve výsledku pro ČT1 v mém případě budou PID: 1101, 1102, 1103
Jednoznačné přiřazení frekvence ke kanálu ukáže například výsledek:
w_scan -M > channels.conf
Pak už jsem si jen připravil konfigurační soubor pro každý multiplex zvlášť (nebo aspoň to co mne potenciálně zajímá).
Takže nový konfigurační soubor pro frekvenci 474MHz dvb474.mumu má obsah:
freq=474 multicast=0 unicast=1 port_http=1234 ip_http=192.168.1.10 sap=0 card=0 ip=192.168.1.10 channel_next name=CT1 unicast_port=8001 pids=1101, 1102, 1103 ip=192.168.1.10 channel_next name=CT2 unicast_port=8002 pids=1201, 1202, 1203 ip=192.168.1.10 channel_next name=CT 24 unicast_port=8003 pids=1301, 1302, 1303, 1304 ip=192.168.1.10 channel_next name=CT sport unicast_port=8004 pids=1401, 1402, 1403, 1404 ip=192.168.1.10 channel_next name=CT D / CT art unicast_port=8005 pids=1501, 1502, 1503, 42
freq=482 multicast=0 unicast=1 port_http=1234 ip_http=192.168.1.10 sap=0 card=0 channel_next name=NOVA unicast_port=8001 pids=209, 210, 211, 212 channel_next name=NOVA CINEMA unicast_port=8002 pids=1169, 1170, 1171 channel_next name=Prima unicast_port=8003 pids=225, 226, 227 channel_next name=Prima COOL unicast_port=8004 pids=1233, 1234, 1235 channel_next name=Barandov TV unicast_port=8005 pids=337, 338, 339, 340 channel_next name=Ocko unicast_port=8006 pids=353, 354 channel_next name=FANDA unicast_port=8007 pids=1153, 1154, 1155
První část jsem někde obšlehl a funguje, tak jsem jí radši moc neměnil. Každopádně řešení je funkční a šlape relativně dobře i přes wifi, což je právě úzké hrdlo. Závisí na signálu. Ale vzhledem k tomu, že to mám spíš k tomu, aby mi tu něco běželo, když nevím, jestli se mi chce nebo nechce spát, tak mi to stačí ,) A tímhle zápiskem jsem si pojistil ztrátu konfiguračních souborů pro případ náhlé reinstalace systému, či jiných pohrom :) Nakonec vše vypadá nějak takhle:
xxxx@xxxxxxx ~ $ /usr/local/bin/mumudvb -d -c dvb474.mumu MuMuDVB Version 1.7.1 --- Build information --- Built with CAM support. Built without transcoding support. Built with ATSC support. Built with ATSC long channel names support. Built with support for DVB API Version 5. --------- Originally based on dvbstream 0.6 by (C) Dave Chapman 2001-2004 Released under the GPL. Latest version available from http://mumudvb.braice.net/ Project from the cr@ns (http://www.crans.org) by Brice DUBOST (mumudvb@braice.net) WARN: Unicast : You have enabled the support for HTTP Unicast. This feature is quite youg, please report any bug/comment Info: Main: channel next Info: Main: channel next Info: Main: channel next Info: Main: channel next Info: Main: channel next Info: Main: ========== End of configuration, MuMuDVB version 1.7.1 is starting ========== WARN: Main: Can't create /var/run/mumudvb/channels_streamed_adapter0_tuner0: No such file or directory WARN: Main: Can't create /var/run/mumudvb/channels_unstreamed_adapter0_tuner0: No such file or directory Info: Main: Streaming. Freq 474000 Info: Tune: Using DVB card "Afatech AF9013 DVB-T" tuner 0 Info: Tune: Tuning DVB-T to 474000000 Hz, Bandwidth: 8000000 Info: Tune: FE_STATUS: Info: Tune: FE_STATUS: Info: Tune: FE_HAS_SIGNAL : found something above the noise level Info: Tune: FE_HAS_CARRIER : found a DVB signal Info: Tune: FE_HAS_VITERBI : FEC is stable Info: Tune: FE_HAS_SYNC : found sync bytes Info: Tune: FE_HAS_LOCK : everything's working... Info: Tune: Event: Frequency: 474000000 Info: Tune: Bit error rate: 0 Info: Tune: Signal strength: 32175 Info: Tune: SNR: 120 Info: Tune: FE_STATUS: Info: Tune: FE_HAS_SIGNAL : found something above the noise level Info: Tune: FE_HAS_CARRIER : found a DVB signal Info: Tune: FE_HAS_VITERBI : FEC is stable Info: Tune: FE_HAS_SYNC : found sync bytes Info: Tune: FE_HAS_LOCK : everything's working... Info: Main: Card 0, tuner 0 tuned Info: Unicast: We open the Master http socket for address 192.168.1.10:1234 Info: Unicast: We open the channel 0 http socket address 192.168.1.10:8001 Info: Unicast: We open the channel 1 http socket address 192.168.1.10:8002 Info: Unicast: We open the channel 2 http socket address 192.168.1.10:8003 Info: Unicast: We open the channel 3 http socket address 192.168.1.10:8004 Info: Unicast: We open the channel 4 http socket address 192.168.1.10:8005 Info: Main: Diffusion 5 channels Info: Main: Channel number : 0, name : "CT1" service id 0 Info: Main: Multicast4 ip : :1234 Info: Main: Unicast : Channel accessible via the master connection, 192.168.1.10:1234 Info: Main: Unicast : Channel accessible directly via 192.168.1.10:8001 Info: Main: Channel number : 1, name : "CT2" service id 0 Info: Main: Multicast4 ip : :1234 Info: Main: Unicast : Channel accessible via the master connection, 192.168.1.10:1234 Info: Main: Unicast : Channel accessible directly via 192.168.1.10:8002 Info: Main: Channel number : 2, name : "CT 24" service id 0 Info: Main: Multicast4 ip : :1234 Info: Main: Unicast : Channel accessible via the master connection, 192.168.1.10:1234 Info: Main: Unicast : Channel accessible directly via 192.168.1.10:8003 Info: Main: Channel number : 3, name : "CT sport" service id 0 Info: Main: Multicast4 ip : :1234 Info: Main: Unicast : Channel accessible via the master connection, 192.168.1.10:1234 Info: Main: Unicast : Channel accessible directly via 192.168.1.10:8004 Info: Main: Channel number : 4, name : "CT D / CT art" service id 0 Info: Main: Multicast4 ip : :1234 Info: Main: Unicast : Channel accessible via the master connection, 192.168.1.10:1234 Info: Main: Unicast : Channel accessible directly via 192.168.1.10:8005
Přehrávání jednotlivých programů je možné třeba MPlayerem:
mplayer -cache 8192 http://192.168.1.10:8001
|