
今天,我们来了解一下如何用Python来编辑视频,这里会用到MoviePy
和FFmpeg
这两个视频处理库。
MoviePy的简单使用
首先第一步当然还是安装
MoviePy
这个库
pip install moviepy
我们先来一个简单的示例-剪切视频,先看看原视频的时间长度
开始编码吧
from moviepy.editor import *
video = VideoFileClip("D:/S年歌行-07.mp4").subclip(360,660) # 剪切视频,从360秒-660秒
result = CompositeVideoClip([video]) #
result.write_videofile("clip.mp4",fps=25) # 保存剪切后的视频
最后执行python demo.py
现在来看看剪切后的效果
这时候我可以给剪切的视频加上简单的字幕
from moviepy.editor import *
video = VideoFileClip("D:/S年歌行-07.mp4").subclip(360,660) # 剪切视频,从360秒-660秒
txt_clip = TextClip("Moviepy",fontsize=100,color='white').set_position('center').set_duration(200) # 字体大小、字体颜色、布局位置、字体悬停时间
result = CompositeVideoClip([video,txt_clip]) # 在视频中加入文字
result.write_videofile("clip.mp4",fps=25) # 保存剪切后的视频
这里我们需要安装ImageMagick
,不然会报错哟,安装完成后,需要到安装目录下去配置moviepy
,在其目录下有个config_defaults.py
的文件,把原来的IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')
,
替换成你的ImageMagick
安装路径IMAGEMAGICK_BINARY = "D:/Program Files/ImageMagick-7.0.10-Q16/magick.exe"
用Moviepy拼接视频
from moviepy.editor import *
video = VideoFileClip("D:/01.mp4") # 第一段视频
video1 = VideoFileClip("D:/02.mp4") # 第二段视频
result = concatenate_videoclips([video,video1]) # 拼接视频
result.write_videofile("clip.mp4",fps=25) # 保存视频后的视频
执行这段脚本后就会把01.MP4和02.MP4拼接为一个视频
这里只是简单的介绍了moviepy
的功能,其实他的功能也还远不如此,一般也会借助一些其他的库来处理视频或者图片,如:imageio
、ffmpeg
等。后面在学习PyQt
的时候,我们再来继续使用它强大的功能吧
我只是记录我的学习过程,由于书读的少,可能很多地方表述或者是理解得不对,请轻喷并指正。