使用 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 秒,是指定时长的两倍。

我做错了什么?有什么想法吗?

谢谢

答案1

-ss当and-t-c copyor一起使用时经常会发生这种情况-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

附加参数是为了维持输出视频质量。

相关内容