gpt4 book ai didi

ffmpeg - 多次快速查找ffmpeg进行截图

转载 作者:行者123 更新时间:2023-12-04 22:46:44 26 4
gpt4 key购买 nike

我遇到过https://askubuntu.com/questions/377579/ffmpeg-output-screenshot-gallery/377630#377630 , 这是完美的。这正是我想要的。

但是,我使用远程 URL 来生成屏幕截图时间线。我确实知道可以使用 https://trac.ffmpeg.org/wiki/Seeking%20with%20FFmpeg 快速查找远程文件(在 -i 之前使用 -ss)但这仅运行一次。

我正在寻找一种使用方法

./ffmpeg -i input -vf "select=gt(scene\,0.4),scale=160:-1,tile,scale=600:-1" \
-frames:v 1 -qscale:v 3 preview.jpg

命令,但使用快速查找方法,因为当前与远程文件一起使用时速度非常慢。我使用 PHP,但我知道使用 av_seek_frame 存在 C 方法,我几乎不了解 C,所以我无法将其实现到我正在编写的 PHP 脚本中。因此,希望可以在 PHP system() 函数中直接使用 ffmpeg 来完成此操作。

目前,我运行单独的 ffmpeg 命令(使用 -ss 方法),然后在 PHP 中将屏幕截图组合在一起。但是,使用此方法,每次都会重新获取元数据,更优化的方法是让这一切发生在同一个命令行中,因为我想减少对远程 url 发出的请求量,这样我就可以运行更多脚本彼此按顺序排列。

感谢您的帮助。

最佳答案

是的,这是因为 -ss 不在 -i 之前,您需要在每个输入之前添加它。

这是一个可以快速完成的工作示例。

ffmpeg -ss 10 -i test.avi -frames:v 1 -f image2 -map 0:v:0 thumbnails/output_0.png \
-ss 800 -i test.avi -frames:v 1 -f image2 -map 1:v:0 thumbnails/output_1.png \
-ss 2400 -i test.avi -frames:v 1 -f image2 -map 2:v:0 thumbnails/output_2.png

因此 0 : v : 0 表示第一个输入,选择视频流,第一个视频流 1 : v : 0 表示第二个输入,选择视频流,第一个视频流 (0) 2 : v : 0 表示第二个输入,并且选择视频流,第一个视频流 (0)

关于ffmpeg - 多次快速查找ffmpeg进行截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26809934/

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