文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python轻松搞定视频剪辑重复性工作问题

2024-04-02 19:55

关注

01 安装

对视频进行批量剪辑,需要三个库,分别是Moviepy库和Pathlib库,还有Tkinter库。

首先我们对这两个库进行安装,命令如下:


pip install moviepy
pip install pathlib


02 剪辑

上面我们已经安装好所需要的库了,现在开始来对视频进行剪辑操作。

视频剪辑:

Moviepy库有一个VideoFileClip函数,将视频传入这个函数后,会返回一个VideoFileClip实例对象,该对象可以被subclip()进行剪辑,

代码如下:


from moviepy.editor import *
clip = VideoFileClip('1.mp4').subclip(2,4)
# 将剪出的视频进行存储
clip.write_videofile('2.mp4')


视频合并:

第一步跟视频剪辑一样,需要将合并的视频传入VideoFileClip函数,使其成为一个VideoFileClip实例对象。然后调用Concatenate_videoclips函数,将所有VideoFileClip实例对象的视频进行合并,最后进行保存。

代码如下:


from moviepy.editor import VideoFileClip,concatenate_videoclips
clip_1 = VideoFileClip('1.mp4')
clip_2 = VideoFileClip('2.mp4')
file = concatenate_videoclips([clip_1,clip_2])
file.write_videofile('3.mp4')


视频转化为gif:

将视频转化成gif非常简单,当视频经过VideoFileClip函数处理成为VideoFileClip实例对象后,即可直接保存为gif格式。

代码如下:


from moviepy.editor import *
file = VideoFileClip(k)
file.write_gif(f'{name}.gif')


批量:

上面只是对单个视频,或者个别文件夹的视频进行操作,但是我们想要的是批量进行剪辑、合并和转化。这里,Pathlib库给我们提供了两个PathPurePath函数,可以很方便的找到电脑中mp4文件,

代码如下:


files = []
p = Path(src_path)
for x in p.iterdir():
if PurePath(x).match('*.mp4'):
files.append(x)


之后和上面的代码进行合并,即可实现批量获取的功能 。

GUI界面:

程序的功能已经全部实现了,我们现在需要对该程序进行界面设计,这里我们使用的Tkinter库来进行界面设计,

代码如下:


# 创建窗口
root = tk.Tk()
# 标题
root.title('视频剪辑')
# 窗口大小
root.geometry('450x200')
# 窗口的初始位置
root.geometry('+400+200')
# 标签的控件
label_1 = tk.Label(root, text='输入文件地址', font=(r'苏新诗柳楷简.ttf', 16), fg='black')
label_1.grid()
label_2 = tk.Label(root, text='输入剪辑时间', font=(r'苏新诗柳楷简.ttf', 16), fg='black')
label_2.grid()
# 输入框
enter_1 = tk.Entry(root, font=(r'苏新诗柳楷简.ttf', 16))
enter_2 = tk.Entry(root, font=(r'苏新诗柳楷简.ttf', 16))
# 设置输入框的位置
enter_1.grid(row=0, column=1)
enter_2.grid(row=1, column=1)
# 按钮
button = tk.Button(root, text='开始', font=(r'苏新诗柳楷简.ttf', 16), command=jianjivideo)
# 设置按钮的位置
button.grid(row=1, column=2)
# 显示窗口
root.mainloop()


小结:

本文详细介绍了,如何使用Moviepy库和Pathlib库,还有Tkinter库,做一个批量处理视频的软件。

有兴趣的同学可以自己复现一下代码进行学习。

到此这篇关于Python轻松搞定视频剪辑重复性工作问题的文章就介绍到这了,更多相关Python解决视频剪辑重复性工作问题内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