三行代码,教你在python中将MP4转化为GIF,这不完胜迅捷视频转化器?

对于经常发博文的人来说,GIF会使你的博文更完美,特别是运行程序时,如果有GIF展示,会使得结果十分直观。网上虽然有将MP4转为GIF的网站和app,但是都比较麻烦,还不如自己写个三行代码,今天我试了一下迅捷视频转化器,虽然其中有许多功能,但是,但是这些功能的完美实现几乎是建立在VIP客户上,对于我这样的白嫖党来说属实不实在。

对于迅捷视频转化器的MP4转GIF功能,非VIP客户使用该功能生成的GIF不仅有水印(这在意料之中),意料之外的是水印在画面正中央,而且还不小(如下图)。这属实太丑了。

 所以这还不如自己花个几分钟写3行代码!!!下面步入正题

目录

一、模块安装

 二、代码展示及讲解

三、结果展示

 四、总结


一、模块安装

这里我采用的是pycharm中安装该模块,大家也可以用pip install moviepy进行安装

tips:1-2 file---settings,3-6如下图,然后等待一会就可以使用moviepy模块了

 二、代码展示及讲解

import moviepy.editor as mpe
GIF = mpe.VideoFileClip(r"C:\Users\knighthood\OneDrive\桌面\QQ视频20210907122402.mp4")
# 打印MP4的fps,值为30
print(GIF.fps)
# 剪辑MP4的1-10秒,这会保存fps
GIF.subclip(1, 10)
# 将它保存为GIF格式,且将其fps设为2
GIF.write_gif(".\操作2.gif", fps=2)


①moviepy是一个包,由于只使用视频转gif,相关功能在editor模块内,因此导入使用指令:
import moviepy.editor as mpe

VideoFileClip就是从视频文件(支持大部分视频格式)或者GIF格式文件读取生成的clip。

通俗的讲,该方法就是构造一个VideoFileClip对象,这个对象就是视频的内容,可以通过该对象对视频进行剪辑、转换格式等具体操作

fps参数是指 生成GIF每秒抽取的帧数,这个数字越大,同样视频生成的gif文件就越大,所以需要有所取舍。一般原MP4的fps为30。由于csdn中放的图片不能超过5M,所以一般将生成的GIF的fps设置在2-5之间。

④subclip(start, end),这是截取视频的方法,通过设置截取的开头时间和结尾时间。它的返回值还是一个VideoFileClip对象。

⑤将视频导出为一个GIF动画,并设置导出的GIF的fps

以上虽然只有短短几行代码,就将MP4转GIF给轻松解决了,这不完胜某视频转化器?

三、结果展示

 它还会显示转化进度,非常人性化

 四、总结

这只是简单实现了将MP4转化为GIF的功能,你也可以查看一下下面的网址

https://zulko.github.io/moviepy/

之后如果感兴趣的话可以将它做成交互式的页面,会更加方便。

如果觉得对你有帮助的话,麻烦给个赞!!!

猜你喜欢

转载自blog.csdn.net/knighthood2001/article/details/120169561