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
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
Código: Seleccionar todo
./frame_converter img/output output.wav
mv img/output.mvz ../mivideo.mvz
rm -rf img
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.