MoviePy – Creación de videoclip

En este artículo veremos cómo podemos crear un videoclip en MoviePy. MoviePy es un módulo de Python para la edición de videos, que se puede usar para operaciones básicas en videos y GIF. El video está formado por los cuadros, la combinación de cuadros crea un video, cada cuadro es una imagen individual. VideoClip es la clase base para todos los demás videoclips en MoviePy. Si todo lo que desea es editar archivos de video, nunca lo necesitaremos. Esta clase es práctica cuando queremos hacer animaciones a partir de fotogramas generados por otra biblioteca. Todo lo que necesitamos es definir una función make_frame(t) que devuelva una array numpy HxWx3 (de enteros de 8 bits) que represente el marco en el momento t. 
 

Para hacer esto usaremos el método VideoClip
. Sintaxis: VideoClip(hacer_fotograma, duración) 
Argumento: Toma método y duración como argumento
Retorno: Devuelve el objeto VideoClip 
 

A continuación se muestra la implementación. 
 

Python3

# importing matplotlib and numpy
import matplotlib.pyplot as plt
import numpy as np
 
# importing movie py libraries
from moviepy.editor import VideoClip
from moviepy.video.io.bindings import mplfig_to_npimage
 
# numpy array
x = np.linspace(-2, 2, 200)
 
# matplot subplot
fig, ax = plt.subplots()
duration = 2
 
# method to get frames
def make_frame(t):
     
    # clear
    ax.clear()
     
    # plotting line
    ax.plot(x, np.sin(x + 2 * np.pi / duration * t), lw = 3)
    ax.set_ylim(-1.5, 2.5)
     
    # returning numpy image
    return mplfig_to_npimage(fig)
 
# creating Video Clip
clip = VideoClip(make_frame, duration = 3)
 
# displaying clip
clip .ipython_display(fps = 20, loop = True, autoplay = True)

Producción : 
 

Moviepy - Building video __temp__.mp4.
Moviepy - Writing video __temp__.mp4

                                                                                                                       
Moviepy - Done !
Moviepy - video ready __temp__.mp4

Otro ejemplo 
 

Python3

# importing matplotlib and numpy
import matplotlib.pyplot as plt
import numpy as np
 
# importing movie py libraries
from moviepy.editor import VideoClip
from moviepy.video.io.bindings import mplfig_to_npimage
 
# numpy array
x = np.linspace(-4, 4, 100)
 
# matplot subplot
fig, ax = plt.subplots()
 
duration = 2
 
# method to get frames
def make_frame(t):
     
    # clear
    ax.clear()
     
    # plotting line
    ax.plot(x, np.cos(x + 4 * np.pi / duration * t), lw = 3)
    ax.set_ylim(-1.5, 2.5)
     
    # returning numpy image
    return mplfig_to_npimage(fig)
 
# creating Video Clip
clip = VideoClip(make_frame, duration = 3)
 
# displaying clip
clip .ipython_display(fps = 20, loop = True, autoplay = True)

Producción : 
 

Moviepy - Building video __temp__.mp4.
Moviepy - Writing video __temp__.mp4

                                                                                                                       
Moviepy - Done !
Moviepy - video ready __temp__.mp4

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *