Перед тем как задать вопрос, внимательно прочитайте эту тему.
Поддержка тюнеров в ОС Linux начата с ядер 2.6.25, поэтому:
1. Преждем чем писать о том, что у вас что-то не работает в ядрах меньше чем 2.6.25, обновитесь до него или более нового.
2. Для правильного ответа на вопрос, надо максимум информации: название и номер дистрибутива, описание железа, dmesg,
подробное описание проблемы.
3. Вопросы распаковки архивов, компиляции ядер, программ и пр. рассматриваться не будут. Для ответа на них есть волшебный
www.google.com
FAQ
В: Какую модель тюнера посоветуете чтобы работала в Linux.
О: Поддержка моделей Columbus, 403-609 есть в ядрах с 2.6.25 и новее. Поддержка моделей М6, М63, М6 Extra в ядре 2.6.28 и выше . Поддержка модели H6 в ядре 2.6.29 и выше.
В: Каналы определяются, но изображение не пригодное совершенно, все перекошено и просто каша какая то.
О: Модуль ядра работает в режиме NTSC. Для правильной работы надо загрузить модуль с параметром
Код:
secam=d
Код:
# rmmod saa7134
# modprobe saa7134 secam=d
В: Как включить передачу звука по шине PCI?
О: Для включения передачи звука по шине PCI надо загрузить модуль saa7134 с параметром
Код:
alsa=1
Код:
# rmmod saa7134
# modprobe saa7134 alsa=1 secam=d
Некоторые программы tvtime, gradio текущих версий не поддерживают проигрывание звука через PCI, для работы с ними можно использовать следующий скрипт от igk72
tvtime.sh
Код:
#!/bin/sh
if [ -f /usr/bin/arecord ]; then
arecord -q -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -q - &
fi
if [ -f /usr/bin/tvtime ]; then
tvtime -m --mixer=/dev/mixer:pcm --xmltv=/var/lib/tvtime/tvguide.xml
fi
pid=`pidof arecord`
if [ $pid ]; then
kill -9 $pid
fi
В: Не работает пульт в картах 607, 609, M6, M63, M6Extra, H6. В dmesg нет сообщения
Код:
Input: BeholdTV XXX ../class/input/eventXXX
О: В картах 607, 609, M6, M63, M6Extra, H6 пульт работает по протоколу I2C, в процессе разработки сломали автоматическую загрузку модуля ir-kbd-i2c через которую работает пульт. Ошибка починена в 2.6.28. Для работы пульта при старте системы загружайте модуль ir-kbd-i2c.
В: Как смотреть ТВ используя mplayer. igk72 рекомендует следующее решение:
1. Сканируем список каналов следующим скриптом:
cat mplayer-tv-scan
Код:
mkfifo /tmp/mplayer.fifo > /dev/null 2>&1
mplayer -ao null tv:// \
-tv driver=v4l2:fps=25:width=720:height=576:immediatemode=0:chanlist=russia:normid=6:buffersize=16:noaudio -nolirc -noconsolecontrols -slave -input file=/tmp/mplayer.fifo 2>&1 | tee /tmp/mplayer.log &
echo "osd_show_text \"Scaning channels...\" 360000" > /tmp/mplayer.fifo
echo "tv_start_scan" > /tmp/mplayer.fifo
while [ "`pidof mplayer`" ]
do
channels=`cat /tmp/mplayer.log | tr "V:" "\n" | grep "channels=" | sed -e 's/.*channels=\(.*\)/\1/g'`
if [ "$channels" ] ; then
echo $channels | sed -e 's/,/,\n/g' > ~/.mplayer/channels.conf
echo "quit" > /tmp/mplayer.fifo
exit 0
fi
sleep 1
done
rm -f /tmp/mplayer.log
2. Для просмотра ТВ использовать следующий скрипт:
cat mplayer-tv
Код:
channels=`cat ~/.mplayer/channels.conf | tr -d "\n"`
mplayer tv:// \
-tv driver=v4l2\
:outfmt=YV12:fps=25:width=720:height=576\
:immediatemode=0:buffersize=512\
:alsa:adevice=hw.1,0:audiorate=32000:volume=100:forceaudio:forcechan=2:amode=1\
:input=0:normid=13\
:channels=$channels\
\
-vf yadif=1:1 \
\
-delay +0.3 \
-af volume=-12.0:0 \
\
-input conf=~/.mplayer/input-tv.conf
Переключение каналов клавиши "H" и "L". Можно переназначить самим в конфиге input.conf. Изменить названия каналов можно в файле ~/.mplayer/channels.conf
Внимание: В скрипте прописано использование аудио устройства hw.1,0 которое образуется при загрузке модуля saa7134-alsa. У вас может быть другой номер устройства или быть одно (аналоговое подключение звука кабелем) - измените сами на нужное значение.
Также в разных моделях тюнеров различаются значения inputid и normid. Чтобы их точно узнать нужно один раз запустить скрипт и посмотреть значения в строках вывода.
В: Как транслировать ТВ в сеть?
О: Самый простой вариант использовать комбаин VLC. Для всех тюнеров:
Код:
vlc v4l2:///dev/video0:adev=hw.1,0:input=0:standard=secam:samplerate=32000:tuner-frequency=175250
В: Как транслировать в сеть ТВ с тюнеров с аппаратным MPEG кодером?? Хочу разгрузить ЦП от кодирования видео.
О: Для тюнера c аппаратным кодированием:
Код:
v4l2-ctl -f 175.250
vlc pvr:// :pvr-device=/dev/video1
Все проверенно - все работает. Версия vlc 0.9.8 и выше
остальные параметры по вкусу и необходимости.
В: Где взять утилиту v4l2-ctl, у меня ее нет??
О: Утилита v4l2-ctl входит в комплект репозитория video4linux находится в каталоге v4l2-apps/util.
1. Скачиваем свежий video4linux
http://linuxtv.org/hg/v4l-dvb/summary2. Распаковываем.
3. Заходим в каталог v4l-dvb/v4l2-apps/
4. Компилим утилиты
Код:
make
5. Могут быть сообщения об ошибках - отсутствие нужных заголовочных файлов. Проверяем собралась ли v4l2-ctl в каталоге util. Если нет, добавляем необходимые библиотеки и программы и пробуем собрать ее еще раз. п.5 повторяем до успешной компиляции v4ls-ctl.
В: Очень плохое качество DVB-T программ на ядрах 2.6.30, 2.6.31, 2.6.32, раньше все показывало отлично.
О: В код была внесена небольшая ошибка, исправлена в video4linux после 13 января 2010г. В ядре должна быть доступна для 2.6.33
В: Не опознается тюнер Beholder 505 RDS с PCI ID 0x0000:0x5051
О: Исправлено в video4linux после 13 января 2010г. В ядре должна быть доступна для 2.6.33
В: Как слушать радио программой gradio/gnomeradio
О: С ALSA это программа работать не умеет, используем следующий скрипт:
radio.sh
Код:
#!/bin/sh
if [ -f /usr/bin/arecord ]; then
arecord -q -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -q - &
fi
if [ -f /usr/bin/gradio ]; then
gradio -f 102.6
fi
pid=`pidof arecord`
if [ $pid ]; then
kill -9 $pid
fi
Внимание в новыъ дистрибутивах имя было изменено с gradio на gnomeradio, в скрипте заменить так же. Точный номер alsa ус-ва ТВ тюнера можно увидеть командой arecord -l и его вписать в hw:СЮДА
В: У меня тюнер USB Voyage/Wander не работает, пишет ошибку
Цитата:
xc5000 I2C read failed (len=2)
xc5000 I2C read failed (len=2)
xc5000 I2C read failed (len=2)
xc5000: xc_SetSignalSource(1) failed
О: Такая проблема есть в ядрах до 2.6.36, кривой драйвера тюнера xc5000, исправлено в 2.6.36. Обновите ядро на более новое.