Ayrıntıda VP9 Bit Hızı Modları

Giriş

Temel Kodlama sayfalarımızda bit hızı modlarıyla ilgili üst düzey ayrıntılar versek de yalnızca CQ (Kısıtlı Kalite) modunu ele alır.

Bu dokümanda, VP9 bit hızlarını çeşitli senaryolara göre optimize etmek için uyarlayabileceğiniz diğer pratik yöntemler ayrıntılı olarak açıklanmaktadır. Aşağıdaki örneklerde FFmpeg kullanılmaktadır.

Sıkıştırma

VP9 gibi video sıkıştırma teknolojileri, son kullanıcılara anlaşılır bir görüntü ve hareket hissi sunmak için gereken veri miktarını azaltmayı amaçlar.

Bu hedefe ulaşmak için kullanılan temel tekniklerden biri de nicelleştirmedir. Niceleyici, resmin çeşitli dijitalleştirilmiş öğelerini matematiksel olarak basitleştirir. Örneğin, kullanılan renk aralığını azaltabilir ve veriler üzerinde matematiksel fonksiyonlar üreterek, azaltılmış renk aralığında algılanan düşük çözünürlük çözünürlüğünü algılayabilir. Bu tür pek çok işlev vardır.

Miktar (veya "Q&quot") Wikipedia makalesinde iyi açıklanmıştır.

VP9'da, dönüştürme katsayılarında ölçüm yapılır. Bu, kodlamaya ekleyerek, algılanan kaliteyi korumak için gereken bit hızını azaltır.

Nihayetinde daha fazla miktar (daha yüksek Q numarası) olduğunda, ayrıntılar kaybolur ve kalite daha düşüktür, ancak çerçeveyi depolamak için daha az veri gerekir. Çoğu durumda VP9 kodlayıcı, her karenin karmaşıklığına bağlı olarak zaman içindeki Q değerini değiştirerek bit hızı hedeflerine ulaşır.

Kullanım alanı optimizasyonu

Kullanıcının, VP9 sıkıştırmayı kendi ihtiyaçlarına göre ayarlamasına olanak tanımak için çeşitli programlama arayüzleri üzerinden, ilk sıkıştırma sırasında kalite ve bit hızı dengesini ayarlamak mümkündür.

