Ini sangat sederhana dengan ffmpeg, dan dapat menghasilkan satu frame setiap N detik tanpa skrip tambahan. Untuk mengekspor sebagai urutan gambar cukup gunakan myimage_%04d.pngatau mirip dengan output. The %0xdbit dikonversi menjadi nol-empuk bilangan bulat xdigit - contoh yang saya berikan mendapat output
myimage_0000.png,
myimage_0001.png,
myimage_0002.png
dll ..
Anda dapat menggunakan banyak format gambar diam, png, jpeg, tga, apa pun (lihat ffmpeg -formatsdaftar lengkap).
Ok jadi sekarang kita tahu bagaimana mengekspor film sebagai urutan gambar, tetapi katakan kita tidak ingin mengekspor setiap frame?
Caranya adalah dengan hanya mengubah frame rate dari output ke apa pun yang kita inginkan menggunakan -r nopsi di mana njumlah frame per detik. 1 frame per detik adalah -r 1satu frame setiap empat detik -r 0.25, satu frame setiap sepuluh detik, -r 0.1dan seterusnya.
Jadi untuk menyatukan semuanya, beginilah tampilannya untuk menyimpan satu frame dari input.movsetiap empat detik output_0000.png, output_0001.pngdll.:
ffmpeg -i input.mov -r 0.25 output_%04d.png
Perhatikan bahwa -r 0.25opsi pergi setelah itu -i input.movsebagian, karena itu mengendalikan frame rate dari keluaran . Jika Anda meletakkannya sebelum input, itu akan memperlakukan file input seolah-olah itu memiliki frame rate yang ditentukan.
Ubah% xd menjadi berapa banyak digit yang Anda butuhkan, misalnya jika perintah akan membuat lebih dari 10.000 frame, ubah %04dmenjadi %05d. Ini juga berfungsi untuk file input yang merupakan urutan gambar. Baca lebih lanjut di sini .
Pengguna Windows : Pada baris perintah digunakan%
contoh: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
Dalam CMD dan Script BAT digunakan %%
contoh: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
Jadi gandakan %%dalam skrip, dan lajang %di baris perintah interaktif. Melakukan kesalahan di kedua situasi akan menghasilkan kesalahan.