Ada dua frame rate yang perlu dipertimbangkan: input dan output.
Secara default rate frame input adalah 25, dan output akan menggunakan frame rate yang sama dengan input kecuali Anda memberi tahu sebaliknya.
Frame rate yang sama untuk input dan output
Jika Anda ingin input dan output memiliki frame rate yang sama, maka cukup berikan frame rate input. Contoh ini akan menetapkan kecepatan bingkai 30000/1001 (video NTSC):
ffmpeg -framerate 30000/1001 -i input output.mp4
Atau, dalam contoh ini, Anda bisa menggunakan ntsc
alih-alih 30000/1001
, tetapi jangan gunakan 29.97
karena itu tidak akurat atau benar. Lihat alias laju bingkai lainnya .
Karena frame rate input default adalah 25, dan jika Anda hanya menetapkan frame rate output, maka frame akan turun atau digandakan untuk mengkompensasi. Itulah sebabnya frame rate input diatur dalam situasi ini.
Frame rate berbeda untuk input dan output
Kadang-kadang Anda mungkin ingin frame rate input dan frame rate output berbeda. Misalnya, Anda mungkin ingin memasukkan frame pada kecepatan tertentu, dan kemudian menduplikasi atau menjatuhkan frame sehingga output memiliki frame rate yang berbeda. Anda mungkin ingin melakukan ini karena masalah kompatibilitas dengan wadah format output, pemutar, dan / atau perangkat Anda:
ffmpeg -framerate 10 -i input -r 25 output.mp4
Dalam contoh ini frame akan diduplikasi untuk beralih dari 10 menjadi 25. Output konsol akan memberi tahu Anda jika frame sedang dijatuhkan atau diduplikasi.
The file gambar demuxer penggunaan -framerate
, sementara frame rate output diatur menggunakan -r
.
Anda mungkin harus menambahkan -pix_fmt yuv420p
opsi dalam beberapa keadaan jika Anda menghasilkan video H.264 ( ffmpeg
output konsol akan memperingatkan Anda jika memang perlu). Ini akan menggunakan skema subsampling kroma yang kompatibel dengan semua pemain.