Основные драйверы для ТВ-тюнеров под Linux
Немного не привычно для меня публиковать в разделе софта на этом сайте всего лишь ссылку, обычно я всегда размещал саму программу или драйвер, ну или как минимум прямую ссылку для скачивания. Но с программами и драйверами под Linux видимо придется только так. Мне, как человеку привыкшему работать в ОС Windows, совершенно непонятен тот каламбур, что можно наблюдать на странице по приведенной выше ссылке. Но людям, уважающим ОС Linux, наверно не привыкать, и они найдут там все что надо. 🙂
Данные драйверы универсальны, т.е. каждый из них поддерживает любой или почти любой тюнер, построенный на перечисленных чипах. Список поддерживаемых тюнеров можно увидеть в файле CARDLIST в составе архива. Инструкции по установке и настройке также ищите в архиве.
Напомню, что чипсет своего тюнера можно определить не только внешним осмотром карты, но и посмотрев вывод команды lspci -vv.
Информацию для размещения прислал Warewolf, за что ему отдельное спасибо!
Файлы для загрузки, ссылки:
Комментарии
Denjs
Вообще, хотел отметить, что с современными версиями ядер ОС, как правило, все поставляется «в комплекте». те например моя текущая тв-шка «AverStudio 307 series» (SAA7134) поддерживается начиная с версии ядра 2.6.10 — потому как с ним идет правильная с соответствующими ini-настройками версия подситстемы «Видео-фор-линукс».
К чему я? Ну во-первых, к тому что на сайте у них слегка «подустаревшее». То что я сейчас вытаскиваю из дистрибутива SuseLinux9.3 новее. Гораздо. (правда скорее всего проект жив. но не этом сайте.) Да и с другой стороны, конечно, проект важен для держателей «экзотических» чипов.
Во-вторых, думаю будет интересно, если будут печататься настройки параметров по установке новых (не так давно выпущенных) моделей тв-карточек под конкретные версии ОС Линукс. Это более актуально и интересно. По крайней мере, моя карточка у меня уже почти полгода-год, а запустил её под линухом я только вчера. да и «не совсем гут» запустил. (руки конечно неоттуда скорее всего, но оно «так» — я пока далеко не гуру).
Настройка TV-тюнера под Linux
Денис Колисниченко
Наступили долгожданные выходные и поры бы отдохнуть от изрядно надоевшей работы. Наверное, одним из самых популярных средств организации пассивного досуга является телевизор. Как же без него? Но вот подыматься из-за компьютера (тем более, что кресло ведь нагретое) как-то не хочется. Ну вот, опять, как только вы сделали героический поступок: встали со своего кресла и направились в комнату, обнаруживается, что телевизор занят девушкой/женой/детьми или родителями для просмотра очередной мыльной оперы или какого-нибудь концерта попсовой музыки. Что же делать?
Ответ прост: купить TV-тюнер. В последнее время цены на TV-тюнеры достаточно низкие и за 50-60 вечнозеленых можно купить более или менее нормальную модель. А если денег уж совсем мало, можно найти дешевую модель за 30-40 USD или же купить за такую цену более дорогую модель, но уже бывшую в употреблении.
Прежде, чем перейти к настройке вашего TV-тюнера, сделаю небольшое вступление. Если вы еще не купили тюнер, не спешите. Я рекомендую приобретать тюнеры производства компании AverMedia. Не пожалейте денег на тюнер этой компании. Если же денег все-таки нет, отложите то, что есть до следующей зарплаты: я не советую вам покупать простенькую модель за 30-40 USD. Иначе вы получите плату неизвестного китайского производителя, глюкавый драйвер для Windows 98/2000/XP и малофункциональную программку для просмотра телепередач. В последствии даже для Windows вам трудно будет достать более мощные программы, позволяющие работать с TV-тюнером.
Предположим, что деньги у вас есть, и вы решили купить лучшую модель. Но какая модель лучше? Та, которую посоветует продавец? Запомните: никто не будет критиковать свой товар — ведь его нужно продать. Честно говоря, я сам не очень хорошо разбираюсь в TV-тюнерах, поскольку это не касается системного администрирования и программирования. Могу посоветовать только одно: не покупайте внешние USB-тюнеры. Внешние тюнеры в зависимости от модели и производителя, как правило, дороже стоят, чем их внутренние собратья. Но, если я правильно вас понял, дело за ценой не постоит. Как раз тут дело и не в цене. Для USB-тюнеров не создано стабильных драйверов для операционной системы Linux. Поэтому нет никакой гарантии, что имеющийся у вас драйвер будет работать с купленным устройством.
Следующий момент, который важно учесть при выборе TV-тюнера. Как правило, любое видео передается в одном из стандартов: PAL, SECAM, NTSC. Некоторые, узрев знакомую надпись PAL, сразу же покупают тюнер, тем более что цена составляет всего лишь какие-то $30. Думаете, спроста такие модели стоят так дешево. Конечно, есть и дорогие модели, поддерживающие только систему PAL. Вещание телепередач в странах СНГ производится в системах PAL/SECAM, а звук передается в системе D/G. Поэтому при покупке тюнера, убедитесь, что он поддерживает эти стандарты. В противном случае, если ваш тюнер будет поддерживать лишь один из стандартов, изображение некоторых каналов будет черно-белым, а если отсутствует поддержка D/G, то. Я умолчу об этом (не хочется вспоминать издаваемый шум).
Все тюнеры поставляются в одном из трех вариантах:
- Простой — обыкновенный TV-тюнер.
- С поддержкой FM.
- С поддержкой FM и пультом дистанционного управления.
В первом случае вы сможете только смотреть телепередачи, во втором — еще и слушать радио, а третьем — делать первое и второе, лежа на диване с пультом в руках. Какой покупать? Это зависит от ваших финансов. Скажу честно: тюнера у меня вообще нет, а у соседа, у которого и производилась вся эта настройка (за что мы взаимно благодарны друг другу), денег на дистанционку не хватило. Поэтому настройку дистанционного управления я рассматривать не буду, а только укажу, где об этом написано.
Я не буду вас утомлять особенностями устройства TV-тюнера, а лучше сразу укажу список моделей, которые поддерживает мое ядро. Хотя к тому моменту, когда вы будете читать эту статью, список может расшириться.
- Все карты AverMedia.
- Все карты ADS Channel Surfer.
- Все карты Maxi TV Video PCI.
- Карты Bt848/Bt848a/Bt849/Bt878/Bt879.
- Карты MATRIX Vision.
- Карты Miro/Pinnacle PCTV.
- Карты Hauppauge Win/TV PCI.
Для более подробной информации смотрите файл /usr/src/linux/Documentation/video4linux/bttv/CARDLIST, если у вас ядро 2.4.x.x или файл /usr/src/linux/Documentation/video4linux/bttv/CARDS, если у вас ядро 2.2.x.x.
Вот теперь перейдем к настройке вашего тюнера. Дополнительную информацию, правда на английском языке, вы можете найти в каталоге /usr/src/linux/Documentation/video4linux/. Перед покупкой тюнера обязательно прочитайте эту документацию или хотя бы убедитесь, что ваш тюнер имеется в файле CARDLIST.
Примечание. У вас нет этого каталога. Значит, у вас не установлены исходные тексты ядра. Для их установки вам нужно установить пакеты:
Эти пакеты потребуют наличия дополнительных пакетов, например, при установке пакета kernel-source, мне нужно было установить такие пакеты:
Но это при условии, что у меня уже был установлен компилятор gcc и программа make, которые необходимы для сборки ядра. Не знаете с чего начать? Попытайтесь установить пакет kernel-source: программа rpm выдаст вам названия всех необходимых файлов. Установите эти пакеты, и опять попытайтесь установить kernel-source.
Далее я предполагаю, что у вас:
- Установлены исходные тексты ядра.
- Правильно настроена звуковая карта — при настройке звука телепередач мы не сможем правильно сделать это без корректно настроенной звуковой платы. Дело в том, что сначала мы настраиваем видео передачу, а потому передачу звука. Как мы можем быть уверенны в том, что правильно настроили последнее, если не работает звуковая плата.
Теперь приступим к перекомпилированию ядру. Если вы не знаете, как это сделать, прочитайте мою статью Конфигурирование ядра, которая всегда доступна по адресу ссылка . В ней подробно описан процесс перекомпилирования ядра системы.
Для запуска утилиты конфигурации ядра, введите команду:
В секции Multimedia Devices включите поддержку Video For Linux и установите загрузку BT8XX Video For Linux как модуля.
Большинство ядер уже собрано с поддержкой необходимых нам устройств, но на всякий случай, убедитесь в следующем:
- Включена поддержка драйвера bttv.
- Включена поддержка I2C.
- Включена поддержка интерфейса I2C bit-banging.
Теперь, когда все устройства сконфигурированы, нужно сохранить файл конфигурации ядра и перейти непосредственно к этапу компилирования ядра.
После завершения ее работы нужно ввести команду:
Если исходники ядра и компилятор установлены корректно примерно минут через 20 (это зависит от версии ядра и от быстродействия вашей системы), вы получите откомпилированное ядро. Обычно оно помещается в каталог /usr/src/linux/arch/i386/boot.
Теперь нужно откомпилировать модули, которые будут использоваться ядром. Введите команду:
Перед установкой модулей сделайте резервную копию модулей старого ядра (каталог /lib/modules).
Теперь можно ввести команду:
. для установки только что созданного ядра, однако я не рекомендую этого делать — сначала нужно протестировать наше ядро.
Откройте в любом редакторе файл /etc/lilo.conf.
Добавьте следующие строки:
Естественно, укажите свою корневую файловую систему и объем оперативной памяти. Подробнее об использовании LILO вы можете прочитать в моей статье «Использование LILO» .
Теперь перезагрузите систему:
Попробуйте загрузить ядро. В случае возникновения ошибок вы всегда сможете загрузить старую версию.
Думаю, читатель меня простит, если я немного упрощу себе жизнь, и не буду описывать, как настроить TV-тюнер на ядре 2.2.x.x: ведь большинство современных дистрибутивов поставляется с ядром 2.4.*. Настройку TV-тюнера на ядре 2.2.* я опишу лишь в трех словах:
- Перекомпилируйте ядро и включите поддержку kmod.
- Загрузите драйвер i2c и откомпилируйте его. Как это сделать, описано здесь .
- Точно таким же образом установите новый драйвер bttv.
Для чего это нужно? Video4Linux требуют наличия драйвера i2c, который впервые появился в составе ядра версии 2.3 (версия с нечетным вторым номеров — это нестабильная версия). В состав ядра этот драйвер не входит, поэтому его нужно собрать самостоятельно.
Если у вас ядро 2.4* (или 2.3) вы можете вздохнуть спокойно: драйверы i2c и bttv уже установлены. Вам нужно только убедиться, что они откомпилированы, и, если нет, откомпилировать, собрав заново ядро. Разумеется, если драйвер уже откомпилирован (включен в состав ядра), собирать заново ядро не нужно.
Следующий шаг — убедитесь, что у вас существует устройство /dev/video. Для этого введите команду:
Лично у меня оказалось сразу четыре таких устройства:
Файл /dev/video — это просто ссылка на файл /dev/video0. Если у вас нет этого файла, нужно его создать:
Вам лень вводить так много команд? Тогда воспользуйтесь сценарием MAKEDEV, который находится в каталоге /usr/src/linux/Documentation/video4linux/bttv.
Теперь, когда установлены все драйверы и создано устройство /dev/video, можно приступить настройке программного обеспечения. Лучше всего использовать программы, поддерживающие библиотеку libXaw. Единственная программа в моем дистрибутиве (я думаю и в вашем), которая поддерживает эту библиотеку — это программа Xawtv.
Создайте файл .xawtv в своем домашнем каталоге примерно такого содержания:
Если вы чувствуете, что ваш старенький компьютер не «вытянет» полноэкранного режим 800×600, установите разрешение экрана 640×480. В зависимости от поворотливости вашего компьютера, установите уровень JPEG-компрессии. Чем выше качество, тем больше нагрузка на систему. Обычно для максимального качества хватает значения jpeg-quality = 90. Но самым оптимальным значением будет все-таки 75.
Затем указываем программе, что мы будем принимать передачи в формате SECAM. Частотная таблица каналов — europe-east. Если вы живете в западной Европе, укажите europe-west.
Теперь запустите два терминала: в одном мы в процессе настройки будем запускать программу xawtv, а в другом экспериментировать. Во втором терминале введите команду su, чтобы работать от имени суперпользователя.
Выполните две команды (во втором терминале):
Первая загружает модуль i2c, а вторая загружает модуль tuner, настраивая его на прием передач в системе SECAM (type=3).
Вот теперь начинается самое интересно. Вам нужно правильно определить тип своего тюнера. Для этого загляните в файл CARDLIST: возле вашей платы должен стоять ее номер. Введите команду:
NN — это номер вашей платы. Теперь переходим на первый терминал и запускаем программу xawtv. С помощью кнопок настройки канала выбираем нужный канал. Если:
- Вы не можете настроить ни один канал.
- Изображение черно-белое или же его вообще нет.
- Нет звука.
Тогда сделайте следующее. Закройте xawtv и удалите модуль bttv:
Повторно введите команду:
Но уже с другим номером.
После этого опять запустите xawtv и попытайтесь настроить телепередачу. Если опять ничего не получается, повторите все заново, то есть закройте xawtv, выгрузите модуль bttv и установите новый номер карты.
Если нет звука, хотя изображение цветное и отображается без искажений, просмотрите документацию на свою плату. Дело в том, что некоторые тюнеры могут использовать собственные декодеры звука. Если это так, запустите программу:
Первый параметр пробует установить модуль tvsound для микросхемы tda8425, а второй включает отладку. Даже если звук после этого не заработает, программа modprobe выведет на экран имя декодера, который используется на вашей плате. Потом все просто: берем это имя и пробуем ввести команду:
Вы можете поэкспериментировать с микросхемами msp34xx, tda8425, tea6300. Когда все работает нормально, нужно обеспечить загрузку модулей при запуске системы. Для этого в файл /etc/conf.modules добавляем строки:
Замените NN на номер своей платы. Параметр radio обеспечивает поддержку FM-тюнера, если такой имеется.
С помощью каких программ можно работать с тюнером? Если вам не хватает программы xawtv, вот небольшой список программ, которые вам могут пригодиться:
- GnomeTV — простая программ для просмотра телепередач.
- KwinTV — программа просмотра передач (для KDE).
- bttvgrab — мощная программа, позволяющая записывать телепередачи на диск.
Вам не хватает приведенной информации? Тогда зайдите на любой поисковик, например, Google, и введите строку запроса Video4Linux.