|
|
|
Gigabyte GT-PTV-AF-RH тв тунер Работа под Линукс | Четвъртък, 15 Март 2007 Наскоро си закупих тв тунер Gigabyte GT-PTV-AF-RH. На сайта на производителя за този тунер не беше спомената никъде думата Линукс. Под Windows инсталацията на драйвери и софтуера от CD (PowerCinema и RemoteControl услугата) премина без проблем. Единственият проблем е със звука, който по някаква причина "гъгне". Инсталирах друг ТВ плейър - ChrisTV, но досадния проблем с неприятния звук остана. В крайна сметка не се зарових да търся кое точно предизвиква неприятния звук от тунера. Но да се върнем на същината на статията, а тя е - Как накратко успях да подкарам тунера под Линукс и по-точно (Fedora Core 6, Fedora 13).
Малко повече технически данни за тв тунера:
Цитат | Tuner: Philips TDA8275A Decoder chip: Philips SAA7131E Interface: PCI PCB size: Low profile with ATX bracket Analog TV: NTSC / PAL / SECAM FM radio: Yes Remote sensor Interface: IR Others: Supports Windows®XP MCE, ROHS model, |
Най-важната част от тези данни е, че тунера е аналогов, предназначен за PCI слота и неговия чип е Philips SAA7131E.
При първоначалното стартиране на машината под Linux dmesg ми изпечата това (частта, която се отнася за тунера):
Цитат | Feb 14 08:25:08 boyan7640 kernel: saa7130/34: v4l2 driver version 0.2.14 loaded Feb 14 08:25:08 boyan7640 kernel: ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 22 (level, low) -> IRQ 22 Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: found at 0000:02:02.0, rev: 209, irq: 22, latency: 32, mmio: 0xfb000000 Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: subsystem: 1458:9003, board: UNKNOWN/GENERIC [card=0,autodetected] Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: board init: gpio is c040000 Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 00: 58 14 03 90 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 03 08 ff 00 c2 ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 40: ff 22 00 c2 96 ff 02 30 15 50 ff ff ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: registered device video0 [v4l2] Feb 14 08:25:08 boyan7640 kernel: saa7133[0]: registered device vbi0 |
Това показва, че тв картата е непозната за v4l2 драйвера saa7134.
Започнах да ровя в google.com и къде ли не още и намерих значително количество информация. Част от страниците, които съм посетил са посочени най-отдолу в статията.
Указа се, че тв картата Gigabyte GT-PTV-AF-RH не е описана в saa7134 драйвера, но тя много наподобява Avermedia AVerTV GO 007 FM.
Реших да пробвам и за целта добавих следните редове в /etc/modprobe.conf (/etc/modprobe.d/saa7134.conf при Fedora 13):
Цитат | alias char-major-81 videodev alias char-major-81-0 saa7134 options saa7134 card=57 tuner=54 gbuffers=4 install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa # Fedora 13: #install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134_alsa |
Следва рестартиране на машината и dmesg, за да открием необходимата ни информация за тунера:
Цитат | Feb 15 23:39:29 boyan7640 kernel: saa7130/34: v4l2 driver version 0.2.14 loaded Feb 15 23:39:30 boyan7640 kernel: ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 22 (level, low) -> IRQ 22 Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: found at 0000:02:02.0, rev: 209, irq: 22, latency: 32, mmio: 0xfb000000 Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: subsystem: 1458:9003, board: Avermedia AVerTV GO 007 FM [card=57,insmod option] Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: board init: gpio is c040700 Feb 15 23:39:30 boyan7640 kernel: input: saa7134 IR (Avermedia AVerTV GO as /class/input/input3 Feb 15 23:39:30 boyan7640 kernel: FDC 0 is a post-1991 82077 Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 00: 58 14 03 90 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 03 08 ff 00 c2 ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 40: ff 22 00 c2 96 ff 02 30 15 50 ff ff ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Feb 15 23:39:30 boyan7640 kernel: tuner 1-004b: chip found @ 0x96 (saa7133[0]) Feb 15 23:39:30 boyan7640 kernel: tuner 1-004b: setting tuner address to 61 Feb 15 23:39:30 boyan7640 kernel: tuner 1-004b: type set to tda8290+75a Feb 15 23:39:30 boyan7640 kernel: tuner 1-004b: setting tuner address to 61 Feb 15 23:39:30 boyan7640 kernel: tuner 1-004b: type set to tda8290+75a Feb 15 23:39:30 boyan7640 kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0 Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: registered device video0 [v4l2] Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: registered device vbi0 Feb 15 23:39:30 boyan7640 kernel: saa7133[0]: registered device radio0 |
От сега нататък нашия Gigabyte GT-PTV-AF-RH за Линукс-а ни е Avermedia AVerTV GO 007 FM, т.е. карта номер 57 от поддържаните карти от saa7134 драйвера. За звука използваме доплълнителен модул saa7134-alsa (saa7134_alsa при Fedora 13).
От тук нататък започнах с конфигуриране на софтуери за гледане на телевизията (tvtime и mplayer). Няма да изпадам в подробности само ще дам най-важните настройки необходими за гледане на ефирна телевизия (по въздух - гр. София):
~/.tvtime/tvtime.xml
Цитат | <?xml version="1.0"?> <!DOCTYPE tvtime PUBLIC "-//tvtime//DTD tvtime 1.0//EN" "http://tvtime.sourceforge.net/DTD/tvtime1.dtd"> <tvtime xmlns="http://tvtime.sourceforge.net/DTD/"> <option name="DefaultBrightness" value="-1"/> <option name="DefaultContrast" value="-1"/> <option name="DefaultSaturation" value="-1"/> <option name="DefaultHue" value="-1"/> <option name="Norm" value="PAL"/> <option name="PrevChannel" value="1"/> <option name="Channel" value="2"/> <option name="FramerateMode" value="0"/> <option name="OverScan" value="3.5"/> <option name="CheckForSignal" value="1"/> <option name="AudioBoost" value="-1"/> <option name="AlwaysOnTop" value="0"/> <option name="QuietScreenshots" value="0"/> <option name="UnmuteVolume" value="20817"/> <option name="Muted" value="0"/> <option name="V4LInput" value="0"/> <option name="AudioMode" value="stereo"/> <option name="PalDKMode" value="0"/> <option name="Frequencies" value="custom"/><option name="FullScreen" value="0"/><option name="WideScreen" value="0"/><option name="DeinterlaceMethod" value="AdaptiveAdvanced"/></tvtime> |
~/.tvtime/stationlist.xml
Цитат | <?xml version="1.0"?> <!DOCTYPE stationlist PUBLIC "-//tvtime//DTD stationlist 1.0//EN" "http://tvtime.sourceforge.net/DTD/stationlist1.dtd"> <stationlist xmlns="http://tvtime.sourceforge.net/DTD/"> <list norm="PAL" frequencies="Custom" audio="bg"> <station name="Канал 1" active="1" position="1" band="Custom" channel="183.50MHz" finetune="0" norm="PAL" audio="auto"/> <station name="bTV" active="1" position="2" band="Custom" channel="511.50MHz" finetune="0" norm="PAL" audio="auto"/> <station name="NOVA" active="1" position="3" band="Custom" channel="591.50MHz" finetune="0" norm="PAL" audio="auto"/> <station name="GTV" active="1" position="4" band="Custom" channel="631.25MHz" finetune="0" norm="PAL" audio="auto"/> <station name="7 дни" active="1" position="5" band="Custom" channel="727.50MHz" finetune="0" norm="PAL" audio="auto"/> <station name="CTN" active="1" position="6" band="Custom" channel="742.75MHz" finetune="0" norm="PAL" audio="auto"/> </list> </stationlist> |
А това е скрипта, който използвам за стартиране на tvtime:
Цитат | #!/bin/bash # Boyan B. Boychev # Version 1.0
# # Configurations # TVTIME="/usr/bin/tvtime" SOX="/usr/bin/sox"
# # Actions #
$SOX -c 2 -s -w -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -w -r 32000 /dev/dsp & # Fedora 13: #$SOX -r 32000 -t alsa hw:1,0 -t alsa hw:0,0 & $TVTIME --mixer=/dev/mixer:pcm &
TVTIME_PID=$(/sbin/pidof tvtime) SOX_PID=$(/sbin/pidof sox)
wait $TVTIME_PID /usr/bin/kill $SOX_PID /usr/bin/amixer -c 0 sset PCM 80%,80% unmute |
Други варианти за подкарване на звука може да намерите описано на първия линк в края на статията.
При mplayer настройките са значително по-малко, но има допълнителни проблеми с активирането на screensaver-а, ако използвате такъв. Тук е даден пример с gnome-screensaver:
Цитат | #!/bin/bash # Boyan B. Boychev # Version 1.1
# # Configurations # MPLAYER="/usr/bin/mplayer" SCREENSAVER="/usr/bin/gnome-screensaver" SCREENSAVER_CMD="/usr/bin/gnome-screensaver-command"
# # Actions # $SCREENSAVER_CMD --exit &
$MPLAYER tv:// -tv \ driver=v4l2:\ device=/dev/video0:\ input=0:\ chanlist=europe-east:\ channels=R7-Канал_1,26-bTV,36-NOVA,41-GTV,53-7_дни,55-CTN:\ alsa:adevice=hw.1,0:\ amode=1:\ audiorate=32000:\ forceaudio:\ volume=100:\ immediatemode=0:\ norm=PAL &
MPLAYER_PID=$(/sbin/pidof mplayer)
wait $MPLAYER_PID $SCREENSAVER & |
И малко настройки за смяна на каналите в mplayer: ~/.mplayer/input.conf
Цитат | UP tv_step_channel 1 DOWN tv_step_channel -1 MOUSE_BTN0 vo_fullscreen JOY_BTN1 tv_step_channel 1 |
До тук дадох основните базови настройки, за да подкарате тунера да работи и да гледате телевизия.
Запис на аудио и видео с помощта на mencoder: Благодарение на Иван Тончев и с малко добавки от мен ще покажем как да записваме от тв тунера. На първо място трябва да инсталираме mencoder, като във Fedora това става с:
Примерен код | yum install mencoder |
За правилното инсталиране на mencoder трябва предварително да сте си конфигурирали livna хранилището. В Debian базираните дистрибуции (като Ubuntu) трябва да използвате apt-get. Ето и командата за запис от bTV:
Цитат | mencoder -tv driver=v4l2:width=768:height=576:channels=26-bTV:alsa:adevice=hw.1,0:audiorate=32000 -oac mp3lame -lameopts cbr:br=64 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 -vf pp=lb -o output.avi tv:// |
Ако искате да записвате от Канал 1 да речем, сменете 26-bTV с R7-Канал_1. Аналогично за останалите програми. Използвайте vcodec=msmpeg4v2, ако имате проблеми с някои Windows плейъри, които не разбират mpeg4.
За съжаление нито аз, нито Иван Тончев до момента сме имали достатъчно време, за да разберем как едновременно със записа от тунера, да гледаме какво все пак се записва. Но това предстои. Всеки, който желае да помогне с обогатяването на статията може да ми пише на електронната поща.
Ако имате проблеми със звука като цяло или настройката на KDETV плейъра за KDE десктоп среда може да прочете настройките на Иван Тончев под KUBUNTU 7.04.
За мое и може би ваше съжаление не съм се занимавал с радиото и малко съм си играл с lirc за дистационното управление. Идеята е да добавя поддръжката за тази карта директно в saa7134 драйвера, да подкарам дистанционното управление и малко занимавка с радиото, но засега толкова от мен.
Полезни връзки по темата:
Публикувано в Софтуер, Хардуер | Редактирана на 13 Септември 2020 |
|
|
|
<< Назад
|
|
|
|