乐趣区

关于python:视频剪辑还在重复性工作吗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 库给咱们提供了两个 Path 和 PurePath 函数,能够很不便的找到电脑中 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()

小结

  1. 本文具体介绍了,如何应用 Moviepy 库和 Pathlib 库,还有 Tkinter 库, 做一个批量解决视频的软件。
  2. 有趣味的小伙伴们能够本人复现一下代码进行学习。
  3. 喜爱的小伙伴就点个赞,点个关注,感激你的反对!
退出移动版