Настройка на ТВ тунер за Linux

Денис Колисниченко

Отговорът е прост: купете си ТВ тунер. Напоследък цените на ТВ тунерите са доста ниски и за 50-60 евъргрийна можеш да си купиш горе-долу нормален модел. И ако има много малко пари, можете да намерите евтин модел за 30-40 USD или да купите по-скъп модел за същата цена, но вече в употреба.

Да предположим, че имате пари и решите да си купите най-добрия модел. Но кой модел е по-добър? Този, препоръчан от продавача? Запомнете: никой няма да критикува вашия продукт - защото той трябва да се продава. Честно казано, аз самият не съм много добре запознат с телевизионните тунери, тъй като това не се отнася до системната администрация и програмирането. Мога да посъветвам само едно нещо: не купувайте външни USB тунери. Външните тунери, в зависимост от модела и производителя, обикновено са по-скъпи от техните вътрешни аналози. Но, ако те разбирам правилно, не си струва цената. Тук не става дума за цената. Няма стабилни драйвери за операционната система Linux за USB тунери. Следователно няма гаранция, че драйверът, който имате, ще работи със закупеното устройство.

Всички тунери се предлагат в една от трите опции:

  1. Просто - обикновен ТВ тунер.
  2. С FM поддръжка.
  3. С FM поддръжка и дистанционно управление.

В първия случай можете да гледате само телевизионни предавания, във втория можете да слушате и радио, а в третия можете да правите първото и второто, докато лежите на дивана с дистанционното управление в ръцете си. Коя да купя? Зависи от вашите финанси. Честно казано: изобщо нямам тунер и съседът ми, който направи цялата тази настройка (за което взаимно сме благодарни), нямаше достатъчно пари за дистанционно управление. Затова няма да разглеждам настройката на дистанционното управление, а само ще посочакъдето е написано.

  1. Всички карти AverMedia.
  2. Всички карти на ADS Channel Surfer.
  3. Всички Maxi TV Video PCI карти.
  4. Bt848/Bt848a/Bt849/Bt878/Bt879 карти.
  5. Карти MATRIX Vision.
  6. Miro/Pinnacle PCTV карти.
  7. 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 отново. След това предполагам, че имате:

За да стартирате помощната програма за конфигуриране на ядрото, въведете командата:

В секцията Мултимедийни устройства активирайте поддръжката на Video For Linux и инсталирайте изтегленото BT8XX Video For Linux като модул.

Повечето от ядрата вече са създадени да поддържат устройствата, от които се нуждаем, но за всеки случай се уверете в следното:

  1. Активираноподдръжка на bttv драйвер.
  2. Включена I2C поддръжка.
  3. Поддръжката за I2C bit-banging интерфейс е активирана.

Сега, когато всички устройства са конфигурирани, трябва да запазим конфигурационния файл на ядрото и да преминем директно към стъпката за компилиране на ядрото.

След приключване на работата му трябва да въведете командата:

Ако изходните кодове на ядрото и компилаторът са инсталирани правилно за около 20 минути (в зависимост от версията на ядрото и колко бърза е вашата система), ще имате компилирано ядро. Обикновено се поставя в директорията /usr/src/linux/arch/i386/boot.

Сега трябва да компилираме модулите, които ще се използват от ядрото. Въведете командата:

Преди да инсталирате модули, направете резервно копие на старите модули на ядрото (директория /lib/modules).

Сега можете да въведете командата:

. за да инсталирате новосъздаденото ядро, но аз не препоръчвам да правите това - първо трябва да тестваме нашето ядро.

Добавете следните редове:

Сега рестартирайте системата си:

Опитайте да заредите ядрото. В случай на грешки винаги можете да изтеглите старата версия.

Мисля, че читателят ще ми прости, ако малко опростя живота си и няма да опиша как да настроя ТВ тунер на ядрото 2.2.x.x: в крайна сметка повечето съвременни дистрибуции идват с ядро ​​2.4.*. Ще опиша настройката на TV тунера на ядрото 2.2.* само с три думи:

  1. Прекомпилирайте ядрото и активирайте поддръжката на kmod.
  2. Изтеглете i2c драйвера и го компилирайте. Как да направите това е описано тук.
  3. По същия начин инсталирайте новия bttv драйвер.

