MoviePy
MoviePy(documentation)是一个用于视频编辑的Python库:剪切、拼接、标题插入、视频合成(也称为非线性编辑)、视频处理和定制效果的创建。请参阅gallery有关用法的一些示例,请参阅
MoviePy可以读写所有最常见的音频和视频格式,包括GIF,并且可以在Windows/Mac/Linux上运行,使用Python3.6+。下面是它在IPython笔记本中的实际应用:
示例
在本例中,我们打开一个视频文件,选择t=50s和t=60s之间的子剪辑,在屏幕中央添加标题,然后将结果写入新文件:
from moviepy import *
video = VideoFileClip("myHolidays.mp4").subclip(50,60)
# Make the text. Many more options are available.
txt_clip = ( TextClip("My Holidays 2013",fontsize=70,color='white')
.with_position('center')
.with_duration(10) )
result = CompositeVideoClip([video, txt_clip]) # Overlay text on video
result.write_videofile("myHolidays_edited.webm",fps=25) # Many options...
招聘维修员!
随着越来越多的人寻求支持(截至2021年1月,270个公开问题!)所有的MoviePy维护人员看起来都很忙,我们很乐意听到开发人员对帮助和解决一些问题(特别是影响您的问题)或审查拉请求感兴趣的消息。如果您感兴趣,请打开问题或直接与我们联系。谢谢!
安装
MoviePy取决于Python模块NumPy,Imageio,Decorator,以及Proglog,它将在MoviePy的安装过程中自动安装。在首次使用MoviePy期间(安装将需要几秒钟),软件FFMPEG应自动下载/安装(通过ImageIO)。如果要使用特定版本的FFMPEG,请按照中的说明操作config_defaults.py
遇到问题时,提供反馈
手动安装:下载源代码,可以从PyPI或者,如果您需要开发版本,请从GitHub,将所有内容解压到一个文件夹中,打开终端并键入:
$ (sudo) python setup.py install
使用pip安装:如果你有pip
已安装,只需在终端中键入以下内容:
$ (sudo) pip install moviepy
如果你两者都没有setuptools
也不是ez_setup
如果已安装,则上述命令将失败。在这种情况下,请在安装之前键入以下内容:
$ (sudo) pip install setuptools
可选但有用的依赖项
您可以安装moviepy
所有依赖项通过以下方式实现:
$ (sudo) pip install moviepy[optional]
ImageMagick不是严格要求的,但如果要合并文本,则需要。它也可以用作GIF的后端,不过您也可以在没有ImageMagick的情况下使用MoviePy创建GIF
安装ImageMagick后,MoviePy将尝试自动检测其可执行文件的路径。如果失败,您仍然可以通过设置环境变量来配置它(请参阅文档)
PyGame用于视频和声音预览(如果您打算在服务器上使用MoviePy,则与此无关,但对于手动高级视频编辑是必不可少的)
对于高级图像处理,您需要以下一个或多个软件包:
- Python图像库(PIL)或其分支Pillow
- Scipy(用于跟踪、分段等)如果未安装PIL和OpenCV,可用于调整视频剪辑的大小
- Scikit Image某些高级图像处理可能需要
- OpenCV 2.4.6或更新的版本(提供软件包的版本
cv2
)可能需要用于某些高级图像处理 - Matplotlib
例如,使用该方法clip.resize
要求至少安装Scipy、PIL、Pillow或OpenCV之一
文档
生成文档具有需要安装的其他依赖项
$ (sudo) pip install moviepy[doc]
文档可以通过以下方式生成和查看:
$ python setup.py build_docs
您可以将其他参数传递给文档构建,如CLEAN BUILD:
$ python setup.py build_docs -E
有关更多信息,请访问Sphinx文档
1.0.0中的新功能:进度条和带有Proglog的消息
在1.0.0中引入了不向后兼容的更改,以使用管理进度条和消息Proglog,它可以在控制台、Jupyter笔记本或任何用户界面(如网站)中显示漂亮的进度条
要显示笔记本友好的进度条,请首先安装IPyWidgets:
sudo pip install ipywidgets sudo jupyter nbextension enable --py --sys-prefix widgetsnbextension
然后在笔记本的开头输入:
import proglog
proglog.notebook()
有关更多选项,请查看Proglog项目页面
贡献力量
MoviePy是开源软件,最初由Zulko并根据麻省理工学院的执照被释放。该项目托管在GitHub,在这里,每个人都可以贡献、寻求帮助或简单地提供反馈。请阅读我们的Contributing Guidelines有关如何投稿的更多信息,请访问!
你也可以在网上讨论这个项目。Reddit或Gitter对于用法问题和示例,首选这些问题而不是GitHub问题