Was sind die Unterschiede zwischen H.264-Profilen?

56

Ich habe ein Video in After Effects CS5 gerendert und beim Formatieren den H.264-Codec ausgewählt. In diesem Format hatte er ein Profil mit Baseline, Main und High.

Also habe ich einen kleinen Test gemacht - beide Dateien mit Baseline und High rendern. Das Einzige, was mir aufgefallen ist, ist, dass die Videogröße kleiner ist. High liefert die kleinere Dateigröße.

Ich wollte nur wissen, was der Unterschied ist, da dies die beste Qualität und die beste Dateigröße ist.

James
quelle

Antworten:

78

Was ist ein Profil?

Ein H.264-Profil definiert mehr oder weniger, welche "Schnickschnack" der Encoder beim Komprimieren Ihres Videos verwenden kann - und es gibt viele H.264-Funktionen, die der Encoder aktivieren kann. Welche aktiviert werden dürfen, wird durch das Profil festgelegt. Profile stellen die Kompatibilität zwischen Geräten mit unterschiedlichen Dekodierungsfunktionen sicher. Bei Profilen einigen sich Codierer und Decodierer auf einen Funktionsumfang, den beide verarbeiten können.

Was machen die verschiedenen Profile?

Eine detaillierte Liste finden Sie unter H.264-Profile auf Wikipedia.

Im Allgemeinen beschränkt das Baseline- Profil den Encoder nur auf bestimmte Grundfunktionen. Mit dem Basisprofil codierte Videos können problemlos wiedergegeben werden, auch auf Geräten mit geringerer Rechenleistung, z. B. älteren Smartphones. Beispielsweise spielen Android- und iOS-Telefone offiziell nur Videos ab, die mit dem Basisprofil codiert sind, nicht jedoch High oder Main . Dies hat sich in den letzten Jahren ein wenig geändert, da immer mehr Telefone Hauptvideos oder hochkarätige Videos wiedergeben können, was in den offiziellen Empfehlungen jedoch nicht erwähnt wird .

In erster Linie für kostengünstige Anwendungen wird dieses Profil am häufigsten in Videokonferenzen und mobilen Anwendungen verwendet. Sie entspricht der Teilmenge der Funktionen, die zwischen den Basis-, Haupt- und Hauptfunktionen gemeinsam sind

Main und High ergänzen das nur um Funktionen. Besonders das hohe Profil wird häufig im Rundfunk verwendet:

Das primäre Profil für Broadcast- und Disc-Speicheranwendungen, insbesondere für HD-Fernsehanwendungen (dies ist beispielsweise das Profil, das vom Blu-ray Disc-Speicherformat und dem DVB HDTV-Sendedienst übernommen wird).

B-Schnitte sind beispielsweise nur im Hauptprofil und darüber zulässig . Sie können verwendet werden, um Bandbreite zu sparen, sind jedoch schwieriger zu dekodieren, weshalb sie von einigen Geräten möglicherweise nicht unterstützt werden.

Was hat das mit Qualität zu tun?

Das Profil beeinflusst die Qualität nur indirekt. Mit einigen Funktionen höherer Profile erhalten Sie möglicherweise die gleiche Qualität mit geringeren Dateigrößen als mit niedrigeren Profilen.

Beispielsweise ist die CABAC- Entropiecodierung ( Main und High ) effizienter als CAVLC ( Baseline ). Es ist auch rechenintensiver. Wenn Sie dem Encoder eine bestimmte Bitrate zum Ausgeben geben, kann er mit CABAC eine bessere Videoqualität als mit CAVLC erzielen, da er eine viel bessere Komprimierung erzielt.

Dies erklärt auch, warum Sie mit dem Profil " Hoch" eine geringere Dateigröße erzielt haben - offensichtlich haben Sie eine konstante Qualitätsstufe festgelegt, und der Encoder könnte fortgeschrittenere Komprimierungstechniken verwenden, um eine Videodatei zu erstellen, die dieselbe Qualität wie das Baseline- Profil hat, jedoch eine geringere Größe.

Also ... welches solltest du verwenden?

Einige Grundregeln:

  • Basisprofil , wenn Sie alte Mobilgeräte als Ziel auswählen
  • Main oder High Profile, wenn Sie auf Web-Streaming, Langzeitspeicher, PCs oder Macs, Blu-ray-Authoring usw. abzielen.
slhck
quelle
8
Da dies geschrieben wurde, spielen so ziemlich alle Smartphones, einschließlich Android und andere Geräte, das Hauptprofil und viele spielen hoch. Die Unterstützung von High-Profile-Inhalten wird beispielsweise von den meisten Geräten unterstützt, die behaupten, High-Definition-Inhalte wiederzugeben. Sie können sich mit ziemlicher Sicherheit auf main oder höher verlassen. Basis war eine stark verkrüppelte Version von H. 264, die für die begrenzten Geräte der vergangenen Jahrzehnte entwickelt wurde.
Thomasrutter
Nicht jeder hat ein neues Smartphone. Android empfiehlt weiterhin, das Baseline-Profil zu verwenden . Gleiches gilt für iOS . Natürlich unterstützen einige (die meisten neuen) Geräte höhere Profile, aber wenn Sie mit Low-End-Hardware kompatibel bleiben möchten, müssen Sie sich dafür entscheiden. Aber ich habe meine Antwort bearbeitet, um zu reflektieren, was Sie sagen.
Slhck
Interessant - der eingebaute Player hat Main für mich eine Weile unterstützt, aber Ihr Punkt ist gültig - darauf können Sie sich nicht verlassen. Sie können sich jedoch auf Software-Player von Drittanbietern verlassen, wenn es um Haupt- und High-Profile-Player geht. Zum Beispiel bieten Player wie MX Player Software-Unterstützung für höhere Profile - vorausgesetzt, sie basieren auf ARM und weisen eine ausreichende CPU-Leistung auf.
Thomasrutter
Beachten Sie, dass Google Fotos ab 2016 beim Durchführen von Backups hochgeladene Videos, die auf einem Android Nexus 6 in High Profile aufgezeichnet wurden, in das Baseline-Profil konvertiert (im Backup-Modus "free unlimited storage" in "hoher Qualität")
nealmcb
Immer noch die besten Informationen, die ich 2017 auf ffmpeg gelesen habe.
typeoneerror