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

 更新时间:2021年12月21日 09:40:13   作者:迟业  
这篇文章主要介绍了Python轻松搞定视频剪辑重复性工作问题,大家做视频剪辑的时候,还在重复性工作吗?今天,小编来教大家如何利用Python帮你搞定这些重复性的剪辑工作,需要的朋友可以参考一下

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解决视频剪辑重复性工作问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python开发实时可视化仪表盘的示例

    python开发实时可视化仪表盘的示例

    这篇文章主要介绍了python开发实时可视化仪表盘的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-05-05
  • 关于Python中几种队列Queue用法区别

    关于Python中几种队列Queue用法区别

    这篇文章主要介绍了关于Python中几种队列Queue用法区别,queue队列中的put()或者get()方法中都提供了timeout参数,利用这个参数可以有效解决上述消除不能消费和线程一直阻塞问题,需要的朋友可以参考下
    2023-05-05
  • Python中文件的读取和写入操作

    Python中文件的读取和写入操作

    这篇文章主要介绍了Python中文件的读取和写入操作,从文件中读取数据的操作方法,本文通过实例文字相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-04-04
  • Python hashlib模块与哈希算法保护数据完整性教程

    Python hashlib模块与哈希算法保护数据完整性教程

    hashlib模块为Python提供了一种简便的方式来使用各种哈希算法,如MD5、SHA-1、SHA-256等,哈希函数广泛用于密码学、数据完整性验证和安全存储等领域
    2024-01-01
  • 解决python的空格和tab混淆而报错的问题

    解决python的空格和tab混淆而报错的问题

    这篇文章主要介绍了解决python的空格和tab混淆而报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • python使用pandas读写excel文件的方法实例

    python使用pandas读写excel文件的方法实例

    pandas是一个十分强大的数据处理工具,最近需要处理数据并输入到excel,简单列举它的用法,这篇文章主要给大家介绍了关于python使用pandas读写excel文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 基于python代码实现简易滤除数字的方法

    基于python代码实现简易滤除数字的方法

    今天小编就为大家分享一篇基于python代码实现简易滤除数字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python脚本实现虾米网签到功能

    Python脚本实现虾米网签到功能

    这篇文章主要介绍了Python脚本实现虾米网签到功能的方法,涉及Python调用URL模块实现数据传输与处理的相关技巧,需要的朋友可以参考下
    2016-04-04
  • 详解Python如何实现压缩与解压缩数据

    详解Python如何实现压缩与解压缩数据

    当数据量大的时候,自然而然想到的就是对数据进行压缩,这篇文章主要为大家介绍了Python可以实现压缩与解压缩数据的相关模块的使用,希望对大家有所帮助
    2024-02-02
  • python 每天如何定时启动爬虫任务(实现方法分享)

    python 每天如何定时启动爬虫任务(实现方法分享)

    python 每天如何定时启动爬虫任务?今天小编就为大家分享一篇python 实现每天定时启动爬虫任务的方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05

最新评论