ffmpeg,如何精确切到开始和结束时间?

Way*_*ian -1 video ffmpeg

根据这篇文章

https://ottverse.com/trim-cut-video-using-start-endtime-reencoding-ffmpeg/

您只能剪切时间,但不能指定何时从原始视频中剪切。

所以结束时间总是错误的

就像您需要在时间线上计算视频何时结束一样。

例如,-ss 01:30:40 -to 03:03:05将以错误的顺序剪切您的视频,因为它不是从视频的开始计算 00:00:00,而是从-ss 01:30:40

如何修复这个错误?

为什么到目前为止这个问题还没有得到解决?

为什么没有根据视频文件使用起点和终点的命令?

示例命令: ffmpeg -ss 00:14:15 -an -i "2022-05-30.mp4" -to 01:30:40 -crf 23 -c:v libx264 PART1.mp4

我会14:15在这里损失几分钟,这显然是一个错误

我需要14:15从结束时间中提取以获得结果视频的正确时间

当涉及到多个视频编辑时,这真是太烦人了

kes*_*esh 5

无需大喊大叫,FFmpeg 的行为正如其所调用的那样。您的主要问题是缺乏对复杂 FFmpeg 选项结构的理解。具体来说,您正在混合-ss 输入选项和-to 输出选项。切入正题,试试这个:

ffmpeg -ss 00:14:15 -to 01:30:40 -i "2022-05-30.mp4" -an -crf 23 -c:v libx264 PART1.mp4
Run Code Online (Sandbox Code Playgroud)

文档非常清楚它们是什么类型的选项(输入/输出/全局)。其中一些,包括-ss-to,可以是输入或输出,具体取决于它们的位置。错放它们会导致意想不到的结果,就像您所经历的那样。

FFmpeg 中存在一些挑剔的时序条件问题,但我认为您的情况不属于这些问题。

  • 根据记录,我说的是“复杂”而不是“清晰”。由于它是一个免费的开源项目,并且已经发展了 20 多年,数字多媒体环境不断发展,因此它必然很复杂,而且实际上令我惊讶的是他们能够将其所有功能封装在一个连贯的包中。与任何开源项目一样,如果您认为文档存在缺陷,那么作为用户,您有责任做出贡献并使其变得更好。 (4认同)