FFmpeg分割成帧。

4

嘿,我想将一个长度为1秒(25fps)的视频拆分成25个单独的视频文件。我知道可以将其拆分为jpeg文件,但我需要保留音频。因此,在重新编译时音频仍然存在。

这是我尝试抓取第一帧(带有音频)的方法:

ffmpeg -i 1.mov -vcodec mjpeg -qscale 1 -an -ss 00:00:00:00 -t 00:00:00:1 frame1.mov

但是它似乎并不起作用。我是否错误地认为ffmpeg支持这种格式的时间戳?hh:mm:ss:f?
谢谢
1个回答

2
你在假设ffmpeg支持那种时间戳格式上是错误的,但这不是唯一的问题。
  • ffmpeg不支持你正在使用的时间格式。选项要么是以秒为单位的时间,要么是hh:mm:ss[.xxx](两个冒号和一个点代替三个冒号)。
  • 你的示例代码明确地去除了音频。这就是-an的作用。
  • 当你实际需要帧时,按时间切割并不是一个好主意。尽管由于音频帧不太可能与视频帧1:1匹配,因此这可能是最佳选择。
  • 最重要的是,大多数视频和音频编解码器都是有损的,因此不适合被分成许多片段然后重新组合。为了在不严重破坏质量的情况下完成此操作,您需要先将视频和音频转换为原始格式,对其进行操作,然后在完成片段处理后重新转码为压缩格式。您仍然会失去一些质量,但不会像其他方式那样严重。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接