首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定percentage而不是time to ffmpeg

指定percentage而不是time to ffmpeg
EN

Stack Overflow用户
提问于 2017-01-12 18:02:24
回答 1查看 1.3K关注 0票数 9

要从视频中途的图像中获取缩略图,我可以执行ffmpeg -ss 100 -i /tmp/video.mp4 -frames:v 1 -s 200x100 image.jpg。通过使用-ss 100,它可以得到100秒的缩略图(假设视频是200秒长,那么这个缩略图就是视频的一半)。

但是如果我不知道视频的确切长度,在我的应用程序代码中,我需要使用ffprobe之类的东西来首先确定视频的长度,然后将其除以2以获得缩略图时间。

有没有办法让ffmpeg以你想要的视频的百分比得到缩略图?所以不是指定-ss 100,而是像-ss 50%-ss 20%这样的东西来获得文件中的缩略图的一半或20%?

我知道我可以通过应用程序代码做到这一点,但如果ffmpeg有办法自己处理这件事,那会更有效率。

EN

回答 1

Stack Overflow用户

发布于 2019-06-02 10:25:44

它不是很漂亮,但是:

ffmpeg -y -i徽标-13748357.mp4 -vf "select=gte(n\,$(shuf -i 1-$(ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1徽标-13748357.mp4) -n 1))“-vframes 1 out_img.png

上面的命令是获取视频中的帧数并将其传递给"shuf“命令https://linux.die.net/man/1/shuf的一个示例,该命令随机选择帧范围内的一个数,并将其结果传递给FMPEG.

因此,上面能够从只有一行的视频中随机选择一帧。

您也许能够根据您的特定目标调整此方法。当然,假设七年后它仍然很重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41610167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档