龙空技术网

如何用Python将视频导出静态图片(81)

和猫妹学Python 80

前言:

现时兄弟们对“python做的图怎么导出”大概比较讲究,大家都想要剖析一些“python做的图怎么导出”的相关文章。那么小编也在网摘上网罗了一些对于“python做的图怎么导出””的相关资讯,希望朋友们能喜欢,大家快快来学习一下吧!

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

关注我,一起趣味学编程!

现在的生活啊,网速越来越快,存储越来越大。

手机上视频越来越多,有时需要把视频拆分,有时需要把视频合成等。

咱们今天,就用Python将视频导出为一系列图片。

咱们用到的库是前几天安装的VideoFileClip。

代码很短,但效率不高。

如果对效率有要求,可以多线程。

间隔固定时间输出图片

测试代码;

from moviepy.editor import VideoFileClipvideo_clip=VideoFileClip('ys.mp4')video_clip.write_images_sequence('D:/sucai/新建文件夹 (3)/输出图片/%03d.jpg',fps=5)

第1行,从MoviePy模块的子模块editor中导入VideoFileClip类;

第2行,读取要处理的视频;

第3行,每隔5帧将视频导出一张".jpg"格式的图片;%03d是可变部分,运行时会依次变为000、001、002......

函数write_images_sequence用于将视频帧批量导出为静态图片,其语法为:

write_images_sequence(nameformat,fps=None)

nameformat:指定图片的存储位置和文件名;

fps:指定每隔几帧导出一张图片。5表示5帧。

"%03d"是一个格式化字符串,用于指定输出格式。

如果数字位小于3,输出自动在前面补0。

如果数字位大于或等于3,则原样输出。

a=8b=120c=36000print('%3d'%a)print('%3d'%b)print('%3d'%c)#  8#120#36000

指定时间点导出图片

测试代码;

from moviepy.editor import VideoFileClipvideo_clip=VideoFileClip('ys.mp4')video_clip.save_frame('封面.jpg')video_clip.save_frame('第5秒.jpg',t=5)

save_frame(filename,t)

filename:指定导出文件存储位置和文件名;

t:指定将哪个时间点视频导出图片。当省略该参数时,默认将为1秒的画面导出为图片;

如果遇到什么问题,咱们多多交流,共同解决。

猫妹在同名公众号等你,不见不散!

我是猫妹,咱们下次见!

标签: #python做的图怎么导出