前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 一个快速视频剪辑编辑神器 — Moviepy

Python 一个快速视频剪辑编辑神器 — Moviepy

作者头像
崔庆才
发布2021-06-24 18:25:03
4.2K0
发布2021-06-24 18:25:03
举报
文章被收录于专栏:进击的Coder进击的Coder

你知道吗,用 moviepy 一行代码就能够快速剪辑视频中某个区间的片段:

代码语言:javascript
复制
clip = VideoFileClip("videoplayback.mp4").subclip(50,60)

这一段代码,能够在 3 秒内将 videoplayback.mp4 的 50 秒 -60 秒的视频片段提取出来,非常方便。

不仅如此,moviepy 还支持添加字幕、调整音量、片段链接等功能。下面看看详细的操作方法。

1.准备

开始之前,你要确保 Python 和 pip 已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细 Python 安装指南 进行安装。

(可选 1) 如果你用 Python 的目的是数据分析,可以直接安装 Anaconda:Python 数据分析与挖掘好帮手 —Anaconda,它内置了 Python 和 pip.

(可选2) 此外,推荐大家用 VSCode 编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖: 1. Windows 环境 打开 Cmd (开始-运行-CMD)。 2. MacOS 环境 打开 Terminal (command+ 空格输入 Terminal)。 3. 如果你用的是 VSCode 编辑器或 Pycharm,可以直接使用界面下方的 Terminal.

代码语言:javascript
复制
pip install moviepy

2.视频剪辑

剪辑个视频,多大点事,比起下载 PR,用 Python 写 3 行代码,3 秒剪辑不香吗?

代码语言:javascript
复制
from moviepy.editor import*


# 剪辑50-60秒的音乐 00:00:50 - 00:00:60
video =CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])


# 写入剪辑完成的音乐
video.write_videofile("done.mp4")

3.视频拼接

“哦?Python?哼,那你肯定很难进行拼接工作吧,PR 多方便,拖拽即可完成拼接。”

那你可真是太小看 Python 了,moviepy 几行代码随随便便就能拼接许多片段:

代码语言:javascript
复制
from moviepy.editor importVideoFileClip, concatenate_videoclips

clip1 =VideoFileClip("myvideo.mp4")

# 结合剪辑,你甚至能够完全自动化剪辑拼接视频的操作
clip2 =VideoFileClip("myvideo2.mp4").subclip(50,60)
clip3 =VideoFileClip("myvideo3.mp4")

final_clip = concatenate_videoclips([clip1,clip2,clip3])
final_clip.write_videofile("my_concatenation.mp4")

结合剪辑,你甚至能够完全自动化剪辑拼接视频的操作。

4.逐帧变化

“那你能完成针对每一帧图像的快速图像处理吗?PR 可是做得到的哦”

那当然可以,教你如何反转视频每一帧的绿色和蓝色通道:

代码语言:javascript
复制
from moviepy.editor importVideoFileClip

my_clip =VideoFileClip("videoplayback.mp4")


def scroll(get_frame, t):
    """
    处理每一帧图像
    """

    frame = get_frame(t)
    frame_region = frame[:,:,[0,2,1]]
    return frame_region


modifiedClip = my_clip.fl(scroll)

modifiedClip.write_videofile("test.mp4")

5.导出GIF

哇,听起来好像挺牛逼的,那用来导出到 GIF 吗?

当然可以:

代码语言:javascript
复制
from moviepy.editor import*

# 剪辑50-60秒的音乐 00:00:50 - 00:00:60
video = CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])

my_clip.write_gif('test.gif', fps=12)

怎么样,moviepy 的这些技巧你学会了吗?它还有更多的功能和技巧,详情请见官方文档哦: https://zulko.github.io/moviepy/

End

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的Coder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档