【问题标题】:How to extract only 3 video frames at 0,5,10 seconds using FFMPEG? [closed]如何使用 FFMPEG 在 0、5、10 秒时仅提取 3 个视频帧? [关闭]
【发布时间】:2013-07-19 10:46:19
【问题描述】:

我正在使用的命令:

ffmpeg -i input -c:v libx264 -movflags +faststart -preset slow -crf 22 -b:v 500k -c:a libvo_aacenc -b:a 128k "out.mp4" -r 1 -t 3 -ss 3 -s sqcif "%%1d.jpg"

【问题讨论】:

  • 如果有更多的上下文,这个问题会更好。

标签: ffmpeg h.264 video-processing


【解决方案1】:

使用select 过滤器:

ffmpeg -i input.mp4 -vf "select='eq(t,0)+eq(t,5)+eq(t,10)'" -vsync vfr output_%03d.png

-vsync vfr 将阻止它输出不需要的重复帧。

【讨论】:

  • 遗憾的是,它在 2018 年不起作用,而且 PTS 问题似乎仍然存在:ffmpeg 占用所有 CPU 内核并且不产生任何输出。
  • @tijagi 尝试更新的答案。如果它不起作用,您可以使用 pastebin 站点来显示您的命令和完整的控制台输出,并在评论中提供链接。
  • 感谢您的回复。是的,它仍然失败,这是命令和输出:pastebin.com/raw/1KcMNgzj 似乎,当秒数超过 ~200 时,会发生多路复用开销。此外,拍摄的两张照片都是完全空白的,即充满白色像素。 00:00:00 的帧应该是白色的,但 200.000 的帧不应该是白色的。我已经把一个一个一个的命令和他们生成的文件大小进行比较。
  • @tijagi 我还不能更详细地研究这个,所以我建议使用-ss 而不是选择过滤器,就像你在第二个命令中一样。如果您愿意,您可以在一个命令中完成所有操作,如 here 所示,并且该过程可能会更快一些。
  • 已经偷懒了,谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多