moviepy README

The project's README from github.com/Zulko/moviepy. As one markdown file: README.md.

MoviePy

MoviePy page on the Python Package Index Discuss MoviePy on Gitter Build status on gh-actions Code coverage from coveralls.io

[!NOTE] MoviePy recently upgraded to v2.0, introducing major breaking changes. You can consult the last v1 docs here but beware that v1 is no longer maintained. For more info on how to update your code from v1 to v2, see this guide.

MoviePy (online documentation here) is a Python library for video editing: cuts, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.

MoviePy can read and write all the most common audio and video formats, including GIF, and runs on Windows/Mac/Linux, with Python 3.9+.

Example

In this example we open a video file, select the subclip between 10 and 20 seconds, add a title at the center of the screen, and write the result to a new file:

from moviepy import VideoFileClip, TextClip, CompositeVideoClip

# Load file example.mp4 and keep only the subclip from 00:00:10 to 00:00:20
# Reduce the audio volume to 80% of its original volume

clip = (
    VideoFileClip("long_examples/example2.mp4")
    .subclipped(10, 20)
    .with_volume_scaled(0.8)
)

# Generate a text clip. You can customize the font, color, etc.
txt_clip = TextClip(
    font="Arial.ttf",
    text="Hello there!",
    font_size=70,
    color='white'
).with_duration(10).with_position('center')

# Overlay the text clip on the first video clip
final_video = CompositeVideoClip([clip, txt_clip])
final_video.write_videofile("result.mp4")

How MoviePy works

Under the hood, MoviePy imports media (video frames, images, sounds) and converts them into Python objects (numpy arrays) so that every pixel becomes accessible, and video or audio effects can be defined in just a few lines of code (see the built-in effects for examples).

The library also provides ways to mix clips together (concatenations, playing clips side by side or on top of each other with transparency, etc.). The final clip is then encoded back into mp4/webm/gif/etc.

This makes MoviePy very flexible and approachable, albeit slower than using ffmpeg directly due to heavier data import/export operations.

Installation

Intall moviepy with pip install moviepy. For additional installation options, such as a custom FFMPEG or for previewing, see this section. For development, clone that repo locally and install with pip install -e .

Documentation

The online documentation (here) is automatically built at every push to the master branch. To build the documentation locally, install the extra dependencies via pip install "moviepy[doc]", then go to the docs folder and run make html.

Contribute

MoviePy is open-source software originally written by Zulko and released under the MIT licence. The project is hosted on GitHub, where everyone is welcome to contribute and open issues or give feedback Please read our Contributing Guidelines. To ask for help or simply discuss usage and examples, use our Reddit channel.

Maintainers

Active maintainers

Past maintainers and thanks

Maintainers wanted! this library has only been kept afloat by the involvement of its maintainers, and there are times where none of us have enough bandwidth. We'd love to hear about developers interested in giving a hand and solving some of the issues (especially the ones that affect you) or reviewing pull requests. Open an issue or contact us directly if you are interested. Thanks!

moviepy (Zulko/moviepy)

Searching Database…

这是什么?MoviePy 是一个用于视频剪辑的 Python 库,支持剪切、拼接、插入标题、非线性视频合成、视频处理和自定义特效。
这是图形界面编辑器还是代码库?它是纯代码库:你需要编写 Python 脚本来加载、编辑和导出视频片段,没有图形界面编辑器。
我该怎么安装并开始剪辑视频?用 'pip install moviepy' 安装,然后打开视频片段、选取子片段、添加标题等特效,最后把结果写入新文件。
是否需要单独安装 FFmpeg?MoviePy 底层依赖 FFmpeg 进行编码和解码,如有需要,安装时可以指定自定义的 FFMPEG 可执行文件。
它和直接使用 ffmpeg 一样快吗?不一样。MoviePy 更灵活、更易上手,但比直接调用 ffmpeg 慢,因为它需要通过 numpy 数组进行较重的数据导入和导出。
支持哪些 Python 版本和操作系统?需要 Python 3.9+,可在 Windows、Mac 和 Linux 上运行。
MoviePy 内部如何表示视频和音频?它会导入媒体(视频帧、图片、声音)并将其转换为 numpy 数组,因此每个像素都可以直接访问,特效只需几行 Python 代码即可编写。
MoviePy 最近有没有不兼容的更新?有。MoviePy 最近升级到了 v2.0,包含重大的不兼容变更,v1 已不再维护;官方提供了迁移指南,方便更新现有代码。
MoviePy 能输出哪些格式?最终片段可以编码为 mp4、webm、gif 等常见格式。
这个项目还在积极维护吗?README 中提到,该项目目前仅靠一小群志愿维护者支撑,并明确欢迎更多贡献者加入,因此维护精力可能有限。
Creator
Zulko
Size
166 MB
Stars
15K
Age
13y
Commits · 90 Days