2009. október 27., kedd

TV linux alatt

Pár napja volt némi szabadidőm és éppen a Windows 7 RC telepítő DVD-m is megkerült, így hát feltelepítettem kipróbálás céljából az MS legújabb OS-remekét. (Jópár éve XP felhasználó vagyok.)

A Windows 7 szép és jó. Nem kérdez hülyeségeket telepítés közben, s bár elég sokszor újraindította a gépet, mégis viszonylag hamar feltelepült. A működési sebessége sem észrevehetően lassabb az XP-nél. Már éppen azon voltam, hogy felrakom véglegesen az XP helyére, amikor rájöttem, hogy nekem nem is kell Windows, csupán azért, mert Linux alatt nem működik (nem tudom jól beállítani ;-P) a TV-tuner kártyámat. Régebben Pinnacle PCTV kártyám volt, az se működött alapból, most meg AverTV Super 007 típusú van.

Ha már úgyis belejöttem a telepítésbe, felraktam a Win7 helyére az Ubuntu 9.04-et, és láss csodát: se kép, se hang (mármint a tvben). Szerencsére van Google, és némi kísérletezés után a /etc/modules fájlba beírt "saa7134 card=117 tuner=54" sor félig megoldotta a problémám.

Azért csak félig, mert kép ugyan már volt, de hang nem. A hangerőszabályozóban minden eszközt bekapcsoltam, minden hangerőt maximumra állítottam, és semmi. Sajnos ezen a kártyán nincs "audio out" kivezetés, még belől a kártyán sem, úgyhogy más megoldást kellett találni.

Valahol javasolták a "tvtime | arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -" parancsot, ami már-már majnem jó, mert hang ugyan van, csak kicsit késik a képhez képest. A végső megoldást a hup.hu-n találtam, egy scriptet, íme:

#!/bin/bash
/usr/bin/tvtime $@ &
VIDEO_PID=$!
sleep 8
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay - &
AUDIO_PID=$!
wait $VIDEO_PID
kill $AUDIO_PID
exit 0


Ebben az a lényeg, hogy miután elindítja a tvtime-ot, vár a sleep-nél megadott ideig (amit ki kell kísérletezni), és így a kép passzol a hanghoz.

Végül csináltam neki egy parancsikont az asztalra:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Icon[hu_HU]=tvtime
Terminal=true
Exec=tv
Name[hu_HU]=tv
Name=tvtime
Icon=tvtime