|
|
bttv mini-HOWTO
Составлено Владимиром Бормотовым <bor@vb.dn.ua>,
c изменениями и дополнениями Деца Алексея <dets@services.ru>.
Дано:
Карточка на чипе Bt848/Bt848a/Bt849/Bt878/Bt879
Ядро 2.2, с _уже_ собраным модулем bttv (ну и соответсвенно i2c, tuner,
videodrv ;)
Получить:
телик в окошке :)
Решение:
0. Если ls /dev/video* ничего не показывает -
# cd /dev
# ./MAKEDEV video
1. Поскольку нас таки интересует SECAM, то сразу запоминаем
options tuner type=3. Тем не менее, это не всегда так,
зачастую необходимо использовать типы 1 или 5.
Т.е., если сразу не заработает, попробуйте перебрать типы тюнеров.
2. Если ваша карточка числится в списке, ~bttv/driver/MODULES,
то замечательно, если нет - не беда, их можно безболезнено
перебирать. :)
~bttv - директория с исходниками драйвера bttv, которые можно взять тут
http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html
Для проверки "а те-ли параметры" нам понадобится какой-нибудь софт,
понимающий video4linux. Я рекомендую xawtv, примечателен тем, что
пользует
libXaw, не требует никаких KDE/Gnome/etc для сборки.
Берут его тут
http://www.in-berlin.de/User/kraxel/xawtv.html
Итак, как узнать то заветное число, которое нужно поставить после
cards= ?
"Простейший случай" - его не нужно узнавать вообще, довериться
автодетекту.
Мне не помногло. Далее, "очевидный случай" - прочесть на коробке/плате
название, посмотреть его в списке ~bttv/driver/MODULES, и выбрать нужно
число. Мне это тоже не помогло, по причине отсутвия названия на коробке
в том вот списке :) "Сложный случай" - полный перебор. Вот тут нам очень
поможет xawtv.
Рассмотрим его поближе. Я взял последнюю версию (3.0), послушался автора,
сделал rpm -ta xawtv-3.0.tar.gz, получил бинарные rpm'ки, поставил, и не
испытывал с этим никаких проблем.
Сразу можно смело наваять ~/.xawtv
========= cut ======
[global]
fullscreen = 800 x 600
freqtab = europe-east
pixsize = 128 x 96
pixcols = 1
jpeg-quality = 75
[defaults]
norm = SECAM
capture = over
source = Television
========
Это стандартный конфиг, с выставленой таблицей наших частот, и SECAM'ом.
"Наши" каналы метрового диапозона называются R1-R12, нужно узнать на каком
чего-нибудь вещают, и его выставлять карточке. Пусть это будет R1.
Ну вот, вроде готово.
теперь механизм поиска "номера карточки" следующий
# modprobe i2c
# modprobe tuner type=3
# modprobe bttv card=1
# xawtv &
# xawtv-remote setchannel=R1
смотрим, слушаем. Если не оно, нажимаем 'q' в окошке xawtv
# rmmod bttv
# modprobe bttv card=2
и так далее.
Если на вашей карточке есть декодер звука (msp34xx, tda8425, tea6300),
то есть смысл попробовать еще и подгружать соответсвующие модули (конечно
предварительно их нужно собрать), у меня на карточке тюнер, и bt878.
На данный момент bttv поддерживает всего 18 разных карт, мы быстро
находим "наш чип". У меня это был вариант 12. :)
Теперь хочется чтоб все это работало само по себе, без лишних
телодвижений.
Берем /etc/conf.modules, и добвляем
=============
alias char-major-81-0 bttv
alias char-major-81 videodev
options tuner type=3
options bttv card=12
pre-install bttv modprobe -k tuner
=============
Что получаем в итоге - после запуска xawtv, kerneld (?) пытается
подгрузить bttv, пред тем как подгружается тюнер (и все необходимое),
и запускается телик в окошке.
Вроде все.
Теперь можно озаботиться о Desktop Env. лично я сходил на
http://www.student.uwa.edu.au/~wliang
и взял wmtv - Dockable App, которое может в кнопке крутить телик.
навскидку мелковато, но прикольно. По даблклику выкидывает окошко
побольше, вроде умеет стартовать external app (например тот-же xawtv), у
меня не получилось, возиться лениво :)
Пользователи KDE могут взять kWinTV.
http://www.mathematik.uni-kl.de/~wenk/kwintv/
Кстати, в дистрибутиве BlackCat Linux 6.02 есть и kWinTV, и XawTV
out-of-box. Версии не самые-самые новые, но работают.
Если у вас тюнер с ДУ, то рекомендуется сходить на
http://fsinfo.cs.uni-sb.de/~columbus/lirc/ - страничка проекта LIRC -
Linux Infrared Remote Control.
Смотрите, поддерживается ли ваша карточка. Если да, то выкачиваете
последнюю версию lirc с CVS.
ВНИМАТЕЛЬНО читаете документацию (возможно придется патчить ядро, точнее
драйвер bttv), делаете все как там сказано. В дистрибутиве lirc
содержатся примеры конфигурационных файлов для поддерживаемых тюнеров.
На сегодняшний момент поддерживаются ДУ от многих моделей карт
Hauppauge, Avermedia TV/TV-Phone, LifeView FlyVideo-98, PixelView
RemoteMaster/TV. Если у вас карточка FlyVideo-98, то рекомендую посетить
http://wolf.ifj.edu.pl/~jochym/FlyVideo98/ - там может быть более свежая
версия драйверов ДУ от данной карты.
После компиляции драйвера, создания нужных устройств, компиляции и
установки демонов (с необходимой правкой конфигов) можно поправить
conf.modules.
Достаточно подобного варианта (реальный конфиг от LifeView FlyVideo'98 FM):
===========================
options tuner debug=0 type=5
options bttv radio=1 card=20 pll=1
pre-install bttv modprobe -k
tuner
alias char-major-61 lirc_fly98 #подставьте нужный вам
модуль
===========================
В этом случае достаточно запустить lircd и lircmd (из стартовых
скриптов, например), чтобы инициализировать всю видеосистему.
Они загрузят драйвер ДУ, а он потянет за собой и драйвера для тюнера.
Порядок загрузки важен. Если загрузить модуль ДУ _после_ драйвера
тюнера, то тюнер откажется переключать каналы.
Поддержка управления с ДУ есть, например, в том же kWinTV.
© faqs.org.ru