根据这篇文章
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从结束时间中提取以获得结果视频的正确时间
当涉及到多个视频编辑时,这真是太烦人了
无需大喊大叫,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
文档非常清楚它们是什么类型的选项(输入/输出/全局)。其中一些,包括-ss和-to,可以是输入或输出,具体取决于它们的位置。错放它们会导致意想不到的结果,就像您所经历的那样。
FFmpeg 中存在一些挑剔的时序条件问题,但我认为您的情况不属于这些问题。