ffmpeg でビデオをカット: 長さが正確ではありません

ffmpeg でビデオをカット: 長さが正確ではありません

私は、ビデオ test.wmv (長さ 10 分) から 00:03:00 の位置から 5 秒長いセグメントを切り取ろうとしていました。そこで、次の ffmpeg コマンドを使用しました。

ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec copy 1.wmv

しかし、出力される wmv は 11 秒長くなり、指定した期間の 2 倍になります。

何が間違っているのでしょうか? 何か考えはありますか?

ありがとう

答え1

-ssこれは、 and をまたは-tと一緒に使用する場合によく発生します。-c copy-codec copy

、を使用せず、別のコーデックを使用するか、 、オプションcopyを指定しないでください。そうすれば、この問題は発生しません。-c-codec

例えば:ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec libx264 1.mp4

答え2

入力の後に開始パラメータと終了パラメータを配置します。これにより、より正確になります。

ffmpeg -i test.wmv -ss 00:03:00 -to 00:03:05 -c copy 1.wmv

オプション-tは、この期間まで行くことを意味します。私は を使用しました-to。したがって、あなたの場合は

-to 00:03:05

また、オーディオ コーデックはオリジナルから変更していません。これで動作するはずです。

答え3

私は@Rajibガイドを使用して、正確な継続時間/長さでビデオをトリミングするのに完璧に機能するクエリを構築しました。

-i input_path -ss 00:00:00 -to 00:00:07 -c copy -copyts output_path

追加パラメータは出力ビデオの品質を維持するためのものです。

関連情報