Baru-baru ini saya ingin mencoba Webm codec VP8 dan VP9 tetapi ketika saya berlari ffmpeg
untuk menyandikan file H.264 MP4 ke dalam salah satu dari dua codec lainnya, saya menyadari bahwa penyandian (dengan urutan hampir besar) lebih lambat.
Video 1080p30 dari H.264 hingga VP9 dengan kecepatan 3 MBit / dtk sedang dikodekan pada kisaran 6-7 fps sementara video yang sama mengkodekan sekitar 40 fps ke H.264. Saya menggunakan libvpx-vp9
codec ffmpeg
untuk format VP9. Saya mendapatkan hasil yang sama untuk VP8 dan Theora juga.
Bisakah seseorang menjelaskan kepada saya mengapa VP9 jauh lebih lambat? Saya mencoba mesin yang berbeda yang memberi saya resullts serupa menggunakan Handbrake.
Jawaban:
libvpx-vp9
adalah encoder yang jauh lebih lambat daripadalibx264
tetapi pengaturan default utas di ffmpeg (0 = otomatis) tidak efektif untuk libvpx. Pengaturan secara manual itu memberikan tonjolan kecepatan. misalnyaPada mesin 4-core, ketika meng-encode streaming H.264 1080-30p, saya mendapatkan benjolan dari
3.8 fps
ke10 fps
.sumber
-preset
untuklibx264
dan-speed
untuklibvpx-vp9
. Lihatffmpeg -h full
. Ini dapat membuat perbedaan, tetapi mereka juga mempengaruhi kualitas atau efisiensi kompresi.-speed
pilihan tidak membuat perbedaan besar bagi sayaVP9 adalah codec yang lebih kompleks yang memberikan kompresi yang lebih baik. Kompresi video / rasio kinerja cenderung eksponensial. Anda harus mengharapkan penggantian VP9 (AV1) menjadi lebih lambat.
sumber