Hanya mux gambar
Anda dapat dengan mudah mux gambar JPG untuk membuat video:
ffmpeg -framerate 30 -i input%03d.jpg -codec copy output.mkv
Perhatikan bahwa jika Anda menghilangkan -framerate
maka default -framerate 25
akan diterapkan pada input.
Optimalisasi lossless
Anda dapat menggunakan jpegtran
untuk melakukan optimasi lossless pada setiap frame yang dapat memberikan penghematan ukuran file yang signifikan:
mkdir outputdir
for f in *.jpg; do jpegtran -optimize -copy none -perfect -v "$f" > "outputdir/$f"; done
Sekarang mux dengan ffmpeg
seperti yang ditunjukkan di atas.
Memeriksa bahwa itu sebenarnya lossless
The framehash muxer dapat digunakan untuk membandingkan hash unik setiap frame untuk memastikan bahwa hasilnya adalah benar-benar lossless:
$ 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
...
Dalam contoh di atas setiap frame terkait untuk input dan output berbagi hash yang sama memastikan bahwa frame identik dan bahwa output adalah lossless.
Lihat juga