DVB-C

Betört hozzám is a digitális tévézés, a munkaállomásomra. Egyrész érdekelt a DVB, másrészt meg majd jó lesz valamire. :)

Linuxon a kódolt HD DVB-C beállítása olyan, hogy legalább 5 évet visszarepít az időben, majdnem a hőskorba, amikor még a kernel forrást olvasva választottunk hardvert, majd patcheltünk, forgattunk, libeket tgz forrásból upgradeltünk, debuggoltunk, levlistáztunk. Már ezért megérte, na! :)

A hardver kiválasztása 1 munkanap volt. Ez jórészt amiatt volt, hogy a DVB-C elég mostoha, a köznép inkább a DVB-S/T-ben nyomul, kevés és bizonytalan információ van közkézen, a kernel driverek forrásából néztem ki hogy mit tudnak. A nyertes a Mystique CaBiX-C2 lett, CI modullal, a német dvbshop-ból, 3 nap alatt megjött. Ez egy buta kártya, mindent átad a CPU-nak, de nem is kell ennél több, hiszen a videókártyák már tudják dekódolni a streamet. A kábelszolgáltató (comunique) Conax CAMot adott, nekik 4 napba telt "bekódolni" a kártyát.

Első lépésben a parancssoros w_scan-el kell legyártani az "inital tuning data"-t, ami úgy működik, hogy bruteforce-al próbál találni egy DVB transzpondert (adót). Ha egy megvan, már nyert ügy, mert a DVB egy streamben (NIT) minden transzpondere elérhetőségét hirdeti folyamatosan, így a többi már hamar meglesz. A generált fájl kb így néz ki, csak sokkal hosszabb:


# C[2] [freq] [sr] [fec] [mod]
C 642000000 6875000 AUTO    QAM64
C 802000000 6875000 AUTO   QAM256

Próbálkoztam mplayer-el, VLC-vel, xine-al, MeTv-vel, mire rájöttem, hogy a kódolást csak a VLC és a Kaffeine kezeli. VLC-vel verziófüggetlenül szaggat a hang és a kép, sok opció innen nem maradt (miért szereti bárki a VLC-t?? még *soha semmire* nem tudtam értelmesen használni azt a bughalmot!).

A Kaffeine a netről frissíti a ~/.kde/share/apps/kaffeine/scanfile.dvb fájlban tárolt "világ összes transzpondere"-listáját. A magyar DVB-T hálózat bennevan (MinDííígTV), de a Comunique persze nem volt, így kézzel kellett bemásolni a w_scan kimenetéből. A Kaffeine a "frekvenciatáblázat" alapján már könnyen megtalálja a csatornákat, természetesen névvel.

A HD esetemben H.264 videót és AC3 hangot jelent CBR-en kódolva, szumma ~12Mbps-en. Itt hamar kiderült, hogy a Kaffeine bizony nem használ VDPAU-t: proci nyélen, ventik maxon, szaggat. A Kaffeine alatt lévő Xine-lib igencsak mostohán támogatja a VDPAU-t: az 1.2-nek van egy olyan fejlesztői ága amiben benne, de az eddigi 3 éve alatt nem sikerült beolvasztani a mainline-ba. Fordítás, install, kinderspíl, a HD videó így már ~10% CPU-val döcög, de szó szerint: másképp, de megint szaggat.

Egy kis gugli és meg is lett az ihlet, hogy a ~/.kde/share/apps/kaffeine/xine-config fájlban az engine.buffers.video_num_buffers -t a default 500-ról minimum 1500-ra kell emelni, mostmár kúl, kúúúl!

Hátradőlés, elégedett kapcsolgatás a csatornák közt, erre egyszercsak lefagy a CAM, egyik kódolt csatorna se jön be. Csak a driver újratöltése oldja meg, ami nyilván vállalhatatlan. Előredőlés, levlisták - a népi gyógyászat az SMP kikapcsolását magasztalja, rajtam nem segített. Félmunkát nem végzek, nekifeszülök a kernelnek, driver tanulmányozás, SystemTap-al szimatolás, elég egyszerű alrendszer, első patchelés: azonnal siker, megvan a workaround!

Itt járok most, hátradőlve élvezem a munka gyümölcsét, bár igaz, hogy nem is szeretek tévézni, de most mégis, valahogy olyan jól esik.. ;) Stabil működés, EPG, timeshift, kényelmes időzített rögzítés, hangsávok, feliratok, HD, VDPAU: pipa!!

Már csak azon búsulok, hogy az EIZO monitorom csak 60Hz-et tud DVI-on, így a 25Hz-es adás elég "ideges" rajta, a scrollozós jelenetek "rángatóznak". Lehet lesz egy csere 50/75Hz-es monitorra, bár ha a józam eszemre hallgatok akkor hagyom a fenébe!

Komolyabb ismerkedéshez/tanuláshoz ajánlom a dvbsnoop-ot, amivel ízzé-porrá lehet szedni a streamet, kvázi tcpdump DVB-re. Ez már csábító, mi? ;)

Hozzászólások

"VLC-vel verziófüggetlenül szaggat a hang és a kép, sok opció innen nem maradt (miért szereti bárki a VLC-t?? még *soha semmire* nem tudtam értelmesen használni azt a bughalmot!)."

"Itt hamar kiderült, hogy a Kaffeine bizony nem használ VDPAU-t: proci nyélen, ventik maxon, szaggat."

Aha, de azért a vlc a szar. :) A fenti kérdésre: talán mert mások nem futnak bele ennyire súlyos hibákba. Van persze más jellegű dögivel, pl. volt (vagy talán még van is) egy olyan bug, hogy ha egy könyvtárban több .srt van, amiknek eltér a kódolása, akkor a vlc az összes feliratra ugyanazt a kódolást fogja alkalmazni, átállítani nem lehet. Nyilván ez egy rétegigény, ráadásul könnyen workaroundolható ezért emiatt még nem fognak átállni az emberek tömegesen más lejátszóra.
--
Don't be an Ubuntard!

Nekem kilepni nem tud ertelmesen, se a cvlc, se a sima. Mar megszoktam, hogy ha cvlc-vel megnezek egy filmet, akkor utana ctrl+c.
A kerdesre valaszolva: nem, nem neztem utana, mi baja, nem, nem jelentettem be a hibat. A VLC csak addig fog ezen a gepen lakni, amig sort nem keritek egy mplayer forditasi futamra.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Habár én DVB-T-t használok, a CAM miatt subscribe.
A frekvenciaprobléma egy eléggé ingoványos terület. Nekem nem szokott semmi gond lenni a 25/50 Hz-es műsorokkal 60 Hz-en.
A 23.976-osokkal annál inkább, de ezt az ember megszokja egy idő után, hiszen a TV-ben futó dolgok is ugyanígy néznek ki, ez a "filmes" megjelenés, pont emiatt utálják sokan a 24p módot, mert nem bírják nézni a "soap-opera-effektet".
Nem lehet, hogy a deinterlace algoritmusod nem megfelelő? Tapasztalataim szerint a Bob a legszebb/legolcsóbb gépigényű. Próbálgasd végig őket, hogy melyik a legsimább.

VLC tamogatja a VAAPI-t, igy azzal is elerheto hw-es h264 dekodolas nvidia platformon.
Nekem DVB-T-re megfelel...

"Betört hozzám is a digitális tévézés"
És mit vitt el? :)