За какво е? Video4Linux изисква i2c драйвера, който беше представен за първи път във версия на ядрото 2.3 (версията с нечетен втори номер е нестабилната версия). INтози драйвер не е включен в ядрото, така че трябва да го изградите сами.

Ако имате ядро ​​2.4* (или 2.3), можете да дишате спокойно: i2c и bttv драйверите вече са инсталирани. Трябва само да се уверите, че са компилирани и ако не, компилирайте отново, като изградите отново ядрото. Разбира се, ако драйверът вече е компилиран (включен в ядрото), няма нужда от повторно изграждане на ядрото.

Следващата стъпка е да се уверите, че имате /dev/video. За да направите това, въведете командата:

Лично аз се оказа, че имам четири такива устройства наведнъж:

Мързи ли ви да въвеждате толкова много команди? След това използвайте скрипта MAKEDEV, който се намира в директорията /usr/src/linux/Documentation/video4linux/bttv.

След като всички драйвери са инсталирани и /dev/video устройството е създадено, можем да започнем да конфигурираме софтуера. Най-добре е да използвате програми, които поддържат библиотеката libXaw. Единствената програма в моята дистрибуция (мисля, че и вашата), която поддържа тази библиотека, е програмата Xawtv.

Създайте .xawtv файл във вашата домашна директория с нещо подобно:

Ако смятате, че старият ви компютър няма да може да се справи с 800x600 цял екран, задайте разделителната способност на екрана на 640x480. В зависимост от гъвкавостта на вашия компютър, задайте нивото на компресия на JPEG. Колкото по-високо е качеството, толкова по-голямо е натоварването на системата. Обикновено за максимално качество е достатъчно jpeg-quality = 90. Но най-оптималната стойност все още е 75.

След това указваме на програмата, че ще получаваме предавания във формат SECAM. Честотна таблица на каналите - европа-изток. Ако живеете в западна Европа, въведете euro-west.

Сега стартирайте два терминала: в единия ще стартираме програмата по време на процеса на настройкаxawtv и експериментирайте в друга. Във втори терминал въведете командата su, за да стартирате като суперпотребител.

Изпълнете две команди (във втория терминал):

Първият зарежда i2c модула, а вторият зарежда тунер модула, конфигурирайки го да получава предавания в системата SECAM (тип=3).

Сега започва най-интересното. Трябва правилно да определите типа на вашия тунер. За да направите това, погледнете във файла CARDLIST: вашата дъска трябва да има номера си до нея. Въведете командата:

NN е вашият бордов номер. Сега отидете на първия терминал и стартирайте програмата xawtv. Използвайте бутоните за канали, за да изберете желания канал. Ако:

  1. Не можете да настроите нито един канал.
  2. Изображението е черно-бяло или никакво.
  3. Без звук.

След това направете следното. Затворете xawtv и премахнете bttv модула:

Въведете отново командата:

Но с друг номер.

След това стартирайте отново xawtv и опитайте да настроите телевизионно предаване. Ако отново нищо не се случи, повторете всичко отново, тоест затворете xawtv, разтоварете bttv модула и задайте нов номер на картата.

Първият параметър се опитва да инсталира модула tvsound за чипа tda8425, а вторият позволява отстраняване на грешки. Дори ако звукът не работи след това, програмата modprobe ще покаже името на декодера, който се използва на вашата платка. Тогава всичко е просто: вземаме това име и се опитваме да въведем командата:

Можете да експериментирате с чипове msp34xx, tda8425, tea6300. Когато всичко работи правилно, трябва да се уверите, че модулите са заредени при стартиране на системата. За да направите това, добавете следните редове към файла /etc/conf.modules:

Заменете NN с вашия бордов номер. Параметърът за радио осигурява поддръжка за FM тунер, ако има такъв.

С каква помощпрограми могат да работят с тунера? Ако ви липсва програмата xawtv, ето малък списък с програми, които може да намерите за полезни:

Липсва ли ви предоставената информация? След това отидете на която и да е търсачка, като Google, и въведете низа за заявка Video4Linux.