【发布时间】:2015-01-04 18:11:11
【问题描述】:
我遇到了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 的请求数量,这样我就可以运行更多脚本依次类推。
感谢您的帮助。
【问题讨论】:
-
所以你想要一个远程文件的多个“快照”?如果是这样trac.ffmpeg.org/wiki/… 可能有用
-
是的,在远程文件上,但使用快速查找方法。目前,在 askubuntu 链接中使用 -vf 链接似乎是一种缓慢的方法,因为生成屏幕截图需要很长时间。但是,在“-i”之前使用“-ss”会很快生成它们。目前生成多个“-ss”命令然后将它们拼接在一起比使用“-vf”方法更快。
标签: ffmpeg