java中的接口是类吗
316
2022-09-05
用Python来实现Mp4视频转Gif(python 播放mp4)
在前一段时间因为比赛需要把在手机上录的MP4视频转成Gif动图,放在PPT上,但是在网上搜了很多的网站和软件发现都是需要进行付费的,虽然是有免费的,但是转出来都有水印,这可就太无语了。。。。
突然想到是不是Python里边有个moviepy的库,可以直接把mp4视频转成Gif,这可就省了一大笔钱了,废话不多说,直接上代码。
# 将mp4视频转为gif动图import moviepy.editor as mpimport osdef ToGif(file_path, gif_path): file_name = os.path.basename(file_path) file_name = file_name.split('.')[0] clip = mp.VideoFileClip(file_path) clip.write_gif(gif_path + file_name + '.gif', fps=5)if __name__ == "__main__": ToGif(r'C:\Users\MSI\Desktop\采集音频.mp4', r'C:/Users/MSI/Desktop/')
但是这样还不是很方便,对团队里边的一些没有装python库的小伙伴,用起来很不方便,再加上一点细节,搞个图形化界面吧。
import tkinter as tkimport tkinter.filedialogfrom tkinter import *from tkinter import messageboximport moviepy.editor as mpimport osimport xlrdimport xlwt"""pip3 install xlrd == 1.2.0pip3 install xlwt == 0.7.5pip3 install tkinter == 8.6.7"""def select_export_path(): temp = tk.filedialog.askopenfilename() export_path.set(temp)def select_all_number_path(): # 选择文件夹 temp = tk.filedialog.askdirectory() all_number_Path.set(temp)root = tk.Tk()export_path = StringVar()all_number_Path = StringVar()diff_path = StringVar()def ui(): """ 选择界面设计以及路径功能 """ root.title("Mp4ToGif") root.geometry("325x110") # 标签 tk.Label(root, text="视频地址:").grid(row=0, column=0) tk.Label(root, text="导出GIF存放地址:").grid(row=1, column=0) # 输入框 processed_export_excel_file = tk.Entry(root, textvariable=export_path, state="readonly") processed_export_excel_file.grid(row=0, column=1) all_number_file = tk.Entry(root, textvariable=all_number_Path, state="readonly") all_number_file.grid(row=1, column=1) # 按钮 tk.Button(root, text="选择文件", command=select_export_path).grid(row=0, column=2) tk.Button(root, text="选择地址", command=select_all_number_path).grid(row=1, column=2) begin_contrast_button = tk.Button(root, text="开始转换", command=lambda: contrast_button_clicked(processed_export_excel_file.get(), all_number_file.get())) begin_contrast_button.grid(row=3, column=1) root.mainloop()def contrast_button_clicked(processed_export_excel_file, all_number_file): contrast(processed_export_excel_file, all_number_file) messagebox.showinfo("提示", "转换完成")def contrast(processed_export_excel_file, all_number_file): file_name = os.path.basename(processed_export_excel_file) file_name = file_name.split('.')[0] clip = mp.VideoFileClip(processed_export_excel_file) clip.write_gif(all_number_file + r"/" + file_name + '.gif', fps=5)if __name__ == '__main__': ui()
再用Pyinstaller打包下
pyinstaller -F -w contrast.py --hidden-import=pandas._libs.tslibs.timedeltas
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~