LINUX.ORG.RU

ТВ-тюнер Beholder BeholdTV 509 FM, запуск из консоли

 , , , ,


0

1

Здравствуйте. Мне нужно запустить потоковое вещание с ТВ-тюнера Beholder BeholdTV 509 FM. Работает тюнер на чипе SAA7134. Проблем возникало несколько, все они странные, но картинки мне получить так и не удалось. Использую дистрибутив Ubuntu Server 11.10, вывод команды uname -a:

Linux nyanserv 3.0.0-29-generic-pae #46-Ubuntu SMP Tue Dec 4 12:38:10 UTC 2012 i686 i686 i386 GNU/Linux
Пытался отправить поток с помощью ffserver+ffmpeg и VLC. При попытке отправить поток с VLC всё вроде бы работает, но, при подключении к потоку видим тупо зелёный экран.

Команда запуска VLC:

vlc -I dummy v4l2:///dev/video0 :input-slave=alsa://hw:0,0 --sout '#transcode{vcodec=mp4v,vb=850,width=300,height=240,acodec=ogg,ab=64} :standard{access=http,mux=ogg,dst=0.0.0.0:9999}'

При попытке оперировать с FFMPEG вообще ничего не выходит. Даже попытка записать в файл не оканчивается успешно:

ffmpeg -an -f video4linux2 -s 320x240 -r 25 -i /dev/video0 -y out.mpg
ffmpeg version git-2012-03-23-adb98a3 Copyright (c) 2000-2012 the FFmpeg developers
  built on Mar 23 2012 23:22:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 65.102 /  2. 65.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
  libpostproc    52.  0.100 / 52.  0.100
[video4linux2,v4l2 @ 0xa10dc40] ioctl set time per frame(1/25) failed
/dev/video0: Input/output error

Естественно, Google был просмотрен от и до.

В dmesg летит куча ошибок:

[ 2472.808021] saa7133[0]: dsp access error

Немного настораживает то, что у меня во всех полях EEPROM одни ff (у других какие-то значения):

[  323.816034] saa7133[0]: i2c eeprom 00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816056] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816076] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816096] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816116] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816136] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816156] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816176] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816195] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816215] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816245] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816259] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816274] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816289] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816304] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[  323.816318] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

Их я тоже, естественно, прогуглил, но у всех была проблема только со звуком, а видео работало нормально.

При попытке изменить какие-нибудь настройки (например, поменять частоту тюнера), первый раз всё получается, а далее вылетает ошибка:

~$ v4lctl -c /dev/video0 setfreq 195.25
ioctl: VIDIOC_S_CTRL(id=9963785;value=1): Invalid argument
ioctl: VIDIOC_S_CTRL(id=9963785;value=0): Invalid argument

Информация, которую могут востребовать:

~$ lspci
01:02.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev f0)

Устройства (файлы) /dev/video0, /dev/vbi0 и /dev/radio имеются. Пожалуйста, подскажитие, как всё-таки смотреть телевизор с ТВ-тюнера без GUI на машине?

Ответ на: комментарий от namikiri

ffmpeg победил, видео записать удалось. Но в видео, что бы вы думали, зелёный экран. Использовалась команда:

 ffmpeg -t 10 -f video4linux2 -s 320x240  -i /dev/video0 -f mp4 test.mp4

namikiri
() автор топика
Ответ на: комментарий от AITap

Он определил модель корректно:

[    7.609658] saa7130/34: v4l2 driver version 0.2.16 loaded
[    7.609723] saa7134 0000:01:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    7.609731] saa7133[0]: found at 0000:01:02.0, rev: 240, irq: 18, latency: 96, mmio: 0xe1000000
[    7.609740] saa7133[0]: subsystem: 0000:4091, board: Beholder BeholdTV 409 FM [card=67,autodetected]
[    7.609761] saa7133[0]: board init: gpio is c0c000
[    7.650484] input: saa7134 IR (Beholder BeholdTV 4 as /devices/pci0000:00/0000:00:1e.0/0000:01:02.0/rc/rc0/input2
[    7.651216] rc0: saa7134 IR (Beholder BeholdTV 4 as /devices/pci0000:00/0000:00:1e.0/0000:01:02.0/rc/rc0

namikiri
() автор топика
Ответ на: комментарий от namikiri

Если нет иксов, то пытаются показать через FB. FB у тебя скорее всего тоже нет отсюда и ошибка. Попробуй менкодером записать и посмотри что получится.

Rodegast ★★★★★
()
Ответ на: комментарий от Rodegast

mencoder, кстати, пишет помехи, то есть тюнер работает правильно. Осталось заставить его писать не с ТВ, а с композитного входа. Смена режимов командой v4ctl и v4l2-ctl ничего не даёт

namikiri
() автор топика
Ответ на: комментарий от namikiri

Смена режимов командой v4ctl и v4l2-ctl ничего не даёт

v4ctl не нужна. Указывай откуда писать через параметр input

Rodegast ★★★★★
()
Ответ на: комментарий от Rodegast

Специально поднял XFCE и Xorg, установил там VLC, работает идеальнейше. Как бы теперь по IP передавать... Из того же гуишного VLC транслируется лютое зелёное говнище. Видео, но вместо ч/б изображения выдаётся зелёный кал с контурами объектов. Не подскажете, в какую сторону копать, какие трансляторы использовать, с какими ключами собрать FFMPEG?

namikiri
() автор топика
Ответ на: комментарий от namikiri

Beholder BeholdTV 609 FM у меня работал так:

mplayer tv:// -tvscan autostart -tv driver=v4l2:input=0:norm=secam:device=/dev/video0:buffersize=100:audiorate=4410
Нужен выхлоп
dmesg |egrep -i "behold|i2c"

windusjatnik
()
Ответ на: комментарий от namikiri

Давно не занимался поэтому отвечу как было года 2 назад.
Для вещания в сеть нужен сервер в виндовс с этим проблем не было! В линупсе всё несколько печальней как обычно
Раньше VLC до какой-то версии мог вещать в сеть потом всё сломали и решения не было.
Если vlc не починили то решения нет даже на офф.сайте бехольдера, точнее не было сейчас может что и придумали.

windusjatnik
()
Ответ на: комментарий от namikiri

Почитайте, пожалуйста, всю ветку. FFserver не вариант, отказывается кодировать.

Другого варианта нет помоему... Или искать норм версию ffmpeg или собирать самому.
У меня ffmpeg 4:0.5.9 вчера всё проверил, качество изображения передаваемое через ffserver отличное!

windusjatnik
()
Ответ на: комментарий от windusjatnik

Я собирал ffmpeg сам. не можете сказать, с какими ключами он у вас собран и какой командой передаёте ffserverу поток?

namikiri
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.