这款Python视频剪辑神器,牛逼!
共 2346字,需浏览 5分钟
·
2021-06-16 11:53
点击上方Python知识圈,设为星标
回复100获取100题PDF
阅读文本大概需要 5 分钟
你知道吗,用moviepy一行代码就能够快速剪辑视频中某个区间的片段:
clip = VideoFileClip("videoplayback.mp4").subclip(50,60)
这一段代码,能够在3秒内将videoplayback.mp4的50秒-60秒的视频片段提取出来,非常方便。
不仅如此,moviepy还支持添加字幕、调整音量、片段链接等功能。下面看看详细的操作方法。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上。
(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda
(可选2) 此外,你也可以用VSCode编辑器
请选择以下任一种方式输入命令安装依赖:
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install moviepy
2.视频剪辑
剪辑个视频,多大点事,比起下载PR,用Python 写3行代码,3秒剪辑不香吗?
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几行代码随随便便就能拼接许多片段:
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可是做得到的哦”
那当然可以,教你如何反转视频每一帧的绿色和蓝色通道:
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吗?
当然可以:
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/
点个赞和在看支持我继续创作,谢谢!
往期推荐 01 02 03
↓点击阅读原文查看pk哥原创视频