CodeGym /Cursos /Python SELF ES /Creación de un video complejo con MoviePy: títulos, músic...

Creación de un video complejo con MoviePy: títulos, música y efectos animados

Python SELF ES
Nivel 48 , Lección 3
Disponible

1. Composición de video: combinamos todas las técnicas aprendidas

Hoy vamos a crear algo especial: un video complejo con títulos, música de fondo y efectos animados utilizando la biblioteca MoviePy. Pero antes de sumergirnos en el proceso creativo, déjame adivinar: ¿ya intentaste añadir texto al video y sincronizarlo con una pista de audio? Si no, ¡es el momento perfecto para dominar estas habilidades y experimentar todo el poder de la automatización en el mundo de la producción de video!

Antes de comenzar, recordemos lo que ya aprendimos en las lecciones anteriores. Aprendimos a extraer y procesar videoclips y audioclips, añadir texto y gráficos, además de trabajar con animaciones y efectos. Es hora de unir todo esto en un solo proyecto y crear nuestra obra maestra.

Etapas principales de creación de un video complejo

  1. Adición de títulos: Los títulos iniciales y finales ayudan a marcar el principio y el fin del proyecto de video.
  2. Musicalización: La música de fondo agrega un ambiente emocional al video.
  3. Efectos animados: Los textos e imágenes en movimiento hacen que el contenido sea más dinámico e interesante.

2. Creación de un video complejo

Comencemos con la tarea principal: crear un proyecto de video que incluya todos los elementos aprendidos anteriormente. Así es como se verá:


from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip, concatenate_videoclips
from moviepy.audio.AudioClip import CompositeAudioClip, AudioFileClip

# Cargamos el videoclip principal
main_clip = VideoFileClip("clips/scene1.mp4")

# Cargamos el archivo de música
background_music = AudioFileClip("audio/background.mp3")

# Creamos los títulos (por ejemplo, para el inicio del video)
title_text = "¡Bienvenido a nuestra obra cinematográfica!"
title_clip = TextClip(title_text, fontsize=70, color='white', bg_color='black', size=main_clip.size)
title_clip = title_clip.set_duration(5)

# Creamos un video compuesto, añadiendo los títulos sobre el video principal
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0)])
    

Comenzamos creando un video compuesto simple, añadiendo los títulos. En nuestro caso, los títulos ocupan los primeros 5 segundos del video. La clave está en usar CompositeVideoClip, que nos permite combinar varios videoclips y superponerlos entre sí.

Aplicación de capas y animación de elementos

Para hacer que el video sea más vívido y dinámico, añadiremos algunas animaciones y gráficos. Supongamos que queremos añadir un texto en movimiento que aparece suavemente en la pantalla.


from moviepy.editor import TextClip

# Creamos un texto animado
animated_text = TextClip("¡Mira e inspírate!", fontsize=50, color='yellow', bg_color='black')
animated_text = animated_text.set_duration(3).set_position(lambda t: ('center', 200*(1 - t/3)))

# Añadimos el texto al video, comenzando en el segundo 5
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0), animated_text.set_start(5)])
    

La función set_position nos permite animar el texto, cambiando su posición dependiendo del tiempo t. En este caso, el texto baja suavemente desde la parte superior durante 3 segundos.

Adición de un logotipo con efecto de escala

Si quieres, puedes añadir tu logotipo (aunque no es obligatorio).


from moviepy.editor import ImageClip

logo = ImageClip("logo.png").set_duration(5)
logo = logo.resize(lambda t: 1 + 0.2 * t).set_position(('right', 'bottom'))
    

Aquí:

  • resize(lambda t: 1 + 0.2 * t) aumenta el tamaño del logotipo un 20% cada segundo, creando un efecto de escala.

3. Trabajo con la musicalización

Ahora añadamos música de fondo para hacer el video más emocionante. En el mundo del video, la música es emoción. Define el estado de ánimo de toda la obra.

Carga de video y adición de pista de audio


from moviepy.editor import VideoFileClip, AudioFileClip

# Carga del video principal y archivo de audio
video = VideoFileClip("main_video.mp4")
audio = AudioFileClip("background_music.mp3").subclip(0, video.duration)

# Adición de la pista de audio al video
video_with_audio = video.set_audio(audio)
    

Aquí:

  • AudioFileClip("background_music.mp3").subclip(0, video.duration) ajusta la pista de audio a la duración del video.
  • set_audio(audio) añade música de fondo al video.

O puedes superponer la música como una segunda pista


# Establecemos el audio en el videoclip final
final_audio = CompositeAudioClip([main_clip.audio, background_music.set_duration(main_clip.duration).volumex(0.5)])
final_clip = final_clip.set_audio(final_audio)
    

Usamos CompositeAudioClip para combinar la pista de audio del videoclip principal con la pista de música de fondo. Aquí la función volumex ayuda a ajustar el volumen de la música para que no sobrepase las voces (si las hay).

Sincronización del audio con el video

Un aspecto importante al trabajar con audio: asegúrate de que la pista musical coincida en duración con el video. Esto se puede hacer utilizando el método set_duration, como se muestra arriba.

4. Exportación y optimización del video

Ahora que nuestro proyecto de video está completo, es hora de remangarnos y exportarlo en un formato que nos convenga.

Exportación del video


# Exportación del video al archivo final
final_clip.write_videofile("final_video.mp4", codec='libx264', bitrate='800k')
    

Aquí usamos el método write_videofile para guardar nuestro proyecto de video en formato MP4. Es importante elegir un codec adecuado, como libx264, que garantiza buena calidad y compatibilidad con la mayoría de dispositivos.

Aprenderás más sobre la exportación de videos en las próximas lecciones.

Optimización para la web y redes sociales

Al crear videos para la web o redes sociales, es importante reducir su tamaño sin perder calidad. Esto se puede hacer ajustando un parámetro como bitrate. Debes elegirlo considerando la plataforma donde planeas subir el video.

¡Y listo, tu video está terminado! Felicidades, has creado tu primera obra maestra cinematográfica con MoviePy. Ahora no olvides compartir los resultados en las redes sociales y ver qué impacto tiene tu creación en tus amigos y colegas. ¡Te deseo éxito en tus futuras aventuras en el mundo del video!

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION