FFmpeg -ss -t(寻找)输出不准确,有什么解决方法吗?

FFmpeg -ss -t(寻找)输出不准确,有什么解决方法吗?

我的任务是从较大的视频片段中制作小视频片段,然后将它们合并成一个文件。经过大量搜索和阅读后,我决定使用下一个命令

ffmpeg -y -ss 03:00 -i myvideo.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -t 00:05 segment01.ts

我的问题;希望您能找到解决它们的方法:

1- 如您所见,所需输出的持续时间为 5 秒,而我根本没有得到。我得到了不同段的不同持续时间;4、6、8、9 秒。

**搜索后我发现这是由于关键帧问题引起的。

但我完全不明白这与片段的持续时间有什么关系。

我完全理解寻找位置可能因关键帧而不同,但为什么持续时间会不同?

2-在阅读更多内容后,我决定使用 -fs 命令来限制段的大小。除了一件事外,它在某种程度上是有效的。

这些片段在结尾处有点挂起(丢帧!我不知道),导致拼接起来的最终结果很糟糕。我该怎么做才能消除这种“挂起”

有任何想法吗?

**注意:我已经尝试了(输入/输出)搜索,但没有任何变化。

答案1

-ss当and-t-c copyor一起使用时经常会发生这种情况-codec copy

不要使用copy,而使用其他编解码器或者根本不指定选项-c-codec这样就不会发生这种情况。

例如:ffmpeg -y -ss 03:00 -i myvideo.mp4 -c:v libx264 -f mpegts -t 00:05 segment01.ts或类似的东西。

相关内容