H.264 Profilleri arasındaki farklar nelerdir?


56

After Effects CS5'te bir video görüntülüyordum ve biçimlendirirken H.264 kodeğini seçtim ve bu biçimde Baseline, Main ve High ile bir profili vardı.

Bu yüzden küçük bir test yaptım - her iki dosyayı da Baseline ve High ile oluşturdum. Fark ettiğim tek şey video boyutunun daha küçük olmasıydı, Yüksek dosya boyutu daha küçüktü.

Ben sadece aradaki farkın ne olduğunu bilmek istedim. Hangi kalite için, dosya boyutu için en iyisi olurdu.

Yanıtlar:


78

Profil nedir

Bir H.264 profili, videonuzu sıkıştırırken enkoderin ne kullanabileceğini "çan ve ıslık" olarak tanımlamaktadır - ve video kodlayıcının etkinleştirebileceği birçok H.264 özelliği vardır. Hangisini etkinleştirebileceği, profil tarafından tanımlanır. Profiller, farklı kod çözme yeteneklerine sahip cihazlar arasında uyumluluğu sağlar. Profillerle, kodlayıcı ve kod çözücü, her ikisinin de idare edebileceği bir özellik seti üzerinde hemfikirdir.

Farklı profiller ne işe yarar?

Detaylı bir liste için Wikipedia'daki H.264 Profiller'e bakınız .

Genel olarak, Temel profili, kodlayıcıyı yalnızca belirli temel özelliklerle sınırlar. Temel profille kodlanmış videolar, eski akıllı telefonlar gibi düşük işlem gücüne sahip cihazlarda bile kolayca oynatılabilir. Android ve iOS telefonları, örneğin, resmi olarak, yalnızca temel profille kodlanmış videoları oynatır, ancak Yüksek veya Ana değil . Bu, son yıllarda biraz daha değişti, gittikçe daha fazla telefonun ana veya yüksek profilli videoları izleyebildiğini, ancak yine de resmi önerilerden bahsetmediğini belirtti .

Öncelikle düşük maliyetli uygulamalar için, bu profil en çok video konferans ve mobil uygulamalarda kullanılır. Taban Çizgisi, Ana ve Yüksek Profiller arasında ortak olan özellik alt kümesine karşılık gelir.

Ana ve Yüksek sadece buna özellikler eklerler. Özellikle yüksek profil yayınlarda sıklıkla kullanılır:

Yayın ve disk depolama uygulamaları için, özellikle yüksek tanımlı televizyon uygulamaları için birincil profil (örneğin, bu, Blu-ray Disc depolama formatı ve DVB HDTV yayın servisi tarafından benimsenen profildir).

Örneğin B dilimlerine yalnızca Ana profilde ve üstünde izin verilir . Bant genişliğinden tasarruf etmek için kullanılabilirler, ancak kodlarının çözülmesi daha zordur, bu nedenle bazı cihazlar bunları desteklemeyebilir.

Bunun kalite ile ne alakası var?

Profil sadece kaliteyi dolaylı olarak etkiler. Daha yüksek profillerin bazı özellikleri, düşük profillere kıyasla daha düşük dosya boyutlarıyla aynı kaliteyi elde etmenizi sağlayabilir.

Örneğin, CABAC entropi kodlaması ( Ana ve Yüksek ), CAVLC'den ( Taban Çizgisi ) daha verimlidir . Aynı zamanda hesaplama açısından daha yoğundur. Böylece, enkodere harcayacakları belli bir bit hızı verirseniz, CABAC ile CAVLC'den daha kaliteli bir video oluşturabilir, çünkü çok daha iyi sıkıştırma elde eder.

Bu aynı zamanda Yüksek profil ile neden daha küçük dosya boyutuna ulaştığınızı da açıklamaktadır - açıkçası, bir şekilde sabit bir kalite seviyesi belirlediniz ve kodlayıcı, Temel profil ile aynı kalitede ancak daha küçük bir video dosyası oluşturmak için daha gelişmiş sıkıştırma teknikleri kullanabilir. boyut.

Peki… hangisini kullanmalısın?

Bazı temel kurallar:

  • Eski mobil cihazları hedefliyorsanız temel profil
  • Web akışını, uzun süreli depolamayı, PC'leri veya Mac'leri, Blu-ray yazma, vb. Hedefliyorsanız Ana veya Yüksek profil.

8
Bu yazıldığından beri, hemen hemen tüm Android ve diğer cihazlar dahil olmak üzere tüm akıllı telefonlar ana profilden oynar ve birçoğu yüksek oynar. Örneğin, yüksek profilli destek, yüksek tanımlı içerik oynattığını iddia eden çoğu cihaz tarafından desteklenir. Neredeyse kesinlikle ana veya daha fazlasına güvenebilirsiniz. Taban çizgisi, on yılların sınırlı sınırlı cihazları için tasarlanan, H. 264'ün oldukça sakat bir versiyonuydu.
thomasrutter

Herkesin yeni bir akıllı telefonu yok. Android hala Temel profili kullanmanızı önerir . Aynı iOS için de geçerli . Elbette, bazı (çoğu yeni) cihazlar daha yüksek profilleri destekler, ancak düşük kaliteli donanımlarla uyumlu kalmak istiyorsanız, bunu seçmeniz gerekir. Ancak, söylediklerinizi yansıtacak şekilde cevabımı düzenlemiştim.
slhck

İlginç - yerleşik oyuncu benim için bir süredir ana destekliyordu, ancak amacınız geçerli - buna güvenemezsiniz. Bununla birlikte, ana ve yüksek profil için üçüncü taraf yazılım oyuncularına güvenebilirsiniz, örneğin MX Player gibi oyuncular, ARM tabanlı ve yeterince yüksek CPU performansı olduğu sürece, daha yüksek profiller için yazılım desteğine sahiptir.
thomasrutter

Google Foto’nun, 2016’dan itibaren, yedeklemeler yaparken, Yüksek profilli bir Android Nexus 6’da kaydedilmiş yüklenen videoları Baseline profiline dönüştürdüğünü ("yüksek kaliteli" "ücretsiz sınırsız depolama" yedekleme modunda)
nealmcb

Yine de 2017'de ffmpeg'de okuduğum en iyi bilgi. GREAT POST.
typeoneerror,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.