Blog

Encoding Settings For Perfect Ipadiphone Video

Tech Talk

Encoding

完璧なIPAD/IPHONEビデオのためのエンコーディング設定

Jan 24, 2012

わずか数個のエンコーディング・プロファイルで、あらゆるiOSデバイスに高品質のビデオをストリーミングすることができ、さらに将来の世代のモバイル・ハードウェアに備えることもできる。

本格的な動画配信事業者であれば、すでにiPadとiPhoneをサポートしているか、サポートの追加を真剣に考える必要がある。一部の大手パブリッシャーにとって、iPad配信は動画視聴総数の3分の1以上に相当する。

しかし、iOS向けのエンコーディングは少し厄介だ。これらのデバイスは何世代も技術的な進歩を遂げており、iPhone 4の理想的なビデオ設定がiPhone 3GSやiPadの理想的な設定ではありません。

幸いなことに、いくつかのエンコーディング・プロファイルを使うだけで、初代iPhoneからiPad 2まで、あらゆるiOSデバイスに高品質のビデオをストリーミングすることができ、さらに将来の世代のモバイル・ハードウェアに備えることもできる。

一般設定

現在のほとんどのビデオと同様、iOSをターゲットにする場合はh.264ビデオとAACオーディオを使用する。

On the audio side, consider using HE-AAC at <64kbps, for App Store compliance. HE-AAC sounds reasonably good at these bitrates, even for complex audio.

ビデオ側では、各デバイスをターゲットに複数のプロファイルを使用します。iPhone 3GS以前はh.264のベースライン・プロファイル、レベル3.0のみをサポートしています(それよりも制約の多いバージョンをサポートしているものもあります)が、新しいデバイスはメイン・プロファイルとハイ・プロファイルをサポートしています。

最高のユーザー体験のためには、HTTPライブストリーミング(HLS)は必須です。アップルは、App Storeで10分以上のコンテンツを再生するビデオアプリにHLSを要求しており、iOSがサポートする唯一の真のストリーミングフォーマットである。HLSは、Android(バージョン3以上)、Roku、その他の様々な配信先でも採用されている。

一般的なアプローチ

Resolution

Profile

Bitrate

@ 16:9

@ 4:3

Audio

Comments

1024×768

Main@3.1

2Mbps

1024×576

1024×768

56kbps HE-AAC

 

960×640

Main@3.1

1.5Mbps

960×540

854×640

56kbps HE-AAC

 

640×432

Main@3.1

1Mbps

640×360

576×432

56kbps HE-AAC

 

480×320

Baseline@3.0

600kbps

480×272

426×320

56kbps HE-AAC

 

400×288

Baseline@3.0

400kbps

400×224

384×288

56kbps HE-AAC

 

400×288

Baseline@3.0

200kbps

400×224

384×288

56kbps HE-AAC

decimate frame rate

N/A (Audio Only)

 

 

 

 

56kbps HE-AAC

 

なぜ、このような提言なのか?

  • これらは単なる推奨事項だ。異なる解像度とビットレートは完全に有効であり、状況によっては実際に望ましい場合もある。例えば、非常に複雑なコンテンツは、より高いビットレートを保証するかもしれません。
  • iPad 1とiPhone 4では720pが最大で、iPad 2/iPhone 4Sでは1080pまで再生できる。しかし、ネイティブ・ディスプレイの幅は1024ピクセルしかないため、720pや1080pにすることは重要ではない。720pはフルスクリーンのウェブ再生に最適な解像度であり、1080pはコネクテッドTVに最適だ。将来のiPadは現行iPadの4倍の解像度になると噂されているので、将来を見据えて720pを追加することも検討しよう。
  • h.264プロファイルは重要だ。iPad 1とiPhone 4はどちらもMainプロファイルをサポートしている。iPad 2/iPhone 4SはHighプロファイルをサポートしており、Mainよりもわずかに優れていますが、iPad 1のデバイスの数を考えると、Mainプロファイルにこだわる方がよいでしょう。本当に最適なデバイスをターゲットにするには、MainとHighの両方にエンコードしてください。
  • これら6つの解像度とビットレートは、さまざまな帯域幅を適度にカバーしている。もっといろいろなことができるはずなので、必要に応じて解像度やプロファイルを足したり引いたりしてください。
  • レガシーiPhone/iPod Touchユーザーは、480×320の高画質ビデオ(これらのデバイスの画面解像度)を含む3つのストリームを利用できる。iPadとiPhone 4のユーザーは、6つのストリームすべてを利用できる。
  • iPadの解像度スケーラーはかなり優秀なので、リスケーリングされた動画は一般的にきれいに見える。
  • 可能な限り、これらの設定は16で割り切れる解像度の寸法を許容する。これにより、より効率的な圧縮が可能になります。特に高解像度では効率の向上は小さいが、低解像度では差が出始める。
  • 各ビデオでオーディオを同一に保つようにしてください。オーディオの仕様がバージョンによって異なる場合、ストリームを切り替えたときに再生中にポップ音やクリック音が聞こえることがあります。

その他の設定

  • 希望するターンアラウンドタイムに基づいて速度を設定します。ここでは、ベースラインより少し圧縮率が向上するものの、それなりに高速なスピード2を推奨する。
  • Ensure that each segment is roughly the same size by using a peak bitrate\_cap of 150% of the target bitrate, but within a long buffer\_size (e.g., five seconds, or 5x the bitrate\_cap).
  • Brightcove automatically chooses proper keyframe placement when you set the type to “segmented.” If you’re encoding to MP4 for separate segmenting to HLS, set forced\_keyframe\_rate to “0.2” or “0.1” (for five or 10 second keyframe intervals, respectively).
  • If you can accept slightly unpredictable bitrates, add quality to the mix, and change video\_bitrate to max\_video\_bitrate to optimize for file size. The encoder will use the max bitrate when needed, and will use a lower bitrate when it can achieve the desired quality with fewer bits.
  • Set the max\_frame\_rate to 30 and the max\_audio\_sample\_rate to 48000.
  • The first generation if iOS devices only allow one h.264 reference\_frame, so enable this on the Baseline streams for max compatibility.