私は自分のアナログビデオからUSBへのコンバータをデザインしました。このコンバータはTI TVP5150AMとEmpia EM2860に基づいています。まもなく、コンバータは以下の図に示すように動作します。
+---------+ ITU-R +--------+
Analog | | BT.656 | |
Video +--+ TVP5150 +--------+ EM2860 +---+ USB
| | | |
+---------+ +--------+
私はカーネルバージョン4.4でLinux mintを使っているので、両方のチップ用のドライバはすでに含まれています。良いことは、ハードウェアが認識され、そこからデータを取得できることです。しかし、データは予想通りではありません。
アナログテスト画像を入れました。私がキャプチャできるフレームは、生のキャプチャフレームのようになります。
私はこれらの生のフレームをキャプチャするために使用するコマンドは次のとおりです。
$ 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のフレームがドロップされるか、重複として表示されます)。
誰かがこの問題をデバッグするための方向を教えてもらえますか?
編集1:
TVP5150の設定が正しくないようです。:私は、1つのレジスタの設定が色を得るために私ができるよう作られた色と生撮影したフレームを
編集2:
ドライバを明示的にNTSCに設定し、非常に奇妙な解像度(640 x 320)を使用しなければなりませんでしたが、フレームは現在正しい方法でキャプチャされています。
キャプチャされた画像から:垂直帰線が間違っている、おそらく50/60 Hzの問題 - それはまたドロップされたフレームを説明するでしょう。色が認識されない、おそらくPAL / NTSCの問題、または間違ったカラーキャリア。両方のチップのセットアップを詳細にチェックし、それらがフォーマットについて一致しているかどうかを確認してください。これがテストイメージに使用するフォーマットです。
—
dirkt
より詳細に設定を確認します。私はフォーマットを正確に知っているところでソースを見つける必要があるだろうと思います。今はそうではありません。TVP5150にはそれを自動検出する機能がありますが、この段階ではそれに頼ることはできないと思います。
—
Pasquale van Heumen