Nota
MoviePy se actualizó recientemente a la versión 2.0, introduciendo cambios importantes. Puede consultar los últimos documentos de la v1 aquí, pero tenga en cuenta que la v1 ya no se mantiene. Para obtener más información sobre cómo actualizar su código de v1 a v2, consulte esta guía.
MoviePy (documentación en línea aquí) es una biblioteca de Python para edición de video: cortes, concatenaciones, inserciones de títulos, composición de video (también conocida como edición no lineal), procesamiento de video y creación de efectos personalizados.
MoviePy puede leer y escribir todos los formatos de audio y vídeo más comunes, incluido GIF, y se ejecuta en Windows/Mac/Linux, con Python 3.9+.
En este ejemplo abrimos un archivo de vídeo, seleccionamos el subclip de entre 10 y 20 segundos, agregamos un título en el centro de la pantalla y escribimos el resultado en un nuevo archivo:
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" )
Básicamente, MoviePy importa medios (cuadros de video, imágenes, sonidos) y los convierte en objetos Python (matrices numerosas) para que cada píxel sea accesible y los efectos de video o audio se puedan definir en solo unas pocas líneas de código (consulte la efectos incorporados para ejemplos).
La biblioteca también proporciona formas de mezclar clips (concatenaciones, reproducción de clips uno al lado del otro o uno encima del otro con transparencia, etc.). Luego, el clip final se vuelve a codificar en mp4/webm/gif/etc.
Esto hace que MoviePy sea muy flexible y accesible, aunque más lento que usar ffmpeg directamente debido a operaciones de importación/exportación de datos más pesadas.
Instale moviepy con pip install moviepy
. Para opciones de instalación adicionales, como un FFMPEG personalizado o una vista previa, consulte esta sección. Para el desarrollo, clone ese repositorio localmente e instálelo con pip install -e .
La documentación en línea (aquí) se crea automáticamente en cada envío a la rama maestra. Para compilar la documentación localmente, instale las dependencias adicionales mediante pip install moviepy[doc]
, luego vaya a la carpeta docs
y ejecute make html
.
MoviePy es un software de código abierto escrito originalmente por Zulko y lanzado bajo la licencia del MIT. El proyecto está alojado en GitHub, donde todos pueden contribuir y abrir problemas o dar comentarios. Lea nuestras Pautas de contribución. Para pedir ayuda o simplemente discutir el uso y ejemplos, utilice nuestro canal Reddit.
¡Se buscan mantenedores! Esta biblioteca sólo se ha mantenido a flote gracias a la participación de sus mantenedores, y hay ocasiones en las que ninguno de nosotros tiene suficiente ancho de banda. Nos encantaría conocer desarrolladores interesados en echar una mano y resolver algunos de los problemas (especialmente los que le afectan) o revisar las solicitudes de extracción. Abra una edición o contáctenos directamente si está interesado. ¡Gracias!