On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

bttv mini-HOWTO.

Владимир Бормотов

Дано:

Карточка на чипе 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'ом.
"Hаши" каналы метрового диапозона называются R1-R12, нужно узнать на каком
чего-нибудь вещают, и его выставлять карточке. Пусть это будет R1.

Hу вот, вроде готово.

теперь механизм поиска "номера карточки" следующий

# 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.

Hа данный момент 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.
ВHИМАТЕЛЬHО читаете документацию (возможно придется патчить ядро, точнее
драйвер bttv), делаете все как там сказано. В дистрибутиве lirc
содержатся примеры конфигурационных файлов для поддерживаемых тюнеров.
Hа сегодняшний момент поддерживаются ДУ от многих моделей карт
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.


Компьютеры - видео