 |
от Дафчо Табаков (dafo)(30-05-2004)
рейтинг (71)
[ добре ]
[ зле ]
Вариант за отпечатване
Мнозина от вас сигурно имат ТВ тунер на компютъра си и инсталиран
Linux.С помощта на малко софтуер и още по-малко хардуер можете да си
направите чудесна мултимедийна система за забавление.
Тук ще опиша как да подкараме телевизия, телетекст, радио, и някои
други ценни преимущества на ТВ тунерите.
Освен тунера и Linux дистрибуция ни е необходимо правилно компилирано
ядро с модули
за тунера.Моят тунер е Aver Media TV Studio 203 и има чипсет Brooktree 878 (Conexant),
телетекст, радио, както и A2 Stereо поддръжка.
В
конфигурацията на ядрото (2.4.25) на 2 места са необходими промени:
1. В секцията I2C support |
CONFIG_I2C=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_PHILIPSPAR=m
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_PROC=m |
2. Модули за съответният тунер |
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_PROC_FS=y
CONFIG_VIDEO_BT848=m |
3. Добре е да се включи и RTC поддръжка |
CONFIG_RTC=m |
След това си компилирате ядрото по обичайната процедура.
Забележка
Можете да ползвате стандартното ядро на дистрибуцията ви, от личен опит знам, че за Slackware 9.1 няма проблеми.
Редактирайте /etc/modules.conf като прибавите следният ред :
/etc/modules.conf |
alias char-major-81 |
Заредете модулите с :
Примерен код на bash |
insmod videodev
insmod i2c-core
insmod i2c-algo-bit
modprobe bttv |
За да разберете дали са заредени правилно модулите изпълнете lsmod :
Примерен код на bash |
/sbin/lsmod
Module Size Used by Tainted: P
tuner 10880 1 (autoclean)
tvaudio 14268 1 (autoclean)
bttv 96320 1 (autoclean) [lirc_gpio]
i2c-algo-bit 7656 1 (autoclean) [bttv]
videodev 6208 4 (autoclean) [bttv]
i2c-core 13636 0 (autoclean) [tuner tvaudio bttv i2c-algo-bit] |
Ако ползвате hotplug при рестарт автоматично ще ви засече хардуера и ще зареди необходимите модули.
Може да се наложи да промените атрибутите на някои файлове:
Примерен код на bash |
chmod 666 /dev/video0 /dev/radio0 /dev/vbi0 |
За повече подробности относно bttv прочетете The BTTV Mini-HOWTO.
Софтуер за гледане на телевизия
Има много програми xawtv, zapping, tvtime, kwintv и др.
Лично аз използвам tvtime. Тя има следните предимства - прави deinterlace подобно на DScaler за Windows.Картината е много добра, гладка, има OSD, показва час а и tvtime работи съвместно с LIRC. За съжаление се изисква процесорна мощ за някои от плъгините-често CPU натоварването достига 70% ( според GKrellM) на Celeron 1,7 GHz
Програмата може да свали от http://tvtime.sourceforge.net
Компилира се по обичайния начин :
Примерен код на bash |
./configure
make
make install
Ако ползвате последната версия на tvtime може да направите и chmod u+s на изпълнимия файл tvime |
Следващата стъпка е да се сканират честотите на кабелната телевизия или ефира:
|
tvime -n PAL -f russia -S |
Опциите са: -S е да се запазят настройките, -n PAL (норма за телевизия) и -f russia (честотна таблица)
След това се запуска програмата само с:
Забележка :Понеже последната версия на tvtime не ми харесва (особено
начина на работа със стерео програми), при тази нова версия има OSD
меню и оттам също се сканират канали, настройват се честоти, системи за
цветна телевизия PAL, SECAM и т.н. Аз съм описал по-горе как се прави
за версия
0.9.8.2 .
Резултатът от усилията изглежда така :

