[英]How to extract a fixed number of frames with ffmpeg?
我试图从一堆视频中统一提取固定数量的帧(比如每个视频50帧,总共10,000个视频)。
由于持续时间不同,我计算了每个视频的理想输出fps,并将其作为ffmpeg提取的参数,但未能获得所需的帧数。
有谁知道如何使用ffmpeg或其他工具提取固定数量的帧? 谢谢!
您可以使用缩略图过滤器。 它从每组n
帧中挑选一个代表性帧(默认为100)
因此,如果您的源视频长达10分钟且速度为25 fps,那么它总共有15000帧。 因此,要选择50帧,您将使用
ffmpeg -i input.mp4 -vf thumbnail=300,setpts=N/TB -r 1 -vframes 50 inputframes%03d.png
这将从每组300帧中选择一个代表性帧,因此从15000帧中选择50帧。尽管名称,缩略图只是选择帧,但它不会缩小它们以供缩略图使用。 setpts
和r
一起设置以避免重复或丢帧。 设置了vframes
,因此输出的图像不超过50张。
如果您需要严格选择每nth
帧,请使用
ffmpeg -i input.mp4 -vf select='not(mod(n\,300))',setpts=N/TB -r 1 -vframes 50 inputframes%03d.png
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.