Библиотека сайта rus-linux.net
- Содержание
- 1. Введение
- 1.1. Copyright of this document
- 1.2. Авторские права
- 1.3. Где можно взять этот документ
- 1.4. Благодарности
- 1.5. Ответственность
- 2. Требования к аппаратному обеспечению
- 3. Требования к программному обеспечению
- 4. Настройка системы
- 5. Проигрыватели
- 6. Приложение - значения аргументов для всех модулей
1. Введение
Возможность оцифровки и последующего воспроизведения являются одним из приоритетов мультимедиа под Linux. Множество устройств поддерживается через API video4linux (http://roadrunner.swansea.uk.linux.org/v4l.shtml), включая несколько ТВ карт, основанных на чипсетах Conexant bt848 и bt878. Этот документ объясняет, как их использовать под Linux.
1.1. Copyright of this document
This HOWTO is copyrighted 1999 Eric Sandeen.
Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.
All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO co-ordinator at the address given below.
In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.
If you have questions, please contact Tim Bynum, the Linux HOWTO co-ordinator, at linux-howto@metalab.unc.edu via email.
1.2. Авторские права
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но
при этом сохранить авторские права и быть уведомленными о всех планах
распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь
к координатору проекта Linux HOWTO по электронной почте:
<linux-howto@metalab.unc.edu>
или к координатору русского
перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
<linux-howto@asplinux.ru>
1.3. Где можно взять этот документ
Последняя версия этого документа находится на страничке проекта Linux Documentation Project http://metalab.unc.edu/LDP/.
1.4. Благодарности
Спасибо Ralph Metzler и Marcus Metzler за написание драйвера к bttv. Также спасибо Alan Cox за создание Video4Linux API, Gerd Knorr за работу над радиокартами, последующими релизами bttv, и xawtv. И всем, кто работал над поддержкой этой карты под Linux. Спасибо William Burrow, написавшему BTTV Howto (об этом я узнал после того, как написал этот документ...), а я, опираясь на его работу, дополнил свою.
При разработке этого HOWTO я использовал документацию bttv и xawtv.
1.5. Ответственность
Вы используете информацию из этого документа на свой страх и риск. Я не отвечаю за содержание этого документа. Ответственность за использование примеров, идей и/или чего-то другого, содержащегося в этом документе вы берете на себя.
Все права принадлежат разработчикам, если не оговорено иначе. Использование торговых марок в этом документе не является рекламой или антирекламой.
Настоятельно рекомендую сохранить копию вашей системы, до того, как установите новую.
2. Требования к аппаратному обеспечению
Из файла bttv README
:
Bttv - это драйвер для карт оцифровки видео, использующих семейство чипов Conexant (http://www.conexant.com) Bt848. Среди них Bt848, Bt848A, Bt849, Bt878 и Bt879. Основным отличием этих карт у разных производителей является тип тюнеров и наличие дополнительных устройств. Например, некоторые карты Hauppauge имеют дополнительный декодер Videotext и/или микросхему декодирования звука. Но не все из дополнительных устройств поддерживаются bttv. Единственные различия между платами различных изготовителей - типы блоков настройки и наличие дополнительных компонентов на платах. Например, несколько карт от компании Hauppauge имеют дополнительно декодер видеотекста и/или звуковой декодер. Только некоторые из этих дополнительных компонентов поддерживаются bttv. Также отличаются типы (композитный или S-Video) и количество входов.
Поддерживаются следующие карты:
AverMedia TV98
AVerMedia TV-Phone
Diamond DTV2000
Hauppauge Win/TV pci (and other Hauppauge cards)
IDS Imaging FALCON
Lifeview Flyvideo II
Matrix Vision MV-Delta
miroVIDEO PCTV
Osprey-100
STB TV PCI
Terratec TERRA TV+
Videologic Captivator PCI
Если вы узнаете, что и другие карты поддерживаются драйвером, то пожалуйста напишите мне об этом и я дополню этот список.
3. Требования к программному обеспечению
Для использования ТВ тюнера под Linux, вам понадобятся соответствующие драйверы ядра, начиная с версии ядра 2.2.0, драйверы bttv входят в состав дистрибутива ядра.
Иначе вы можете взять драйвер tbe, который будет работать с ядрами 2.0.35 и более поздними. Однако, он не гарантирует работу с ядром более старым, чем 2.0.x. Драйверы bttv можно взять на http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html, а самая последняя их версия размещена у Gerd Knorr по адресу http://www.in-berlin.de/User/kraxel/xawtv.html В них добавлена поддержка звуковых чипов, таких как TEA6300, TDA8425, и DPL3518.
Если вы новичок в обращении с драйвером bttv, я бы вам посоветовал просто взять ядро с этим драйвером. Если у вас возникнут с ним проблемы или окажется, что он не поддерживает вашу карту, то возьмите драйвер версии 0.6 по адресу, указанному выше. Если вы уже имели дело с этим драйвером, то возьмите у Gerd Knorr драйвер версии 0.7 , который будет работать с ядром 2.4. Драйверы серии 0.7 можно получить еще на http://www.in-berlin.de/User/kraxel/xawtv.html.
Этот документ описывает драйверы, идущие с ядром 2.2.14, с упоминанием некоторых возможностей версии 0.6 , а версия 0.7 здесь совсем не затронута.
4. Настройка системы
4.1. Установка аппаратного обеспечения
(Спасибо William Burrow за эту главу.)
Если вы боитесь самостоятельно открывать корпус своего компьютера, то сначала прочтите данное HOWTO, соберите всю информацию о карте: тип тюнера, номера использующихся микросхем и т.д. А затем позовите того, кто может вам правильно установить карту.
Иначе, откройте корпус и установите карту в нужный слот. Выберите тот PCI слот, который поддерживает режим PCI bus master (если ваша материнская плата поддерживает эти режимы не на всех слотах).
Существует два способа подключить вашу карту оцифровки видео и звуковую карту. Подсоедините аудио кабель вашего CD-ROM к аудио входу видео карты, затем аудио выход с видео карты к аудио входу тюнера или CD-ROM. Иначе вам надо соединить внешний разъем 1/8'' аудио выхода видео карты к такому же разъему входа на аудиокарте. Если вы не хотите пропускать звук через аудиокарту или у вас ее попросту нет, то подсоедините активные колонки к аудио выходу видеокарты. (Некоторые новейшие карты bt878 не имеют аудио разъемов, так как они непосредственно посылают оцифрованный звук шине PCI.)
Для проверки работоспособности карты очень удобно использовать внешний источник видеосигнала. Многие карты имеют композитный вход, вход S-Video и, если есть тюнер, то вход RF. Для каждого из этих входов существует свой разъем.
4.2. Настройка ядра
Ядро должно быть правильно настроено для того, чтобы поддерживать карту. Большинство новых дистрибутивов Linux идут вместе с необходимыми модулями, поэтому, если вы сможете найти у себя videodev.o
,
bttv.o
, и tuner.o
в каталоге /lib/modules/2.x.x/misc
,
то у вас уже все установлено.
Если нет, то придется перекомпилировать ядро с
CONFIG_VIDEO_DEV
и
CONFIG_VIDEO_BT848
желательно в качестве загружаемых модулей. Прочтите Linux Kernel HOWTO (http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html) для уточнения деталей перекомпилирования.
4.3. Использование версий 0.6.x
Если вы хотите использовать версию 0.6.x , сначала возьмите ее с сайтов, указанных выше, разверните ее командой
tar -xvzf bttv-0.6.x.tar.gz
зайти в созданный каталог . su
и набрать
make
(Вы можете не следовать указаниям из файла INSTALL
, касательно редактирования makefiles.) Затем
для их установки
make install
И в завершении
/sbin/depmod -a
для изменения информации о зависимости модуля.
4.4. Создание файлов /dev
Теперь вам надо создать несколько файлов в каталоге /dev
. Наберите ls /dev/video*; ls
/dev/radio*
, чтобы проверить, существуют ли эти файлы. Если нет,
то вам придется их создать. Номер устройства у этих файлов, в основном, равен 81,
другие номера устройств зависят от их типа (видео, радио и
т.д.). Для более подробной информации загляните на страничку Video4Linux
API по адресу (http://roadrunner.swansea.uk.linux.org/v4lapi.shtml).
В каталоге driver
есть скрипт MAKEDEV
, который создаст четыре видео устройства. Вы
можете сделать это и сами, если у вас есть карта для оцифровки видео. Как
пользователь root наберите:
mknod /dev/video0 c 81 0
chmod 666 /dev/video0
ln -s /dev/video0 /dev/video
mknod /dev/radio0 c 81 64
chmod 666 /dev/radio0
ln -s /dev/radio0 /dev/radio
Возможно у вас есть приложения, которые потребуют устройства видеотекста и VBI. Тогда вам следует набрать следующие команды:
mknod /dev/vtx0 c 81 192
chmod 666 /dev/vtx0
ln -s /dev/vtx0 /dev/vtx
mknod /dev/vbi0 c 81 224
chmod 666 /dev/vbi0
ln -s /dev/vbi0 /dev/vbi
4.5. Загрузка модулей
У драйвера bttv есть множество модулей с различными опциями, как описано в приложении. Но с таким количеством модулей и опций вы можете справиться сами. Для того,чтобы сбросить буферы на диск, напечатайте
sync; sleep 1; sync
Затем с правами пользователя root, используя команду insmod
, попробуйте загрузить модули. Первые два модуля
довольно просто загрузить, так как они обычно не требуют указания опций:
insmod videodev
insmod i2c
Теперь можно загрузить сам модуль драйвера bttv:
modprobe bttv
По умолчанию модуль bttv
сам определяет тип
карты. Просмотрите /var/log/messages
, чтобы
увидеть то, что он обнаружил. Если он не правильно определил тип, вам надо будет
добавить опцию card=n
в конце вышеуказанной
строки, где n
это карта из последующего
списка. (Карты с 0 по 19 поддерживаются драйверами ядра, а bttv-0.6.4h
поддерживает еще с 20 по 27) По желанию вы можете добавить опцию radio=1
, если у вашей карты есть функция FM тюнера.
card=n тип карты 0: Auto-Detect 1: Miro 2: Hauppauge (старые карты bt848) 3: STB 4: Intel 5: Diamond 6: AVerMedia 7: MATRIX Vision MV-Delta 8: FlyVideo 9: TurboTV 10: Hauppauge (новые карты bt878) 11: MIRO PCTV pro 12: Terratec/Vobis TV-Boostar 13: Newer Hauppauge WinCam (bt878) 14: MAXI TV Video PCI2 15: Terratec TerraTV+ 16: Aimslab VHX 17: PXC200 18: AVermedia98 19: FlyVideo98 (новейшие карты FlyVideo) 20: Zoltrix TV-Max 21: iProTV 22: ADS Technologies Channel Surfer TV 23: Pixelview PlayTV (bt878) 24: Leadtek WinView 601 25: AVEC Intercapture 26: LifeView FlyKit w/o Tuner 27: Intel Create and Share PCI
теперь загрузите модуль тюнера
modprobe tuner type=n
Вам надо знать, какой вид тюнера у вас. Некоторые карты (Miro и Hauppauge)
позволяют автоматически определить вид тюнера. На тюнере должно быть
указано имя производителя, вы должны осмотреть микросхемы и узнать, какого
вида у вас тюнер (NTSC или PAL). Для тюнеров PAL на микросхеме должно
быть указано 28.xxxMHz (где xxx три цифры). Для тюнеров NTSC на микросхеме
должно быть указано 35.xxxMHz. Теперь, когда вы узнали вид тюнера, выберите
n
из последующего списка (8 и 9
поддерживаются только bttv-0.6.4h):
type=n типы тюнеров по микросхеме: 0: Temic PAL tuner 1: Philips PAL_I tuner 2: Philips NTSC tuner 3: Philips SECAM tuner 4: no tuner 5: Philips PAL tuner 6: Temic NTSC tuner 7: Temic PAL tuner 8: Alps TSBH1 NTSC tuner 9: Alps TSBE1 PAL tuner
И в последнюю очередь загрузите модули, которые вам еще понадобятся. Не забудьте, что драйверы для карт TEA6300, TDA8425, TDA9855 и DPL3518 есть только в версии 0.6.4h.
modprobe msp3400
или tea3600
или tda8425
или
tda9855
или dpl3518
(прочтите приложение)
Теперь запустите вашу программу для video4linux и посмотрите работает ли она. Если вы не можете сменить канал, проверьте, может вы установили неправильны модуль. Если возникли проблемы со звуком, перепроверьте модуль звука и посмотрите на установку "mute" звукового канала, в случае использования звуковой карты.
4.6. Автоматизация процесса
Теперь, когда вы узнали какие модули и опции нужны, вы можете
автоматизировать процесс, занеся эту информацию в /etc/conf.modules
. После этого, при запуске программы,
которая использует драйвер, модули будут загружаться автоматически. Для
этого я пишу:
# TV alias char-major-81 bttv pre-install bttv modprobe -k tuner; modprobe -k msp3400 options bttv radio=1 card=3 options tuner type=2Замените модули и опции для вашей карты. (Запустите
/sbin/depmod -a
для того, чтобы удостовериться, что
ваша информация не устарела.)5. Проигрыватели
Теперь, когда ядро и устройства настроены, а модули загружены, вам понадобится приложение, при помощи которого можно просмотреть видео с вашей карты. Их существует множество:
bttvgrab - Обеспечивает высококачественную оцифровку, пригодную для записи
Gnome-o-Vision - Программа для просмотра для среды Gnome (в данный момент находится в стадии разработки)
kwintv - Программа для просмотра телепрограмм, основанная на Qt, для среды KDE
wmtune - Радио тюнер для ТВ/радио карт основанный на bttv
wmtv - WindowMaker TV dock.app
XawTV - программа для просмотра телепрограмм и несколько утилит
XtTV - Простенькая программа для ТВ/видео под Linux/X Windows
Еще есть интересный драйвер для карты FlyVideo98 на http://wolf.ifj.edu.pl/~jochym/FlyVideo98/
Обязательно прочтите документацию, перед тем как использовать эти приложения. Большинство из них требует для работы тщательной настройки!
6. Приложение - значения аргументов для всех модулей
Пункты отмеченные значком "*" есть только в драйверах 0.6.4h
videodev.o это основной модуль video4linux module, все видеодрайверы (включая bttv)регистрируются здесь. i2c.o общий модуль поддержки i2c. Он выполняет большинство функций управления шиной i2c, и все остальные модули (кроме videodev.o)используют его аргументы insmod: scan=1 обнаружение устройств на шине i2c verbose=0 уменьшает объем сообщений, выдаваемых драйвером i2c_debug=1 этот ключ предназначен для отладки вся информация, передаваемая по шине, записывается в системный журнал bttv.o драйвер bt848 (микросхемы оцифровки) аргументы insmod: remap=adr переназначить память Bt848 на адрес, равный adr<<20 vidmem=base адрес фрэйм буфера, равен address>>20 triton1=0/1 для совместимости с Triton1 Triton1 автоматически распознается pll=0/1/2 установки pll 0: не использовать PLL 1: установлена микросхема 28 MHz 2: установлена микросхема 35 MHz radio=0/1 карта поддерживает радио card=n тип карты 0: Автоопределение 1: Miro 2: Hauppauge (старая карта bt848) 3: STB 4: Intel 5: Diamond 6: AVerMedia 7: MATRIX Vision MV-Delta 8: FlyVideo 9: TurboTV 10: Hauppauge (новые карты bt878) 11: MIRO PCTV pro 12: Terratec/Vobis TV-Boostar 13: Newer Hauppauge WinCam (bt878) 14: MAXI TV Video PCI2 15: Terratec TerraTV+ 16: Aimslab VHX 17: PXC200 18: AVermedia98 19: FlyVideo98 (новые карты FlyVideo) *20: Zoltrix TV-Max *21: iProTV *22: ADS Technologies Channel Surfer TV *23: Pixelview PlayTV (bt878) *24: Leadtek WinView 601 *25: AVEC Intercapture *26: LifeView FlyKit w/o Tuner *27: Intel Create and Share PCI параметры remap, card, radio и pll поддерживают до четырех, разделенных запятыми, аргументов (если у вас несколько карт). Параметры CARD и PLL определяются по умолчанию в файле Makefile msp3400.o Драйвер для микросхем обработки звука msp34xx. Вам придется использовать этот модуль, если у вас стереокарта. аргументы insmod: debug=1/2 выводить отладочную информацию в системный журнал, 2 - более подробно. *tea6300.o Драйвер для звукового чипа tea6300. Если у вас стереокарта, а драйвер msp3400.o не работает, то попытайтесь использовать этот. Этот чип используется на большинстве TV/FM-карт фирмы STB (обычно взятых с распродаж излишков Gateway). аргументы insmod: debug=1 выводить отладочную информацию в системный журнал. *tda8425.o Драйвер для звукового чипа tda8425. Этот драйвер был встроен в bttv.c, поэтому если ваш драйвер раньше работал, а сейчас перестал - загрузите этот модуль. аргументы insmod: debug=1 выводить отладочную информацию в системный журнал. *tda9855.o Драйвер для чипа стерео-декодера/аудио-процессора tda9855. аргументы insmod: debug=1 выводить отладочную информацию в системный журнал. *dpl3518.o Драйвер для процессора Dolby Pro Logic dpl3518a аргументы insmod: debug=1 выводить отладочную информацию в системный журнал. tuner.o Драйвер тюнера. Используйте этот драйвер, если хотите работать со встроенным в карту тюнером... аргументы insmod: debug=1 выводить отладочную информацию в системный журнал. type=n задать тип чипа тюнера, где n равно: 0:Тюнер Temic PAL 1:Тюнер Philips PAL_I 2:Тюнер Philips NTSC 3:Тюнер Philips SECAM 4:отключить поддержку тюнера 5:Тюнер Philips PAL 6:Тюнер Temic NTSC 7:Тюнер Temic PAL *8:Тюнер Alps TSBH1 NTSC *9:Тюнер Alps TSBE1 PAL i2c_chardev.o создает символьное устройство для доступа к шине i2c. Работает только с версией 2.1.x и автоматически не собирается.