用python编辑视频

livingbio-moviep的Python项目详细描述


moviepy(完整文档here)是一个用于视频编辑的python模块:剪切、连接、标题插入、视频合成(也称为非线性编辑)、视频处理和自定义效果的创建。有关使用示例,请参见gallery

moviepy可以读取和写入所有最常见的音频和视频格式,包括gif格式,并运行在windows/mac/linux上,使用python 2.7+和3。这是在一个ipython笔记本中运行的:

[logo]

示例

在本例中,我们打开一个视频文件,选择t=50s和t=60s之间的子剪辑,在屏幕中央添加一个标题,然后将结果写入一个新文件:

from moviepy.editor 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')
             .set_position('center')
             .set_duration(10) )

result = CompositeVideoClip([video, txt_clip]) # Overlay text on video
result.write_videofile("myHolidays_edited.webm",fps=25) # Many options...

贡献!

moviepy是一个开源软件,最初由Zulko编写,在mit许可下发布。这个项目是在Github上主持的,在这里,欢迎每个人贡献、寻求帮助或只是给出反馈。

您还可以在Reddit或邮件列表moviepy@librelist.com上讨论该项目。

安装

moviepy依赖于python模块NumpyimageioDecoratortqdm,这些模块将在moviepy安装期间自动安装。第一次使用moviepy时(需要几秒钟),软件ffmpeg应该自动下载/安装(通过imageio)。如果要使用特定版本的ffmpeg,请按照文件config_defaults.py中的说明进行操作。如有问题,提供反馈。

手动安装:PyPIGithub上下载源代码(如果您想要开发版本),解压缩一个文件夹中的所有内容,打开一个终端并键入

(sudo) python setup.py install

installation with pip:如果您已经安装了pip,只需在终端中键入:

(sudo) pip install moviepy

如果您既没有安装setuptools也没有安装ez_setup,则上面的命令将失败,在安装之前是否键入以下类型:

(sudo) pip install ez_setup

其他可选但有用的依赖项

ImageMagick不是严格要求的,只有当你想写文本的时候。它也可以用作gif的后端,但您可以在没有imagemagick的情况下使用moviepy制作gif。

一旦您安装了imagemagick,它将被moviepy,自动检测到,除了在windows上!。windows用户在手动安装moviepy之前,请进入moviepy/config_defaults.py文件并提供imagemagick二进制文件的路径,该文件名为convert。应该是这样的

IMAGEMAGICK_BINARY = "C:\\Program Files\\ImageMagick_VERSION\\convert.exe"

PyGame是视频和声音预览所必需的(如果您想在服务器上使用moviepy,那么这是无用的,但对于高级视频编辑来说却是非常必要的

对于高级图像处理,您将需要这些包中的一个或多个。例如,使用方法clip.resize要求至少安装一个scipy、pil、枕头或opencv。

  • python映像库(pil),或者更好地说,它的分支Pillow
  • Scipy(用于跟踪、分段等),如果计算机上未安装pil和opencv,则可用于调整视频剪辑的大小。
  • Scikit Image可能需要一些高级的图像处理。
  • OpenCV 2.4.6或更新的(提供包cv2)可能需要用于某些高级图像处理。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
返回数组无效的java方法   异步Java CompletableFuture获取其请求   java是否可以像RDBMS那样使用视图?   java如何在屏幕上只运行一个片段?   java无法从Vertex jdbc查询中获取结果   java从jtable获取对象的正确方法   java Spring 3数据设备替代方案   Java BigDecimal:四舍五入到客户首选的数字和增量   JAVA主窗口没有出现,我必须左键单击主窗口。java并单击run查看它   Eclipse RCP中的java进程自定义设备事件   JavaEclipse一次又一次地构建代码(没有任何更改)?   java如何实现对象合并