Вещаем в сети! Курс начинающего медиамагната
Andrushock
Xakep, номер #056, стр. 056-070-5
Character devices --->
I2C support --->
<M> I2C support
<M> I2C bit-banging interfaces (NEW)
<M> I2C /proc interface (NEW) /* опционально */
Присутствует ли программный интерфейс для работы с картами аудио и видеозахвата?
Multimedia devices --->
<M> Video For Linux
[*] V4L information in proc filesystem (NEW) /* опционально */
<M> BT848 Video For Linux (NEW)
Включена ли поддержка звуковых карт?
Sound --->
<M> Sound card support
<M> VIA 82C686 Audio Codec (NEW)
<M> TV card (bt848) mixer support (NEW)
Если чего-то не хватает, то сохраняй конфиг, перекомпилируй ядро и после перезагрузки последовательно загружай модули в следующем порядке:
# modprobe i2c-core /* поддержка I2C интерфейса */
# modprobe i2c-proc /* доступ к I2C через /proc, опционально */
# modprobe i2c-algo-bit /* поддержка I2C bit-banging интерфейса */
# modprobe tuner type=3 /* тип кодировки SECAM */
#modprobe bttv card=35 /* номер ТВ-тюнера из файла /usr/src/linux/Documentation/video4linux/bttv/CARDLIST */
# modprobe via82cxxx_audio /* моя встроенная звуковуха */
Также не забудь проверить наличие устройства video0:
# ls –l /dev/video0
Если получишь отрицательный ответ, то создай его с помощью скрипта MAKEDEV:
# cd /usr/src/linux/Documentation/video4linux/bttv/
# ./MAKEDEV video 0
Настало время взглянуть на логи:
# tail /var/log/messages
midian kernel: Linux video capture interface: v1.00
midian kernel: bttv: driver version 0.7.106 loaded
midian kernel: bttv0: detected: FlyVideo 98 (LR50)/ Chronos V
ideo Shuttle II [card=35], PCI subsystem ID is 1851:1850
midian kernel: bttv0: using: BT878(Lifeview FlyVideo 98 LR) [card=35,insmod option]
Все! Твой ТВ-тюнер готов рваться бой. Осталось лишь скачать и установить xawtv, имхо, самую лучшую на сегодняшний день программу для просмотра телевизионных передач под никсами:
$ ./configure --enable-xfree-ext --enable-xvideo --enable-lirc --enable-gl --enable-dv \
--enable-mmx
$ make
# make install
После установки программы сразу переходим к поиску каналов:
$ scantv
Здесь выбираем стандарт телевизионного изображения SECAM и страну, в которой находимся:
scanning channel list russia...
R1 ( 49.75 MHz): no station
R2 ( 59.25 MHz): no station
R3 ( 77.25 MHz): ???
[unknown (R3)]
channel = R3
После первого пойманного канала нажимаем Ctrl+C, загружаем в фоновом режиме xawtv и устанавливаем метку телевизионного канала:
$ xawtv &
$ xawtv-remote setchannel R3
Если ты все делал правильно, на экране должна появиться телепередача в окне размером примерно со спичечный коробок ;-). Более тонкую настройку телеканалов можно произвести в самой программе указательными клавишами «влево»-«вправо». Переключать каналы можно с помощью стрелок «вверх»-«вниз».
Пример конфигурационного файла ~/.xawtv
[global]
fullscreen = 640 x 480
freqtab = Russia
pixsize = 128 x 96
pixcols = 1
jpeg-quality = 85
[defaults]
norm = SECAM
capture = over
source = Television
Телевидение в массы
Чтобы осуществить эту благородную миссию, сначала придется пересобрать ffmpeg с аргументом --enable-shared, так как нам потребуется динамически слинкованный libavcodec. Следующим шагом будет получение исходного кода VLC из CVS-репозитория проекта (на данный момент с возможностью транслировать телепередачи по локальной сети можно познакомиться, только используя CVS-версию):