Первоначально была необходимость в использовании видео потока с ТВ тюнера в качестве входного потока для ffmpeg`а. Но оказалось, что ffmpeg не имеет встроенных средств для управления тюнером в отличии, скажем, от VLC. После недолгих попыток решение нашлось.
Для начала надо просканировать сетку вещания, для определения параметров вещания каналов. Делается это посредством утилиты w_scan:
w_scan -f c -C UTF-8 -X >> czap.conf
-f c - сканирует "кабельную" сетку
-С UTF-8 - задает кодировку на выходе
-X - задает вывод в формате для tzap/czap/xine
листинг czap.conf:
.....
121 TV1000(Orion Express):482000000:INVERSION_AUTO:6875000:FEC_1_2:QAM_128:3504:4504:121
122 TV1000 Action(Orion Express):482000000:INVERSION_AUTO:6875000:FEC_1_2:QAM_128:3503:4503:122
....
Теперь можно настроить тюнер на необходимый канал:
czap -c ./czap.conf -r -p "121 TV1000(Orion Express)"
флаги -r и -p добавят в выходной видео поток необходимые TS заголовки, тем самым к потоку будет легче цепляться и не тратить время на его анализ. Если все прошло удачно, в вывод czap будет постоянно выкидывать статусные сообщения.
Теперь, если необходимо, выходной поток можно подцепить ffmpeg`ом:
ffmpeg -i /dev/dvb/adapter0/dvr0 ......
Хотелось бы отметить, что w_scan`ом так и не удалось просканировать частоты ниже 474МГц, хотя вещание на них осуществлялось. Если кто знает решение - поделитесь в комментариях.
Комментарий: