H.264プロファイルの違いは何ですか?


56

After Effects CS5でビデオをレンダリングしていましたが、フォーマット時にH.264コーデックを選択しました。そのフォーマットでは、ベースライン、メイン、ハイのプロファイルがありました。

そこで、少しテストを行いました。両方のファイルをBaselineとHighでレンダリングしました。私が気づいた唯一のことは、ビデオサイズが小さく、高ファイルサイズが小さいことです。

品質とファイルサイズのどちらが最適であるかを知りたかっただけです。

回答:


78

プロファイルとは何ですか?

H.264プロファイルは、ビデオを圧縮するときにエンコーダーが使用できる「付加機能」を多かれ少なかれ定義します。また、エンコーダーで有効にできるH.264機能がたくさんあります。有効にできるものは、プロファイルによって定義されます。プロファイルは、異なるデコード機能を持つデバイス間の互換性を保証します。プロファイルを使用すると、エンコーダとデコーダは、両方が処理できる機能セットについて合意します。

さまざまなプロファイルは何をしますか?

詳細なリストについては、WikipediaのH.264プロファイルを参照してください。

通常、ベースラインプロファイルは、エンコーダを特定の基本機能のみに制限します。ベースラインプロファイルでエンコードされたビデオは、古いスマートフォンなど、計算能力の低いデバイスでも簡単に再生できます。たとえば、AndroidおよびiOSの電話は、公式にはベースラインプロファイルでエンコードされたビデオのみを再生し、HighまたはMainは再生しません。これは、より多くの携帯電話は、実際にメインまたは高プロファイルのビデオを再生することができ、最後の年に少し変更されていますが、まだ正式な勧告はそれを言及していません

主に低コストのアプリケーションの場合、このプロファイルはビデオ会議やモバイルアプリケーションで最も一般的に使用されます。ベースライン、メイン、およびハイプロファイル間で共通の機能のサブセットに対応します

MainHighは、それに機能を追加するだけです。特に、ハイプロファイルは放送でよく使用されます:

放送およびディスクストレージアプリケーション、特に高精細度テレビアプリケーション用のプライマリプロファイル(たとえば、これはBlu-ray DiscストレージフォーマットとDVB HDTV放送サービスで採用されているプロファイルです)。

Bスライスは、たとえば、メインプロファイル以上でのみ許可されます。これらは帯域幅を節約するために使用できますが、デコードするのが難しいため、一部のデバイスではサポートされない場合があります。

それは品質と何の関係がありますか?

プロファイルは、品質に間接的にのみ影響します。高いプロファイルの一部の機能を使用すると、低いプロファイルと比較して低いファイルサイズで同じ品質を得ることができます。

たとえば、CABACエントロピーコーディング(MainおよびHigh)は、CAVLCBaseline)よりも効率的です。また、計算量も多くなります。したがって、エンコーダーに特定のビットレートを割り当てると、CAVLCを使用した場合よりもCABACを使用した場合の方が圧縮率が向上するため、より高品質のビデオを作成できます。

これにより、プロファイルでファイルサイズを小さくした理由も説明できます。明らかに、何らかの方法で一定の品質レベルを設定し、エンコーダーはより高度な圧縮技術を使用してベースラインプロファイルと同じ品質のビデオファイルを作成できますが、サイズ。

それで…どれを使うべきですか?

いくつかの基本的なルール:

  • 古いモバイルデバイスをターゲットにしている場合のベースラインプロファイル
  • Webストリーミング、長期保存、PCまたはMac、Blu-rayオーサリングなどをターゲットにしている場合は、メインまたはハイプロファイル

8
これは書かれているので、Androidやその他のデバイスを含むほとんどすべてのスマートフォンがメインプロファイルを再生し、多くが高機能を発揮します。たとえば、高プロファイルのサポートは、高解像度コンテンツを再生すると主張するほとんどのデバイスでサポートされています。ほとんど確実にmain以上に依存できます。ベースラインは、数十年前の限られたデバイス向けに設計されたH. 264の非常に不自由なバージョンでした。
thomasrutter 14年

誰もが最近のスマートフォンを持っているわけではありません。Androidは引き続きベースラインプロファイルを使用することを推奨していますiOSでも同じことが言えます。もちろん、一部の(最新の)デバイスはより高いプロファイルをサポートしていますが、ローエンドハードウェアとの互換性を維持したい場合は、それを選択する必要があります。しかし、私はあなたの言っていることを反映するために私の答えを編集しました。
slhck

おもしろい-組み込みのプレーヤーはしばらくの間メインをサポートしてくれましたが、あなたのポイントは有効です-これに頼ることはできません。ただし、メインおよびハイプロファイルについてはサードパーティのソフトウェアプレーヤーに依存できます。たとえば、MXプレーヤーのようなプレーヤーは、ARMベースでCPUパフォーマンスが十分に高い限り、より高いプロファイルをソフトウェアでサポートします。
thomasrutter 14年

2016年の時点で、Googleフォトはバックアップ時に、高プロファイルのAndroid Nexus 6で記録されたアップロード動画をベースラインプロファイルに変換します(「高品質」「無料無制限ストレージ」バックアップモード)
nealmcb

まだ2017年にffmpegで読んだ最高の情報。素晴らしい投稿。
typeoneerror
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.