Ejemplo de como dar motion blur a un video con AviSynth

Ejemplo de como dar motion blur a un video con AviSynth

Para dar motion blur a un video hay que reducir los fps. Así que conviene que el video inicial sea de 48fps o mas, para poderlo convertir a 24fps.

En el siguiente ejemplo se convierte uno de 48fps a 12fps.

Hay que tener instalados 3 programas:
Descargar e instalar el AviSynth (AviSynth_258.exe) Son unos filtros para editar video que se ejecutan con el VirtualDub o el Windows Media Player 6.4 o el ...
Descargar el VirtualDub (VirtualDub-1.10.4.zip) es portable
Descargar el AvsP (AvsP_v2.0.2.zip) esportable. Es un editor de texto para el AviSynth.
Descargar los tres programas

1º Abrir el AvsP y escribir:

#########################################################################
# Abre el video avi. Si el video esta comprimido en Microsoft Windows 1, funciona.
# Si esta comprimido en otro formato , no lo se.
clip1=avisource("C:\video48fps.avi")

# Coje 4 frames y los mete en 4 variables. Por que para pasar de 48fps a 12 fps
# hay que convertir cada 4 frames en 1.
c1=selectevery(clip1, 4, 0)
c2=selectevery(clip1, 4, 1)
c3=selectevery(clip1, 4, 2)
c4=selectevery(clip1, 4, 3)

# Cambia el brillo de cada frame a la mitad (el color de-0/a-255 hata
# de-0/a-127) Por que como luego se van a sumar de dos en dos
# primero tienen que valer la mitad.
c1=Levels(c1, 0, 1.0, 255, 0, 127)
c2=Levels(c2, 0, 1.0, 255, 0, 127)
c3=Levels(c3, 0, 1.0, 255, 0, 127)
c4=Levels(c4, 0, 1.0, 255, 0, 127)

# suma dos frames y otros dos frames.
# El valor opacity puede ser de 0.0 a 1.0
blend1 = Overlay(c1, c2, mode="add", opacity=0.8)
blend2 = Overlay(c3, c4, mode="add", opacity=0.8)

# Cambia el brillo de la suma
blend1=Levels(blend1, 0, 1.0, 255, 0, 127)
blend2=Levels(blend2, 0, 1.0, 255, 0, 127)

# Suma
blend11=Overlay(blend1, blend2, mode="add", opacity=0.8)

# La salida del frame resultante sera a 12fps
AssumeFPS(blend11, 12)
#########################################################################

Guardar lo escrito como MotionBlur.avs

2º Abrir el VirtualDub y con el ratón ir al menú Archivo-Abrir-MotionBlur.avs
Así se ejecuta el efecto MotionBlur.avs

3º En el VirtualDub con el ratón ir al menú Archivo-Guardar Como y guardar el archivo. Y el archivo guardado ya tiene el efecto MotionBlur.avs y se puede ver.

El archivo que sale esta sin comprimir así que puede ocupar mucha memoria y reproducirse lento. Conviene comprimirlo después.

Para manejar el audio, puede servir el siguiente ejemplo

#############################################################
# Abre un video sin el audio y lo pone en la variable clip1
clip1=avisource("C:\video1.avi", "false")

# Abre un video con el audio y lo pone en la variable clip2
clip2=avisource("C:\video2.avi",)

# Abre un archivo de audio y lo pone en una variable
audio1 = WavSource("c:\audio1.wav")

# Coje el audio del video clip2.
# 1 para el canal izquierdo. 2 para el canal derecho
audioMono1 = GetChannel(clip2, 1)
audioMono2 = GetChannel(clip2, 2)

# Convierte el audio en estereo
audio2=MonoToStereo(audioMono1, audioMono2)

# Mezcla los dos audios. El volumen puede ir de 0.0 a 1.0
# 0.5 es el valor por defecto.
audio3 = MixAudio(audio1, audio2, 0.5, 0.5)

# Mezcla el video y el audio
return AudioDub(clip1, audio3)
#############################################################

eltelegramon@gmail.com