如何使用ffmpeg将视频转换为图像?示例am具有总持续时间为60秒的视频。我希望图像在不同的持续时间之间,如2-6秒,然后在15-24秒之间,依此类推。这可能是使用ffmpeg吗?
答案 0 :(得分:16)
您可以将选择过滤器用于一组自定义范围:
ffmpeg -i in.mp4 -vf select='between(t,2,6)+between(t,15,24)' -vsync 0 out%d.png
答案 1 :(得分:12)
官方ffmpeg文档:Create a thumbnail image every X seconds of the video
每秒输出一张图像:
ffmpeg -i input.mp4 -vf fps=1 out%d.png
每分钟输出一张图片:
ffmpeg -i test.mp4 -vf fps=1/60 thumb%04d.png
每10分钟输出一张图片:
ffmpeg -i test.mp4 -vf fps=1/600 thumb%04d.png
答案 2 :(得分:1)
另一种方法是使用python的ffmpeg库,如果您不想将ffmpeg添加到您的PC环境中,则特别有用。首先在 conda 上安装 ffmpeg:conda install ffmpeg
然后你可以写一个脚本如下:
import ffmpeg
input_file_name = 'input_video.mp4'
(ffmpeg
.input(input_file_name )
.filter('fps', fps=10, round = 'up')
.output("%s-%%04d.jpg"%(input_file_name[:-4]), **{'qscale:v': 3})
.run())