ベネに注意してください:これは非常に複雑な質問であり、約100万レベルのニュアンスがあり、1つの数値に削減しようとしています...
H.264エンコーディングを使用した大規模なビデオエンコーディングプロジェクトに着手しようとしています。インターネット接続、プロセッサ、デバイスなどでのストリーミングに対応するために、複数のビットレートプロファイルを作成しようとしています。
一般的に言えば、どのような種類の圧縮率を期待する必要がありますか(妥当な品質レベル内に留まる間)?
たとえば、640 x 360(16:9)ピクセルのビデオファイル@ 24フレーム/秒、16ビットカラーでは、約33 MB/sの非圧縮ファイルが生成されます。
そのファイルについては、500 Kビット/秒(または62 KB /秒)は不合理なビデオビットレートではないと言われました。 530:1以上の圧縮ですか?これは99.8%の圧縮です。私の数学は間違っていますか?
「500倍以上の圧縮はおかしい」や「400倍未満は帯域幅の無駄」など、品質に関する大まかな外部ガイドを探しています。私はいたるところを見てきましたが、どんな種類の圧縮も期待できません...
H.264 Primer と呼ばれる非常に興味深いドキュメントでは、ビデオの特性に基づいて、「理想的な」出力ファイルのビットレートを計算するためのヒントとして簡単な式が与えられています。
[画像の幅] x [画像の高さ] x [フレームレート] x [モーションランク] x 0.07 = [望ましいビットレート]
ここで、画像の幅と高さはピクセルで表され、モーションランクは1から4までの整数です。1はローモーション、2はミディアムモーション、4はハイモーションです(モーションは、フレーム、詳細についてはリンクされたドキュメントを参照してください)。
したがって、たとえば、中程度の動き(遅いカメラの動き、シーンの変化が少ないムービーなど)で24 FPSで1280x720のビデオを撮影する場合、予想される理想的なビットレートは次のようになります。
1280 x 720 x 24 x 2 x 0.07 = 3,096,576 bps =>およそ3000 kbps
これは純粋にヒントであり、私の意見では、理想的なビットレートを正確に見つける唯一の方法は、試行錯誤です:)
ソースビデオのコンテンツによって大きく異なります。それについては少し後で説明します。
640x360はそれほど大きくありません。 512kbpsは非常に合理的で、ほぼ標準です。品質に本当に興味があるなら、おそらく768kbpsです。
これはどのように可能ですか?簡単な答え: ビデオ圧縮 には、これを可能にするテクニックと事実がいくつかあります。
これを実現するために、特定のコーデック内およびコーデック間で無数の異なるアプローチ、テクニック、アルゴリズムを使用しているため、それよりもはるかに複雑です。
そのため、「ソースビデオのコンテンツに応じて劇的に変化する」コメントに戻ります。表示される圧縮率と結果の品質は、以下に大きく依存します。
例:部屋のドアのビデオ(防犯カメラ)10分ごとに1つのキーフレームを使用すると、驚くほど高い圧縮率が得られます。私のナプキンの計算では、そのシナリオは15,000:1の圧縮になっています。
大規模なビデオエンコーディングプロジェクトを開始しているので、圧縮率を決定するためにいくつかのことをお勧めします。
エンコーダーのパラメーターを変更してビデオを小さくすると、他の影響もあります。
それは大きな複雑なテーマです。幸運を。私の経験豊富な「風に吹かれて」テストでは、プロジェクトに512〜768kbpsで満足できることを示しています。
圧縮率の経験則 優れた品質を維持するための圧縮率: – JPEGを使用する一般的な画像の場合は10:1 – Hを使用する一般的なビデオの場合は30:1 .263およびMPEG-2 – H.264を使用した一般的なビデオの場合は50:1/MPEG-4 AVC
from http://www.kanecomputing.co.uk/pdfs/compression_ratio_rules_of_thumb.pdf
通常の再生を忘れないでくださいMPEGはYUV 4:2:0のみを使用します。 8ビットの色深度では、各ピクセルは16ビット(または4ピクセルごとに64ビット)に相当します。カメラからのRAWファイルのみが16ビット深度を使用し、数百万米ドルの価値がある必要があります!!中程度の高フィルムDVRは12〜14ビットのみを提供できます!! H.264は最終製品用に設計されています。
640x360/24p YUV4:2:0では、ビットレートの価値は次のとおりです。
640x360x24x(8+4+4)/8 = 10.5MB/s
500Kbpsの場合、圧縮は172:1になります。正常です
YUV4:2:0の満期については、以下をお読みください。
http://en.wikipedia.org/wiki/Chroma_subsampling
H264環境でエンコードに関する知識を共有するだけ
High 5.0またはHigh 7.0でH264を使用する場合、450-512 kbits/secondの比率が最適です。まあ私はあなたに最高の品質とバランスの良い比率を得るためにあなたに提案することができます、それにとって本当に重要な鍵は解像度サイズで遊ぶことです。ビデオ解像度の結果= 3/4 *ネイティブ/ Rawビデオの解像度
H264は、フレームを少し小さい解像度に圧縮しないと、詳細が失われる傾向があります。