Bagaimana bitrate pengodean video memengaruhi durasi dan mengapa?

1

Apakah pengodean video yang tidak dikompresi ke dalam bitrate yang lebih tinggi membutuhkan waktu lebih lama (daripada dalam bitrate yang lebih rendah)?

Jika demikian, mengapa - tampaknya pembuat enkode perlu sedikit upaya karena tidak perlu memampatkan file dengan keras?

Jika tidak, mengapa - bukankah lebih banyak kualitas berarti lebih banyak pekerjaan yang harus dilakukan oleh pembuat enkode?

Aku hanya tidak bisa melupakan ini.

Leonid Shevtsov
sumber
Bukankah itu tergantung pada sejumlah hal: codec, perangkat lunak pengkodean, seberapa baik masing-masing dioptimalkan, kecepatan penyimpanan Anda dan sebagainya? Cara terbaik untuk menjawab pertanyaan ini adalah dengan melakukan beberapa tes, jika tidak Anda hanya berspekulasi.
stib

Jawaban:

2

Encoding lossy pada dasarnya adalah kompresi, dicapai melalui berbagai algoritma. Mari kita pertimbangkan kasus tepi, dan dari sana, kami memotong jawaban untuk pertanyaan Anda.

Bayangkan video input Anda harus dikodekan dengan kualitas terbaik. Apa artinya itu, tepatnya? Yah, kami hanya mengambil setiap piksel apa adanya, dan menyimpannya seperti itu. Berapa banyak waktu yang perlu kita lakukan itu? Hampir tidak ada. Itu akan menjadi yang tercepat.

Anda kemudian dapat melanjutkan dan mencoba untuk meminimalkan perbedaan antara frame dengan hanya mengkode perbedaan relatif mereka. Anda memprediksi bingkai B dari bingkai SEBUAH dan kemudian menyimpan residu setelah mengurangi prediksi B . Itu membuat Anda dengan kualitas yang sama, tetapi meningkatkan waktu pemrosesan. Ini juga memberi Anda file yang jauh lebih kecil.

Bagaimana jika Anda ingin mengurangi ukuran file lebih lanjut? Sekarang di sinilah algoritma kuantisasi dan optimisasi yang berbeda masuk. Anda dapat menghitung jumlah detail spasial dan temporal di wilayah bingkai dan kemudian secara dinamis menyesuaikan kualitas relatif bagian itu dalam video sehingga dirasakan dengan tingkat kualitas tertentu . Ini adalah Mode CRF dalam x264 . Dalam hal ini, jika Anda ingin kualitas tinggi, tidak banyak yang bisa dilakukan oleh pembuat enkode — tidak perlu "membuang begitu banyak", cukup berbicara.

Pada dasarnya, ketika Anda memberi tahu pembuat kode bahwa itu tidak harus bekerja keras dalam mengoptimalkan kualitas, itu akan lebih cepat.

Tapi mungkin kita harus melakukan tes kecil saja. Saya mengambil sampel film 30 detik dan mengkodekannya dengan x264, menggunakan berbagai pengaturan CRF di server. Inilah waktu yang dibutuhkan:

Sama untuk bitrate:

slhck
sumber