gpt4 book ai didi

linux - 运行 ffmpeg 一次但获得多个屏幕截图

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:23 24 4
gpt4 key购买 nike

我使用 ffmpeg 从远程视频文件中获取屏幕截图,命令如下 ffmpeg -ss $TIME -i $URL -frames:v 1 -filter:v $FILTER file.jpg (-ss 出现在 -i 之前,用于快速搜索 https://trac.ffmpeg.org/wiki/Seeking )。 $FILTER 是我想要转换屏幕截图的方式,例如裁剪/调整大小。在这种情况下,它是 "crop=iw-5:ih-5, scale=100:100:force_original_aspect_ratio=increase, crop=100:100")

如果我想在 3 秒、5 秒和 14 秒时获取 3 个屏幕截图,我需要分别运行此命令 3 次,将 3、5 和 14 作为 $TIME 传递。但是是否可以运行一次命令,但让它在不同时间输出多个屏幕截图文件?

并且 ffmpeg 是否会以仅使往返远程请求 1 次而不是 3 次的方式执行此操作?在那种情况下,它会更有效率。如果不是,那么最好分别发出 3 个请求,因为我可以并行执行。

最佳答案

有关等间隔的屏幕截图,请参阅 wiki .

对于特定的时间戳,您可以使用 select 一次性完成过滤器:

ffmpeg -i <input> -filter:v "select='0-eq(t,3)-eq(t,5)-eq(t,14)',<other filters>" -vsync vfr file%01d.png

其中 t 是以秒为单位的演示时间戳。

您还可以使用 betweenpict_type PICT_TYPE_I 搜索特定间隔的 I 帧。

关于linux - 运行 ffmpeg 一次但获得多个屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47198241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com