Solo mux las imágenes
Simplemente puede modificar las imágenes JPG para hacer un video:
ffmpeg -framerate 30 -i input%03d.jpg -codec copy output.mkv
Tenga en cuenta que si omite , se aplicará -framerate
un valor predeterminado de -framerate 25
a la entrada.
Optimización sin pérdidas
Puede usar jpegtran
para realizar una optimización sin pérdidas en cada marco que puede proporcionar ahorros significativos en el tamaño del archivo:
mkdir outputdir
for f in *.jpg; do jpegtran -optimize -copy none -perfect -v "$f" > "outputdir/$f"; done
Ahora mux con ffmpeg
como se muestra arriba.
Comprobando que en realidad no tiene pérdidas
El framehash muxer se puede utilizar para comparar el hash único de cada cuadro para garantizar que el resultado sea realmente sin pérdidas:
$ ffmpeg -i input%03d.jpg -f framehash -
stream_index, packet_dts, packet_pts, packet_duration, packet_size, hash
0, 0, 0, 1, 460800, 29bcc2db3726c7dfec1826c5740f603f
0, 1, 1, 1, 460800, b5fdc23d93cbd043dc2b9290dc8378f0
0, 2, 2, 1, 460800, ee0709942f24b458fd2380d134dcb59d
...
$ ffmpeg -i output.mkv -map 0:v -f framehash -
stream_index, packet_dts, packet_pts, packet_duration, packet_size, hash
0, 0, 0, 1, 460800, 29bcc2db3726c7dfec1826c5740f603f
0, 1, 1, 1, 460800, b5fdc23d93cbd043dc2b9290dc8378f0
0, 2, 2, 1, 460800, ee0709942f24b458fd2380d134dcb59d
...
En los ejemplos anteriores, cada cuadro asociado para la entrada y la salida comparten el mismo hash asegurando que los cuadros sean idénticos y que la salida no tenga pérdidas.
Ver también