DVB-T Linux alatt
Ezen az oldalon a DVB-T Linux alatti tapasztalataim írom le. Nyilván nem átfogó teszt, mivel egyetlen hardvert próbáltam ki, azt is csak a saját gépemen (vagyis egyetlen Linux disztribúció alatt), de remélhetően megspórol némi időt azoknak, akik hasonlóval kísérletezgetnek. (Vagy nekem, ha kis idő múlva már nem emlékszem, pontosan mi működött, és mi nem).
Az itt leírtak Mandriva 2010.0 disztribúcióra vonatkoznak. A hivatalos csomagokon kívül PLF csomagok is vannak a gépemen.
A leírás eredetileg 2010. februárjában készült, így a sugárzási adatok/táblázatok azóta már változhattak.
Hardver
Teszteléshez egy viszonylag olcsó, egyszerű, USB-s Alcor DTV-1000 DVB-T tuneret választottam.
A tuner pár jellemzője:
- Nagyra nőtt pendrive-ra hasonlít. Kicsi, de nem eléggé, így sajnos a szomszédos USB portokat sem tudjuk használni.
- Mindenhol kiemelik, hogy támogatja az MPEG-4/H.264 szabványt, így alkalmas a magyar DVB-T adás vételére. Ez egyrészt igaz, másrészt viszont mivel a hardvernek annyi csak a dolga, hogy a továbbadja a jelet a számítógépnek, így valójában a processzor végzi a dekódolást, hardveres támogatást nem nyújt.
- Adnak hozzá egy speciális csatlakozóval rendelkező botantennát.
- Átalakítóval "rendes" koax csatlakozójú antenna is csatlakoztatható.
- Afatech AF9015 chipre épül a tuner.
Installálás
Miután bedugtam egy szabad USB portra, a számítógép automatikusan betöltötte a szükséges kernel modulokat: mt2060, af9013, dvb_usb_af9015, dvb_usb, dvb_core.
Log alapján az is látszik, hogy a működéséhez szükség van
firmware-re is. A
firmware-t /lib/firmware alkönyvtárba kell másolni. A
szükséges dvb-usb-af9015.fw fájl
én erről
a címről töltöttem le.
Csatornák keresése
Csatornák keresésénél alapvetően 2 módszer közül választhatunk:
vagy átvizsgáljuk a teljes frekvenciatartományt (w_scan
programmal),
vagy tudjuk melyik torony jeleit van esélyünk fogni, és csak azt
ellenőrizzük.
Mivel szerencsére dvb-apps csomag tartalmazza a magyar tornyok adatait (itt találhatunk arról információt, vajon melyik tornyot érdemes választani), így ezt a módszer választottam
scan /usr/share/dvb/dvb-t/hu-Budapest > channels.conf
Segítségül idemásolom a hu-Budapest és channels.conf tartalmát:
hu-Budapest
# Hungary / Budapest
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
# A1.multiplex UHF-55:
# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
# C.multiplex UHF-62:
# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
channels.conf
m1 HD:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1001:1002:100
m2 HD:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1011:1012:101
ATV:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1021:1022:102
HirTV:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1031:1032:103
Rádió DVB-T teszt 1:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:1041:104
Rádió DVB-T teszt 2:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:1051:105
Rádió DVB-T teszt 3:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:1061:106
Bootloader_A:746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:0:170
DunaTV HD:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2001:2002:200
Autonomia:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2011:2012:201
RTL Klub:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2021:2022:202
TV2:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2031:2032:203
Euronews EN Teszt:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2041:2042:204
Euronews FR Teszt:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2041:2045:205
Euronews GER Teszt:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:2041:2044:206
Utóbbi fájlban érdemes lehet az ATV, HírTV sorait törölni (mert ezek kódolt adások), a 3 Euronews sorból kettőt törölni (ugyanaz az adás 3 különböző nyelven), és esetleg a rádióadások sorai is törölhetőek.
Jelerősség
Ha nem sikerül a fenti módszerekkel behangolni a csatornákat, akkor jó eséllyel nem elég erős/tiszta a jel. A botantennát különböző irányokba elforgatva kísérletezhetünk, vagy használhatunk nagyobb antennát is. (Az igazi a tetőantenna.) Én egy beépített erősítővel rendelkező Hama szobaantennát is próbáltam, az csak akkor működött ha az erősítő be volt kapcsolva, de nem volt maximumra állítva
Ha sikerül a csatornákat behangolni, az persze nem jelenti azt, hogy nézni is tudjuk majd őket :-)
TV nézés
Legkönnyebben a vlc programmal megy a TV nézés:
vlc channels.conf
Csatornát a view/playlist segítségével válthatunk
Érdemes megjegyezni, hogy az SD (720x576) adások (TV2, RTL Klub, ...) dekódolásához nem kell túl erős processzor, de a HD (1440x1080) adások (m1, m2, ...) vételekor bizony nem árt.
Adás felvétele
Tekintve, hogy a jel eleve digitálisan érkezik, az adás könnyen
rögzíthető, és nagyon kevés erőforrás szükséges. Én a már korábban
említett dvb-apps csomag gnutv programját
használtam ehhez:
gnutv -channels channels.conf -out stdout "m1 HD" > teszt.ts
Az elmentett adás a sugárzásnak megfelelően MPEG-TS konténerben
lesz elmentve, a videó h264 kódolással, az audió kódolása
csatornafüggő. m1 például 2 hangsávot tartalmaz mp2 illetve ac3
kódolással, gnutv mindkét hangsávot rögzíti
A parancs nem túl sok információt ad felvétel közben, de pipe viewer segítségével látszik, hogy HD adás rögzítésekor kb. 820 kbyte/s, míg SD adás rögzítésekor kb. 240 kbyte/s sebességgel érkeznek az adatok. Ebből kiszámolható, hogy 1 órányi HD adás rögzítéséhez kb. 3GB hely szükséges.
Konvertálás
Tekintve, hogy a rögzített adat már megfelelő videó és audió kódolást használ, elvileg nem probléma az MPEG-TS konténer helyett valami más konténerbe (mp4, mkv, avi, ...) menteni az anyagot újrakódolás nélkül. A gyakorlatban ez nekem nem sikerült, pedig próbálkoztam a következőkkel: ffmpeg, transcode, mencoder, ts2ps,...
Ha nem gond az újrakódolás, akkor a következő paranccsal lehet (elég lassan) az előbbiekben elmentett HD adást matroska konténerbe konvertálni:
ffmpeg -threads 2 -i teszt.ts -map 0:0 -vcodec libx264 -vpre max -b 5000k -map 0:1 -acodec libfaac -ac 2 -ab 128k -ar 48000 teszt.mkv


