Página 1 de 1

Creación de vídeos MVZ

Publicado: 15 Sep 2020, 17:52
por kounch
Hola

fascinado por la demo de Bad Apple para ZX-Uno y la forma en que estaba creado el vídeo, he estado mirando para poder los míos propios.

Este sistema está probado en Linux y Mac OS X, pero debería ser similar en Windows.

Necesitamos dos programas:
- Por un lado ffmpeg para extraer del vídeo que tengamos (en otro formato como MP4, MKV, AVI, etc.) los fotogramas y el audio.
- Por otro lado, el programa frame_converter del repositorio de ZX-Uno. Como no hay versión ejecutable, hay que compilarlo

Código: Seleccionar todo

gcc frame_converter.c -o frame_converter
Adjunto a este mensaje una versión modificada del código fuente, que permite añadirle como parámetros el patrón de imágenes a usar y el nombre archivo de audio. Si se prefiere utilizar el original, habrá que generar las imágenes con el patrón "ba%04d.bmp", y el archivo de audio llamarlo "audio_badapple_12820.wav"

Con todo esto preparado, los pasos a seguir son:

1. Extraer del vídeo el audio y los fotogramas como imágenes en el formato adecuado. Por ejemplo, si el vídeo se llamase "input.mp4":

Código: Seleccionar todo

ffmpeg -i input.mp4 -ar 12820 -ac 1 -acodec pcm_u8 output.wav
ffmpeg -i input.mp4 -pix_fmt monob -vf "vflip, scale=256:192" -sws_flags lanczos -sws_dither ed -start_number 0 output%04d.bmp
2. Generar el nuevo fichero .mvz

Código: Seleccionar todo

./frame_converter img/output output.wav
mv img/output.mvz ../mivideo.mvz
rm -rf img
3. Ahora, basta con copiar juntos el fichero ba.tap y nuestro nuevo vídeo (renombrado como "ba.mvz") a donde queramos y ejecutarlo en nuestro ZXDOS, ZX-Uno o similar para ver el resultado.

Notas:
El vídeo final mantiene muy bien sincronizado el audio si se utiliza un vídeo original que sea a 25 imágenes por segundo constantes (25 fps constant framerate).
También es interesante recortar o ajustar el vídeo para que sea con proporciones 4:3 (por ejemplo: 640x480).
Para mi caso de uso, he preparado un script en bash que hace todos los pasos seguidos. Si alguien está interesado, también podría subirlo.