За допълнителни настройки, оптимизации може да прочетете справочните страници :
Примерен код на bash |
man tvtime
man tvtime-command
man tvtime.xml
man stationlist.xml |
Настройките се пазят в директорията ~/.tvtime
Ако дотук всичко работи спрете работа и полейте резултата с бира, боза
и/или
мляко по избор.
Телетекст
За телетекст се нуждаем от
програмата alevt, версията за момента от доста време е 1.6.1
Програмата може да се свали от http://www.goron.de/~froese.
Инсталирането става по обичайния начин, но преди това трябва да се
закърпи изходния код с кръпка за показване надписите на кирилица.
Такава кръпка има в поддиректорията contrib на source кода, но кръпката
е предназначена за руското KOI8-R и вместо „Ъ“ излиза „ы“. Аз съм
променил малко тази кръпка и се вижда „ь“ вместо „ы“. Кръпката може да
свалите от http://dtab.hit.bg/stuff/alevt-1.6.1.rus.diff
или http://dtab.hit.bg/stuff/alevt-1.6.1.rus.diff.tar.bz2
Прилага се така:
Примерен код на bash |
cp /път_до_кръпката/alevt-1.6.1.rus.diff \
/път_до_изходния_код/alevt-1.6.1
cd /път_до_изходния_код/alevt-1.6.1
patch -p1 <./alevt-1.6.1.rus.diff |
След това продължаваме :
Стартирането на alevt (след като сме пуснали ТВ-софтуера на канал, на
който има телетекст) става по следния начин:
Навигацията става с мишката като се щрака върху номера на страницата,
на която искаме да идем или като напишем с цифри съответната страница.
При стартирането на alevt излиза първоначален екран, от който може да
се разучи как да се работи с програмата:

...а страниците изглеждат по този начин :
След като имаме и телетекст може да научим какво ще е времето, в колко
часа започва някой филм, да си видим хороскопа и много други неща. Ако
нещо не е достатъчно ясно може да се допитате до справочната страница
на alevt
Радио
За радиото, също като телевизията има много решения - gnomeradio, rdj, радио плъгин за xmms, QT приложения за радио и много други. Моят избор е радио плъгин (GKrellM radio Plugin) за GNU Krell Monitors. GKrellM е приложение с много възможности за следене на хардуер - температури, обороти; мрежи, процесите на локална и отдалечена машина, натоварване на процесора, входяща поща и т.н.
Този плъгин има възможност за интегриране с LIRC и радиото се управлява
чрез дистанционно управление. Преди да се използва плъгина ще трябва да
има инсталиран gkrellm, които е достъпен от http://web.wt.net/~billw/gkrellm/gkrellm.html.
На страницата има пакети за различни Linux дистрибуции, изходният код,
както и достатъчно документация.
Самият плъгин се намира на http://gkrellm.luon.net/gkrellm-radio.phtml
и компилацията не е особена. За ползващите LIRC се постъпва по следния
начин:
Стандартната процедура (без LIRC) е:
Полученият файл radio.so е необходимо да се копира в директорията с
плъгини на gkrellm - за системната е $PREFIX/lib/gkrellm2/plugins, като
$PREFIX е /usr, /usr/local или друга, в зависимост къде е инсталиран
gkrellm. Може да копира файла и в потребителската директория :
~/.gkrellm2/plugins. Рестартира се gkrellm (ако е включен) и от
менютата се отива на Configuration->Plugins. Слага се отметка на
Radio Plugin.

Остава настройката на радиопрограмите от
Configuration->Plugins->Radio Plugin. Процедурата е лека и
безболезнена, стига да знаете честотите на радиостанциите.Примерна
настройка е:

Допълнителни оптимизации по желание се правят от Options (ограденото с червено), които са интуитивни.
На панела на gkrellm има бутон за включване на радиото (1), както и възможност за смяна на запаметените станции (2).

