1

Я разработал свой собственный конвертер аналогового видео в USB. Этот конвертер основан на TI TVP5150AM и Empia EM2860. Вскоре конвертер работает, как показано на схеме ниже.

         +---------+ ITU-R  +--------+
Analog   |         | BT.656 |        |
Video +--+ TVP5150 +--------+ EM2860 +---+  USB
         |         |        |        |
         +---------+        +--------+

Поскольку я использую Linux Mint с версией ядра 4.4, драйверы для обоих чипов уже включены. Хорошо, что аппаратное обеспечение распознается, и я могу получать с него данные. Однако данные не такие, как ожидалось.

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

Команда, которую я использую для захвата этих необработанных кадров:

$ ffmpeg -y -i /dev/video0 -frames:v:0 100 -c:v:0 ppm frame%03d.ppm

(обратите внимание, что я получаю такие же кадры, просто открывая устройство с помощью mplayer . Эта команда предназначена только для захвата отдельных кадров)

Вопрос в том, что я действительно не знаю, как отладить эту проблему. Похоже, что данные поступают, но каким-то образом повреждены.

Следующие вещи я уже разобрался:

  • Аппаратное обеспечение работает нормально. TVP5150 настраивается драйвером, как и ожидалось. Интерфейс ITU-R BT.656 имеет очень хорошие сигналы. В более ранней версии оборудования у меня были проблемы с отражениями в этом интерфейсе. В то время ни один кадр не был захвачен.
  • mplayer много кадров. ffmpeg указывает на множество повторяющихся кадров. Оба имеют примерно одинаковое соотношение (4/5 кадров отброшены или указаны как дубликаты)

Может ли кто-нибудь указать мне направление для устранения этой проблемы?

EDIT1:

Похоже, что настройки TVP5150 не верны. Я нашел одну настройку регистра, которая позволила мне получить цвет: необработанный кадр

EDIT2:

Мне пришлось явно установить драйвер для NTSC и использовать очень странное разрешение (640x320), но кадры теперь фиксируются правильным образом.

0