MoviePy: editor de video en Python – guía completa

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

MoviePy para Python: guía completa de edición de video

Introducción a la biblioteca MoviePy

Tradicionalmente, trabajar con video implicaba herramientas pesadas y APIs complejas. Pero en Python existe una biblioteca que hace que la edición de video sea simple y expresiva: MoviePy. Te permite crear, editar, combinar y exportar videos con una cantidad mínima de código.

MoviePy está construida sobre FFmpeg y admite una amplia variedad de formatos de video y audio. Es ideal para crear clips dinámicos, generar memes, hacer montajes programáticos, animaciones y sincronizar con audio. Los desarrolladores la usan activamente para automatizar la producción de video, generar contenido para redes sociales y procesar archivos multimedia a gran escala.

Las principales ventajas de MoviePy incluyen su sintaxis sencilla, funcionalidad completa, soporte para múltiples formatos, integración con NumPy y la capacidad de crear composiciones complejas sin necesidad de conocimientos profundos sobre códecs de video.

Instalación y configuración de MoviePy

Instalación con pip

pip install moviepy

Dependencias adicionales

Para que MoviePy funcione correctamente, necesitas FFmpeg. En la mayoría de los casos se instala automáticamente, pero si surgen problemas:

Windows:

# Con chocolatey
choco install ffmpeg

# O descárgalo desde el sitio oficial

macOS:

brew install ffmpeg

Linux:

sudo apt install ffmpeg  # Ubuntu/Debian
sudo yum install ffmpeg  # CentOS/RHEL

Verificar la instalación

from moviepy.editor import VideoFileClip
print("¡MoviePy se instaló correctamente!")

Conceptos básicos para trabajar con archivos de video

Cargar un video

from moviepy.editor import VideoFileClip

# Cargar un archivo de video
clip = VideoFileClip("video.mp4")

# Obtener información del video
print(f"Duración: {clip.duration} segundos")
print(f"Dimensiones: {clip.size}")
print(f"FPS: {clip.fps}")

Trabajar con diferentes formatos

MoviePy admite una amplia gama de formatos de video:

  • MP4, AVI, MOV, WMV
  • MKV, FLV, WebM
  • GIF (tanto como formato de entrada como de salida)

Operaciones básicas de edición

Recortar y segmentar video

# Recortar por tiempo
clip_cut = clip.subclip(10, 20)  # del segundo 10 al 20

# Recortar desde el inicio
clip_from_start = clip.subclip(0, 30)

# Recortar hasta el final
clip_to_end = clip.subclip(15)

# Eliminar un fragmento
clip_without_part = clip.cutout(5, 15)

Cambiar tamaño y calidad

# Cambiar tamaño por altura
resized = clip.resize(height=480)

# Cambiar tamaño por ancho
resized = clip.resize(width=640)

# Escalado proporcional
resized = clip.resize(0.5)  # 50% del tamaño original

# Cambiar FPS
fps_changed = clip.set_fps(30)

Rotar y reflejar

# Rotar 90 grados
rotated = clip.rotate(90)

# Reflejo horizontal
from moviepy.video.fx import mirror_x
mirrored = mirror_x(clip)

# Reflejo vertical
from moviepy.video.fx import mirror_y
mirrored_y = mirror_y(clip)

Trabajar con texto y títulos

Crear clips de texto

from moviepy.editor import TextClip, CompositeVideoClip

# Texto simple
text = TextClip("¡Hola, mundo!", fontsize=70, color='white', font='Arial-Bold')
text = text.set_position('center').set_duration(5)

# Texto con fondo
text_with_bg = TextClip("Título", fontsize=50, color='white',                    

Recommendations