赞
踩
今天教大家利用之前写的python代码制作成GUI界面,实现MP4转gif功能。
三行代码,教你在python中将MP4转化为GIF,这不完胜迅捷视频转化器?
- import moviepy.editor as mpe
- from moviepy.editor import VideoFileClip
- import os
- # GIF = mpe.VideoFileClip(r"C:\Users\knighthood\OneDrive\桌面\QQ视频20210907122402.mp4")
- name = input("请输入你的文件名(带后缀):")
- wenjian = r"C:\Users\knighthood\OneDrive\桌面\{}".format(name)
- GIF = mpe.VideoFileClip(wenjian)
- # 获取视频的长度
- clip = VideoFileClip(wenjian)
- clip_duration = clip.duration
- print(clip_duration)
-
- # 打印MP4的fps,值为30
- # print(GIF.fps)
-
- # 剪辑MP4的1-10秒,这会保存fps
- GIF.subclip(1, 10)
-
- # 没有后缀的文件名
- non_suffix_name = os.path.splitext(name)[0]
- # 得到后缀,如.py
- suffix = os.path.splitext(name)[1]
-
- # 根据没有后缀的文件名起名字,将它保存为GIF格式,且将其fps设为2
- GIF.write_gif("{}.gif".format(non_suffix_name), fps=2)
代码与之前写的的类似,只是多了获取视频长度和获取原视频无后缀文件名。
目录
由于在pyqt5中,是根据自己输入的内容进行操作,所有我们首先要知道需要手动输入哪些参数,很明显,这些参数是文件名(含后缀)、截取的开始位置、截取的结束位置、保存的fps。
mp4zhuanhuan.py
- import moviepy.editor as mpe
- import os
- from moviepy.editor import VideoFileClip
- def zhuanhuan(name, start, end, fps):
- wenjian = r"C:\Users\knighthood\OneDrive\桌面\{}".format(name)
- GIF = mpe.VideoFileClip(wenjian)
- # 获取视频的长度
- clip = VideoFileClip(wenjian)
- clip_duration = clip.duration
-
- if start == "" and end == "":
- start = 0
- end = clip_duration
-
- GIF.subclip(int(start), float(end))
-
- # 根据没有后缀的文件名起名字
- non_suffix_name = os.path.splitext(name)[0]
- GIF.write_gif(r"C:\Users\knighthood\OneDrive\桌面\{}.gif".format(non_suffix_name), fps=int(fps))
这里首先自定义一个函数,到时候调用这个函数就可以使用。
这里采用的是很流行的Qt Designer
首先新建一个widget窗体,将该窗体的windowtitle改为MP4转GIF
接下来就是创建控件了,方法很简单,将左边的控件拖到中间即可,这里笔者使用了Qlabel、Qlineedit、Qpushbutton这三类,然后就如图所示改一下对象名(不一定要一样)。
在qt designer中编辑一些相对简单的信号/槽还是比较轻松的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。