Kodlayıcıda hız, kalite ve bit hızı arasında kayan bir denge vardır.

  • Kaliteye odaklanan kullanıcılar, daha uzun kodlama süreleri veya daha hızlı ve daha bol bulunan işleme kaynakları sağlamak için hazırlanmalıdır.

  • Kullanıcı, VP9 kodlu dosyanın küçük olduğundan ve hızlı bir şekilde teslim edilebildiğinden emin olmaya odaklanıyorsa, görselin nicel kullanıcı tarafından işlenebilmesi için gereken süreyi azaltmaya hazır olması gerekir ve bu da niteleyicinin daha az çalışabileceği anlamına gelir.

  • Kullanıcı yalnızca yayınlanma hızına (örneğin, canlı bir web yayını veya iki yönlü video konferansta) odaklanıyorsa miktar, bir ağ üzerinden kullanılabilir baytların aktarılabileceği hızdaki (yani bit hızı") kısıtlamalara tamamen bağlı olabilir.

Doğru seçim, her kullanım alanına özel olacaktır. Bu dengeyi kullanım alanınız için ayarlamayı kolaylaştırmak için VP9 dört bit hızı modunda basit yapılandırmayı destekler.

VP9 bit hızı modları

VP9'un desteklediği ana bit hızı modlarına göz atarak başlayalım:

Mod
Sabit Quanzer (Q) Sabit bir nicel değer belirtmenize olanak tanır; bit hızı değişiklik gösterir
Kısıtlı Kalite (CQ) Maksimum kalite düzeyini belirlemenize olanak tanır. Kalite, bit hızı parametrelerinde değişiklik gösterebilir
Değişken Bit Hızı (VBR) Bit hızı kısıtlamaları kapsamında zaman içindeki kalite ve bit hızını dengeler
Sabit Bit Hızı (CBR) Kalite bitiminde bit hızını oldukça sabit tutmaya çalışır

S

Q modu grafiği

Sabit Quantizer modu, dosya boyutu ve bit hızıyla ilgili endişelerin nihai kaliteye tamamen tabi olduğu senaryolar için iyi bir seçenektir.

Q ayarlarının kullanım alanları dijital sinemada, dijital düzenleme paketlerinde veya dijital tabela uygulamalarında bulunabilir. Bunlar içeriğin fiziksel bir fiziksel ortamda

VP9 Q mod bit hızı optimizasyonu

Sürekli Quantizer modu için yapılandırma minimum düzeydedir. Adından da anlaşılacağı gibi Q modu, niteleyiciyi hedef "kalite" düzeyinde tutmaya ve niteleyicinin işlemek istediği veri akışını belirlemesine izin vermeye odaklanmıştır. Kullanıcının tanımlaması gereken tek şey hedef kalitedir.

Temel Kodlama makalesinde resim işleme odağından (bit hızı odağından değil) hedef kalitenin ayrıntıları hakkında daha fazla bilgi bulabilirsiniz.

Q modu bit hızı optimizasyonu için aşağıdaki FFmpeg komut satırı parametrelerini kullanın:

ffmpeg
-b:v 0 Video bit hızını 0 olarak işaretleyerek "Q&quot modunu açıkça ayarladık
-g <arg> Çerçevelerdeki Anahtar Kare Aralığını ayarlar (varsayılan olarak 240)
-crf <arg> Maksimum kalite seviyesini ayarlar. Geçerli değerler 0-63 arasındadır. Düşük sayılar daha kalitelidir
-quality good -speed 0 Çoğu uygulama için varsayılan olarak önerilir. best, -quality good -speed 0'a kıyasla marjinal iyileşme sağlayan bir araştırma aracıdır.
-lossless Kayıpsız mod

Q modu bit hızı : FFmpeg örnekleri

İlk örnek, çok aşırı Q modu ayarıdır ve yalnızca resim için sağlanmıştır. (Bu örneklerde 120 saniyelik klip bile birkaç saat sürecektir ve oluşturulan çıkış dosyası genellikle orijinal kaynaktan çok daha büyüktür.)

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -g 1 -b:v 0 -crf 0 -quality good \
  -speed 0 -lossless 1 -c:a libvorbis Q_g_1_crf_0_120s_tears_of_steel_1080p.webm.webm

-crf etkisini karşılaştırmak için aşağıdaki örneklerde yalnızca -crf değişiklik gösterir. -g öğesinin tanımsız olduğunu unutmayın. Bu durumda, varsayılan olarak 240 ve pratikte -crf için varsayılan değer 10 olur. Bu nedenle, üç örnekten ikincisinde iki parametreye de yer vermeden aynı sonucu elde ederiz:

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 0 -quality good \
  -speed 0 -c:a libvorbis Q_crf_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 10 -quality good \
  -speed 0 -c:a libvorbis Q_crf_10_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 63 -quality good \
  -speed 0 -c:a libvorbis Q_crf_63_120s_tears_of_steel_1080p.webm

Bu örneklerin çıktısı, diskteki boyuta göre değişir. -crf öğesi 0, dosya boyutu 711,8 MB ve -crf ayarı 10, dosya boyutu 125,3 MB ve -crf öğesi 63 değerine ayarlanmışken dosya 4,5 MB'tı. Çok basit bir şekilde açıklamak gerekirse, -crf bağımsız değişkeninin değerini yükselterek VP9 kodlu dosyanın kalitesini düşürdük. Tüm çıkış dosyalarının tam özetini aşağıdaki Sonuçlar tablosunda bulabilirsiniz.

Şimdi, -g ayarını değiştirmenin etkisini karşılaştıralım.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 1 -b:v 0 -quality good \
  -speed 0  -c:a libvorbis Q_g_1_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 240 -b:v 0 -quality good \
  -speed 0 -c:a libvorbis Q_g_240_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 480 -b:v 0 -quality good \
  -speed 0 -c:a libvorbis Q_g_480_120s_tears_of_steel_1080p.webm

-g 1 ayarının boyutu 25, 9 MB olan çok büyük bir dosya ürettiğini fark ettik. Bunu, 4,5 MB dosyayla karşılaştığımız -g 240 ile (varsayılan olarak aynısını açık bir şekilde belirleme) ve 4,4 MB'lık bir dosyayla değiştirdiğimiz -g 480 ile karşılaştırın.

Kalite kontrol

CQ, dosya tabanlı videolar için önerilen bir moddur.

Kalite kontrol modu grafiği

Çoğu içerik türü için bit hızı sınırlarıyla kısıtlı kalite (CQ) modunu kullanmanızı öneririz. Çoğu videoda, hareketli sahneler (ör. aksiyon sahneleri) ve daha az ayrıntı içeren sahnelerin (ör. konuşmalar) bir arada bulunması gerekir. CQ modu, kodlayıcının zor sıralar için daha fazla bit ayırmanın yanı sıra daha uzun ve daha kolay sahnelerde (bit bitleri harcamadan) makul bir kalite seviyesini korumasını sağlar.

Bununla birlikte, üst aralık sağlayarak işlemi sınırlandırmamız gerekir. Aksi takdirde hiç sıkıştırma olmayabilir. Bir daha düşük aralık da ayarlayabiliriz. Burada, resim siyahsa ve kodlama işlemi neredeyse hiçbir şey yapmıyor olsa bile, bu verileri belki de daha verimli bir şekilde işlemeye devam ederiz, ancak sonuçta, siyah bile önemli ölçüde sıkıştırılmaz ve çok siyah görünür.

Ayrıca, niceleyici eşiğini de belirlememiz gerekiyor. VP9'da, nicel eşiği 0 ile 63 arasında farklılık gösterebilir.

CQ modu için aşağıdaki FFmpeg komut satırı parametreleri kullanılır:
ffmpeg
-b:v <arg> Hedef bit hızı belirler (ör. 500 bin)
-minrate <arg>
-maxrate <arg>
Minimum ve maksimum bit hızını ayarlar.
-crf <arg> Maksimum kalite seviyesini ayarlar. Geçerli değerler 0 ile 63 arasıdır, düşük sayılar daha kalitelidir.
CQ bit hızı modu: FFmpeg örnekleri

İlk örnek makul ölçüde geniş bir kısıtlama sağlar. Bununla birlikte, Q için yukarıda verilen örneklere kıyasla bunun, bit hızlarını daha yüksek bir aralığa zorunlu tuttuğunu ve çıkış kalitesinin daha yüksek olduğunu görüyoruz. Dosya boyutu çok daha büyüktür.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1000k -maxrate 4000k -crf 10  -c:a libvorbis \
  CQ_4000_1000_crf_10_120s_tears_of_steel_1080p.webm

Bu örnekteki çıkış dosyası diskte 20,2 MB'tı.Bu değer, yukarıdaki örneklerdeki Q modu kodlamasından önemli ölçüde küçüktür.

Bir sonraki örnekte aksine, bit hızını çok daha yakından tanımlanmış bir aralıkla sınırlandırdık.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -crf 10  -c:a libvorbis \
  CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm

Bu örnekte, çıkış dosyası boyutu 24,1 MB'tı ve yüksek karmaşıklık ve hareket zamanlarında video kalitesi önceki örnekle karşılaştırıldığında gözle görülür şekilde düştü.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 1000k \
  -minrate 750k -maxrate 1400k -crf 10  -c:a libvorbis \
  CQ_1400_750_crf_10_120s_tears_of_steel_1080pp.webm

Bu son örnekte, çıkışın boyutu önemli ölçüde küçültüldü ve diskte 13, 2 MB'a düştü.

VBR

Değişken bit hızı modu (VBR), yüksek kaliteli içeriklerin (ör. spor) seç-izle video dosyalarının akışı için önerilir. HTTP tabanlı dağıtım için uygundur.

VBR mod grafiği

Bir VBR modelinde, işlem sahneleri animasyon karesiyle tutarlı olan "daha kolay" sahnelerden daha yüksek bir bit hızıyla kodlanabilir.

Büyük yayın yayını modelleri için VBR avantajları, hem dağıtım hem de altyapı terimlerinde önemli ölçüde artabilir. Aynı altyapı tarafından birçok VBR akışı sunulduğunda bu, sistemi kullanan tüm izleyicilere fayda sağlayabilir.

VP9 VBR, sporlar ve yüksek çekimli diğer içerikleri kodlamak için de önerilir. Bu gibi karmaşık içerikler için VBR, hareketin daha az olduğu dönemlerde daha yüksek kaliteye ulaşır.

VBR modu için aşağıdaki FFmpeg komut satırı parametreleri kullanılır:
ffmpeg
-quality good Bu özellik mevcutsa FFmpeg sonraki -speed ayarını dikkate alır
-speed <arg> DEMAND DEMAND için VIDEO için geçerli değerler 0-4, 0 en yüksek kalite, 4 ise en düşük değerdir. (Canlı yayın için aralık 5-8 aralığındadır. Aşağıdaki CBR'ye bakın)
VBR bit hızı modu: FFmpeg örnekleri
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 0  -c:a libvorbis \
  VBR_good_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 5  -c:a libvorbis \
  VBR_good_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 8  -c:a libvorbis \
  VBR_good_8_120s_tears_of_steel_1080pp.webm

CBR

VP9 ile canlı yayın için Sabit Bit Hızı modu (CBR) önerilir.

CBR modu grafiği

CBR esasen üst bit hızını "sert tavan" olarak ayarlar. Bu, kodlama sürecinin ağın taşıyamayacağı bir hızda veri üretemediği anlamına gelir.

Örneğin, gerçek zamanlı iletişim (video konferans) akışları için kodlama uygulamasının ağa sunabileceğinden daha fazla veri doldurmaması önemlidir. Çalışıyorsa ses/video senkronizasyon sorunları veya donmuş kareler, kullanıcı deneyimini önemli ölçüde etkiler ve sıkıştırma verimliliğini düşürür. Sert tavanın tanımlandığından emin olunan VP9, tavana ulaşıldığında kaliteyi düşürür.

CBR modu için aşağıdaki FFmpeg komut satırı parametreleri kullanılır:
ffmpeg
-quality realtime Bu özellik mevcutsa FFmpeg sonraki -speed ayarını dikkate alır
-speed <arg> Canlı yayında geçerli değerler 5-8, 5 en yüksek kalite ve 8 en düşük değerdir. (Seç-izle Video için bunlar 0-4 arasındadır. Yukarıdaki VBR'ye bakın.)
-minrate <arg>
-maxrate <arg>
Minimum ve maksimum bit hızını ayarlar ** Bu değerler, CBR modu için aynı -b:v bit hızı değerine ayarlanmalıdır**

Çok basit bir ifadeyle, hedefi, minimum ve maksimum bit hızlarını aynı değere sabitler ve niceleyiciye işlemlerin zaman açısından hassas olduğunu bildiririz.

CBR bit hızı modu: FFmpeg örnekleri

Aşağıdaki örneklerde bit hızını 2 Mb/sn ve 500 kb/sn hedefleri olarak ayarlamayı keşfedin:

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 0 -c:a libvorbis \
  CBR_2000_realtime_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 5 -c:a libvorbis \
  CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 8 -c:a libvorbis \
  CBR_2000_realtime__8_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 0 -c:a libvorbis \
  CBR_500_realtime__0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 5 -c:a libvorbis \
  CBR_500_realtime_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 8 -c:a libvorbis \
  CBR_500_realtime_8_120s_tears_of_steel_1080p.webm

Sonuçlar

Yukarıdaki kodlamaların her biri, aşağıdaki spesifikasyonlara sahip bir Ubuntu Linux sisteminde gerçekleştirilmiştir:

  • İşlemci: 4,20 GHz'te 4x Intel(R) Core(TM) i5-6500 CPU
  • Bellek (RAM): 8.060 MB (1.492 MB kullanılır)
  • Grafik: Intel HD Graphics 530 (Skylake GT2)
  • İşletim sistemi: Ubuntu 16.04 LTS

Kaynak dosyası her durumda bir dakika, yirmi saniyelik (1:20) klipçıkarıldı Tears of Steel.

Dosya Kodlama Dk. Diskteki Dosya Boyutu
Q_g_1_crf_0_120s_tears_of_çelik_1080p.webm 81) 1,06 GB
Q_crf_0_120s_tears_of_steel_1080p.webm 131 711,8 MB
Q_crf_10_120s_tears_of_steel_1080p.webm 118 125,3 MB
Q_crf_63_120s_tears_of_steel_1080p.webm 27 4,5 MB
Q_g_1_120s_tears_of steel_1080p.webm 51) 25,9 MB
Q_g_240_120s_tears_of_steel_1080p.webm 28 4,5 MB
Q_g_480_120s_tears_of_steel_1080p.webm 10 4,4 MB
CQ_4000_1000_crf_10_120s_tears_of_steel_1080p.webm 11 20,2 MB
CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm 9 24,1 MB
CQ_1400_750_crf_10_120s_tears_of_steel_1080p.webm 50 13,2 MB
VBR_good_0_120s_tears_of steel_1080p.webm 3 23,4 MB
VBR_good_5_120s_tears_of_steel_1080p.webm 4 23,9 MB
VBR_good_8_120s_tears_of_steel_1080p.webm 1 23,9 MB
CBR_2000_realtime_speed_0_120s_tears_of_steel_1080p.webm 98 21MB
CBR_2000_realtime_speed_5_120s_tears_of_steel_1080p.webm 2 24,8 MB
CBR_2000_realtime_speed_8_120s_tears_of_steel_1080p.webm 1 21MB
CBR_500_realtime_speed_0_120s_tears_of_steel_1080p.webm 73 6,2 MB
CBR_500_realtime_speed_5_120s_tears_of_steel_1080p.webm 1 8.5MB
CBR_500_realtime_speed_8_120s_tears_of_steel_1080p.webm 1 7,1 MB

5 değerinin üzerinde -speed değerleri belirlemenin VP9 işleme hızını değiştirdiğini fark ettik. Bu, nicelikte önemli bir artış olsa da (çok düşük kaliteli hızlı bit hızlarında güçlü bir etkiyle görülse de) VP9, küçük ekranlar için daha büyük ekranlardan daha uygun olsa da, yine de çok iyi bir düşük bit hızı 1080p çıkışı üretebilir.

Yeniden ölçeklendirme (yeniden boyutlandırma) içeren kullanım alanları hakkında dikkat edilmesi gereken noktalar

VP9' bit hızı modları açıkça izole edilmez ve özellikle kullanım alanlarını hedeflemek için diğer birçok bağımsız değişken ve parametreyle birleştirilebilir. Yaygın kullanım alanlarından biri, belirli bir cihazı hedeflemek için çıkış videosunun boyutlarını yeniden ölçeklendirmektir.

Bunun klasik bir örneği HD akışın SD çıkış olarak değiştirilmesidir. Bunun da işleme süresi ve çıktı hızı üzerinde önemli etkisi olacaktır. İki FFmpeg komutunun aynı olduğu bir senaryoda, sadece çıkış videosunun boyutunu ayarlamak sonuçta ortaya çıkan dosyanın boyutunu ve akış modelindeki bit hızını değiştirir.

Örnek vermek için bit hızı modlarının her birinden orta nokta örneğini aldık ve yeniden ölçeklendirme parametreleri ekledik.

Q modu
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 10 -quality good \
  -speed 0 -vf scale=640x480 -c:a libvorbis 640x480_Q_crf_10_120s_tears_of_steel_1080p.webm
CQ modu
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -crf 10 -vf scale=640x480 -c:a libvorbis \
  640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm
VBR modu
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 5 -vf  scale=640x480 \
  -c:a libvorbis 640x480_VBR_good_5_120s_tears_of_steel_1080p.webm
CBR modu
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 5 -vf  scale=640x480 \
  -c:a libvorbis 640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm

Yeniden ölçeklendirme sonuçları tablosu

Dosya Kodlama Dk. Diskteki Dosya Boyutu
640x480_Q_crf_10_120s_tears_of_steel_1080p.webm 5 3,4 MB
640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm 2 22,4 MB
640x480_VBR_good_5_120s_tears_of_steel_1080p.webm 1 22,6 MB
640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm 4 23MB

Kolayca karşılaştırma yapabilmek için, önceki örneklerimizde bulunan ve ölçeklendirme olmayan FFmpeg komutları şunlardır:

Dosya Kodlama Dk. Diskteki Dosya Boyutu
Q_crf_10_120s_tears_of_steel_1080p.webm 56 126MB
CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm 9 24,1 MB
VBR_good_5_120s_tears_of_steel_1080p.webm 4 23,9 MB
CBR_2000_realtime_speed_5_120s_tears_of_steel_1080p.webm 1 24,8 MB

Göreceğiniz üzere, her birinin çıkış dosyası boyutlarında önemli bir düşüş vardır ve çoğu örnekte kodlama süresinde düşüş olmakla birlikte, Q modunda kodlama süresi aslında artmaktadır. Bir videonun daha fazla sıkıştırılması daha fazla çaba gerektirir. Bu nedenle, kalite kısıtlaması yoksa (yani Q modunda olduğu gibi) çıkış dosyasının daha küçük olması beklenmiş olsa bile bu durum, çıkış dosyasının oluşturulması için gereken süreyi artırabilir. Daha küçük bir dosyanın kodlama işlemiyle her zaman daha hızlı teslim edilebileceğini varsaymayın.

Kombinasyon bit hızını yeniden ölçeklendirme

Son karşılaştırma olarak, aşağıdaki örneklerde ölçeklendirmenin CQ, VBR ve CBR örnekleri yeniden çalıştırılmıştır, ancak bu kez hedef bit hızını 500 kb/sn ile sınırlandırırız (yaklaşık resim karesinin ölçeğine uygun olarak).

CQ modu
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 350k -maxrate 550k -crf 10 -vf  scale=640x480 -c:a libvorbis \
  640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm
VBR modu
ffmpeg -i "120s_tears_of_steel_1080p.webm" -c:v vp9  -b:v 500k \
  -minrate 350k -maxrate 500k -quality good -speed 5 -vf scale=640x480 -c:a libvorbis \
  640x480_VBR_good_5_120s_tears_of_steel_1080p.webm
CBR modu
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 5 -vf scale=640x480 -c:a libvorbis \
  640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm

Hedef bit hızını yeniden ölçeklendirmek ve azaltmak için sonuçlar tablosu

Dosya Kodlama Dk. Diskteki Dosya Boyutu
640x480_CQ_500_crf_0_120s_tears_of_steel_1080p.webm 1 7MB
640x480_VBR_500_good_5_120s_tears_of_steel_1080p.webm 1 7MB
640x480_CBR_500_gerçek zamanlı_5_120 sn_tears_of_steel_1080p.webm 1 7,6 MB

Gördüğünüz gibi kodlama süresi daha da kısaltılmıştır.