Seperti yang ditunjukkan oleh @LordNeckbeard, bitrate konstan tidak sama dengan kualitas konstan. Bahkan, justru sebaliknya. Bagian-bagian tertentu dari urutan video lebih mudah untuk dikodekan daripada yang lain (lebih mudah dalam arti membutuhkan lebih sedikit bit), dan yang lainnya tidak. Jika Anda menghabiskan semua bagian Anda pada bagian yang mudah, Anda akan kekurangan bagian yang lebih sulit.
Di situlah kualitas konstan berperan. Di x264 ada Faktor Tingkat Konstan , yang melakukan hal itu. Saya sarankan Anda membaca artikel yang ditautkan jika Anda ingin lebih banyak informasi latar belakang. Pada dasarnya, CRF berkisar dari 0 (lossless, terbaik) hingga 51 (terburuk). Langkah ± 6 kira-kira egal ganda atau setengah bitrate.
Jadi, untuk mengadaptasi skrip Anda, lakukan saja hal berikut:
for i in $(seq 0 5 51); do
ffmpeg -i input.mkv -c:v libx264 -crf $i -c:a copy output-$i.mkv
done
Skala itu sendiri — kecuali saya salah — dekat dengan logaritmik dalam hal kualitas, sehingga Anda dapat menghitung langkah-langkah Anda berdasarkan itu alih-alih seq
panggilan.
Dengan bitrate sangat rendah ($ j = 150), di awal (antara 0 dan 3s), videonya benar-benar buruk tetapi pada akhirnya (antara 8 dan 10s), kualitasnya pantas! Selain itu, saat menonton video, orang dapat melihat peningkatan kualitas ini dari waktu ke waktu. Adakah yang bisa menjelaskan fenomena ini kepada saya?
Melakukan laju bit konstan bukanlah tugas yang mudah bagi pembuat enkode. Anda memberinya nilai tertentu untuk dikerjakan, mis. Katakan "beri saya 150 kBit per detik", tetapi pembuat enkode tersebut bahkan tidak tahu apa yang akan dikodekan pada frame berikutnya.
Jadi, berapa banyak yang harus dikeluarkan untuk bingkai ini? Berapa banyak untuk selanjutnya? Beberapa bingkai — seperti yang saya sebutkan di atas — mudah dikodekan dan hanya butuh beberapa kilobit, sementara yang lain mungkin membutuhkan lebih banyak. Tetapi encoder benar-benar hanya dapat melihat apa yang disandikan di masa lalu untuk skala untuk gambar masa depan. Juga memperhitungkan berbagai jenis gambar .
Secara algoritma, melakukan bitrate konstan sangat sulit, dan itu juga yang terburuk dari mode kontrol laju yang ditawarkan x264. Khusus untuk klip pendek, karena pembuat enkode tidak akan tahu apa yang dapat diharapkan tanpa melakukan pengodean 2-pass, Anda mungkin memperhatikan ini dalam cara Anda menggambarkan: kualitas berubah secara drastis selama sepuluh detik. Tapi 150 kBit / s sebenarnya tidak cukup untuk video dengan dimensi yang lumayan.