Примечание
MoviePy недавно обновился до версии 2.0, в которой были внесены серьезные изменения. Вы можете ознакомиться с последней документацией по версии 1 здесь, но имейте в виду, что версия 1 больше не поддерживается. Дополнительную информацию о том, как обновить код с версии 1 до версии 2, см. в этом руководстве.
MoviePy (онлайн-документация здесь) — это библиотека Python для редактирования видео: обрезка, конкатенация, вставка титров, компоновка видео (также известная как нелинейное редактирование), обработка видео и создание пользовательских эффектов.
MoviePy может читать и записывать все наиболее распространенные аудио- и видеоформаты, включая GIF, и работает на Windows/Mac/Linux с Python 3.9+.
В этом примере мы открываем видеофайл, выбираем фрагмент продолжительностью от 10 до 20 секунд, добавляем заголовок в центре экрана и записываем результат в новый файл:
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" )
MoviePy импортирует медиафайлы (видеокадры, изображения, звуки) и преобразует их в объекты Python (числовые массивы), так что каждый пиксель становится доступным, а видео- или аудиоэффекты можно определить всего в нескольких строках кода (см. встроенные эффекты для примеров).
Библиотека также предоставляет способы смешивания клипов (объединение, воспроизведение клипов рядом или друг над другом с прозрачностью и т. д.). Окончательный клип затем кодируется обратно в формат mp4/webm/gif/etc.
Это делает MoviePy очень гибким и доступным, хотя и медленнее, чем непосредственное использование ffmpeg, из-за более тяжелых операций импорта/экспорта данных.
Intall Moviepy с pip install moviepy
. Дополнительные параметры установки, такие как пользовательский FFMPEG или предварительный просмотр, см. в этом разделе. Для разработки клонируйте этот репозиторий локально и установите его с помощью pip install -e .
Онлайн-документация (здесь) автоматически создается при каждом отправке в главную ветку. Чтобы собрать документацию локально, установите дополнительные зависимости с помощью pip install moviepy[doc]
, затем перейдите в папку docs
и запустите make html
.
MoviePy — это программное обеспечение с открытым исходным кодом, первоначально написанное Зулко и выпущенное под лицензией MIT. Проект размещен на GitHub, где каждый может внести свой вклад, открыть вопросы или оставить отзыв. Пожалуйста, прочтите наши Правила участия. Чтобы обратиться за помощью или просто обсудить использование и примеры, воспользуйтесь нашим каналом Reddit.
Требуются сопровождающие! эта библиотека поддерживается на плаву только благодаря участию ее сопровождающих, и бывают случаи, когда ни у кого из нас нет достаточной пропускной способности. Мы хотели бы услышать о разработчиках, которые заинтересованы в помощи и решении некоторых проблем (особенно тех, которые затрагивают вас) или рассмотрении запросов на включение. Откройте вопрос или свяжитесь с нами напрямую, если вы заинтересованы. Спасибо!