4

嘿,我想将一秒长 (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?

谢谢

4

1 回答 1

2

假设ffmpeg支持该格式的时间戳是错误的,但这不是唯一的问题

  • ffmpeg不支持您使用的时间格式。选项是以秒为单位的时间,或hh:mm:ss[.xxx](两个冒号和一个点,而不是三个冒号)。
  • 您的示例代码专门去除了音频。就是-an这样。
  • 当你真正想要帧时按时间分割并不是一个好主意。虽然由于音频帧不太可能与视频帧 1:1 匹配,但它可能是最佳选择。
  • 最重要的是,大多数视频和音频编解码器都是有损的,因此不能很好地分解成许多块然后重新组合在一起。要做到这一点而不会严重破坏质量,您需要首先将视频和音频都转换为原始格式,对其进行操作,然后在您对这些片段完成任何操作后重新转码为压缩格式。你仍然会失去一些质量,但不会像其他情况那样多。
于 2011-11-04T00:07:28.847 回答