一部のビデオエディターでムービーを編集して、オーディオとビデオを完全に一致させることができますが、その場合、ビデオ全体を再エンコードする必要があり、時間がかかります。次のようなコード:
ffmpeg -i my_movie.mp4 -c:v copy -c:a aac -af "audio_filter_help_me_guys" fixed_movie.mp4
私の時間を節約します。または、Kdenliveなどのビデオエディターを使用する必要があるだけですか?
ビデオもオーディオも再エンコードしないでください。オーディオストリームを遅延させるだけです。 ffmpeg
の-itsoffset
オプションは、ストリームのタイムスタンプにオフセットを追加して、遅延させる目的で使用されます。したがって、コマンドは次のようになります。
ffmpeg -i my_movie.mp4 -itsoffset 0.5 -i my_movie.mp4 -map 0:v -map 1:a -c:copy fixed_movie.mp4
-itsoffset 0.5 -i my_movie.mp4
は、2番目の入力ファイル(この場合、たまたま最初のファイルと同じになる)を0.5秒遅らせることを指定します。-map 0:v -map 1:a
は、最初の入力ファイルからビデオのみを選択し、2番目の(遅延)ストリームからオーディオのみを選択します。ビデオストリームのみとオーディオストリームのみを含む2つのファイルがある場合、これらは必要ありません。-c:copy
は、すべてのストリームをコピーする必要があることを示します(これは-c:v copy -c:a copy
と同等のショートカット表記です)グラフィカルツールAvidemuxでもこれを実現できるはずですが、私の経験では、常に確実に機能するとは限りません。コマンドラインは、オプションを見つけると、はるかに高速になります。