DebianでFFmpegを使用した大規模なデインターレース

DebianでFFmpegを使用した大規模なデインターレース

Debian サーバーには、約 300 個のビデオが次のように保存されています。

/mediaroot/1/m32.mp4
/mediaroot/2/m421.mp4
/mediaroot/n/mx.mp4

すべてデインターレースする必要があり、そのためにFFmpegを使用したいと思います。

別の有用なソールの助けを借りて、次のステップはある程度許容可能な結果を​​得ました。

  1. オーディオ抽出
  2. トランスコーディングビデオ、はい

    ffmpeg -y -i m148.mp4 -pix_fmt yuv420p -an -pass 1 -passlogfile m148.x600.1351896878.log -an -vcodec libx264 -b:v 600k -preset medium -tune film -threads 0 m148.x600.1351896878.mp4
    ffmpeg -y -i m148.mp4 -pix_fmt yuv420p -an -pass 2 -passlogfile m148.x600.1351896878.log -an -vcodec libx264 -b:v 600k -preset medium -tune film -threads 0 m148.x600.1351896878.video.mp4
    
  3. 手順1で抽出したオーディオと新しいビデオをミキシングします。

  4. qt-faststartを使用した原子の移動

    ffmpeg/qt-faststart m148.x600.1351896878.mp4 m148.x600.1351896878.atom.mp4
    

私の質問は:自動的にインターレースを解除し、すべてのビデオを交換するにはどうすればよいですか?

ベストアンサー1

デインターレースするには、次のようにします。YADIFフィルタ-filter:v yadifコマンドラインで少し後ろに追加するだけです-i input.mp4

オーディオを抽出して再利用する必要はありません。 FFMPEG は、ユーザーが-acodec copy要求した場合、 encode コマンドにソースオーディオを追加して、入力ストリームのソースオーディオを出力にコピーします。繰り返しますが、オプションの後に表示する必要が-i input.mp4あり、おそらく後ろに表示する必要があります。-f container私はそれをすべてのビデオオプションの後ろに置く傾向があります。それは個人的なスタイルの問題です。

入力ファイルの交換に関しては、これが明確でなければなりません。一時出力ファイルにコーディングして成功すると、スクリプトに次の内容が表示されますmv /tmp/whatever.mp4 input.mp4

おすすめ記事