として表示される TV チューナー カードがあります/dev/video1
。古いVHSテープをデジタル化しようとしています。TV チューナーは音声を出力しません。マイクにワイヤーが接続されています。
これは、ビデオとオーディオをキャプチャしてファイルに保存するために使用している gstreamer パイプラインです。フレームをドロップしてコンテンツを失いたくないので、モーション jpeg を使用しています。後で再エンコードします。
gst-launch-0.10 v4l2src device=/dev/video1 ! \
queue ! \
video/x-raw-yuv,width=640,height=480 ! \
ffmpegcolorspace ! \
jpegenc ! \
avimux name=mux ! \
filesink location=output.avi \
pulsesrc ! \
queue ! \
audioconvert ! \
audio/x-raw-int,rate=44100,channels=2 ! \
mux.
これはすべてうまく機能します。ビデオとオーディオを含む再生ファイルがあります。ただし、出力ファイルを再生すると、オーディオとビデオが同期しなくなることがあります。ビデオの同じ場所で、多数の異なるメディア プレーヤー (トーテム、mplayer) で発生します。したがって、これはファイルの保存と記録の方法に問題があると思います。
オーディオ/ビデオの同期の問題が発生する可能性を低くするために、パイプラインに対してできることはありますか? 私は gstreamer とビデオ/オーディオ コーデックの初心者なので、ここで愚かなことをしている可能性があります (指摘してください!)。より良いビデオ/オーディオ/マルチプレクサコーデックはありますか?