...за десерт
След като всичко е инсталирано,конфигурирано и полято остава да разгледаме една от най-примамливите възможности на тунерите - записването в реално време
За тази работа може да използваме mplayer, lame както и ALSA .
Няма да се спускам в подробности как се инсталират горепосочените
програми, на техните интернет страници има достатъчно документация.
За запис на видео
от тунера е необходимо преди самия запис да сме настроили дадения канал
с програмата за телевизия, която ползваме или с mplayer. Трябва също да
сме настроили със звуков миксер нивото на запис на звуковата карта. С
alsamixer последното изглежда така:
и така 
След това затваряме софтуера за ТВ ако е отворен и в терминал пишем:
Примерен код на bash |
mencodertv:// -tv driver=v4l:width=640:height=480 \
-ovc xvid -xvidencopts bitrate=1300 \
-oac mp3lame -lameopts cbr:br=192 \
-vf pp=lb -o име_на_файл.avi |
Записът се прекъсва с Ctrl+C.
При този пример ще се запише avi файл, в който видеото (с формат
640x480) е компресирано с xvid (bitrate e 1300 kbits/s), а звука е в
MP3 компресия (bitrate 192 kB/s), като е включен филтър за деинтерлейс
linear blend (прави картината мазна, а не образите при движение да се
размазват на черти).
Подробности има в документацията
и справочната страница на mplayer.
Недостатък на този метод е, че не виждаме какво точно записваме,
ориентираме се по звука на предаването.
Записът на радио също е лесен. Избираме станция
по желание, не спираме радиото, а директно в терминал се пише:
|
arecord -f cd |lame -b 192 -h -c - име_на_файл.mp3 |
Отново записа се прекъсва с Ctrl+C.
Записва се MP3 файл 44100 kHz, 16 бита стерео, bitrate 192 kB/s.
Arecord е част от пакета alsa-utis, а lame e доста добър mp3 енкодер.
Разбира се съществуват и други варианти за запис -
например вместо в mp3 да се записва в ogg формат и т.н. , но това всеки
може да прецени за себе си.
Забележка:Посоченият метод за запис важи не само за радио, а за
всякакъв аудио сигнал влизащ във входовете на звуковата карта -
микрофон, от други външни източници - уредби, cd-players, касетофони и
т.н. Това, което трябва да се направи предварително е чрез програма
миксер като например alsamixer, kmix и др. е да се нагласи нивото на
входящия сигнал и от кой вход да се записва ( като споменатото по-горе
за line-in и capture)
Вместо послепис
Посочените програми могат да се инсталират и като готови пакети,
разпространявани за вашата дистрибуция. Описаното по-горе е изпробвано
и работи безпроблемно от 1.5 години на Slackware Linux.
Статията се намира и на следните адреси:
http://dtab.hit.bg/multimedia_linux.html
и http://www.geocities.com/daftcho/multimedia_linux.html
Голяма част от проблемите могат да се решат като се четат справочните
страници с командата man, от
man pages също изникват и чудесни идеи.
За тези, които не са се занимавали с проекта LIRC (Linux Infrared Remote Control),
който неведнъж бе споменат, на www.linux-bg.org
има чудесни
статии за начинаещи - намират се тук
, тук
и тук.
Връзки
Alevt - http://www.goron.de/~froese/
Advanced Linux Sound Architecture - http://www.alsa-project.org/
GNU Krell Monitor - http://web.wt.net/~billw/gkrellm/gkrellm.html
GOOGLE - http://gooole.com
LAME - http://lame.sourceforge.net/
Linux kernel - http://www.kernel.org/
Linux Infrared Remote Control - http://www.lirc.org/
Mplayer http://www.mplayerhq.hu
The Linux Documentation Project - http://www.tldp.org/
Tvtime - http://tvtime.sourceforge.net/
Линукс за българи - http://www.linux-bg.org/
<< Директориите в Linux | Инсталиране и настройка на “прозрачна защитна стена” >>
|
 |