本格的な動画配信事業者であれば、すでに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、その他の様々な配信先でも採用されている。
一般的なアプローチ
決議 | プロフィール | ビットレート | @ 16:9 | @ 4:3 | オーディオ | コメント |
---|---|---|---|---|---|---|
1024×768 | [email protected] | 2Mbps | 1024×576 | 1024×768 | 56kbps HE-AAC | |
960×640 | [email protected] | 1.5Mbps | 960×540 | 854×640 | 56kbps HE-AAC | |
640×432 | [email protected] | 1Mbps | 640×360 | 576×432 | 56kbps HE-AAC | |
480×320 | [email protected] | 600kbps | 480×272 | 426×320 | 56kbps HE-AAC | |
400×288 | [email protected] | 400kbps | 400×224 | 384×288 | 56kbps HE-AAC | |
400×288 | [email protected] | 200kbps | 400×224 | 384×288 | 56kbps HE-AAC | フレームレートを低下させる |
該当なし(オーディオのみ) | 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を推奨する。
- 各セグメントがほぼ同じサイズになるように、ピークを使用する。
bitrate\_cap
ただし、目標ビットレートの150%以内でなければならない。buffer\_size
(例えば、5秒、または5倍)。bitrate\_cap
). - タイプを "分割" に設定すると、ブライトコーブは自動的に適切なキーフレーム配置を選択します。HLS に分割するために MP4 にエンコードする場合は、次のように設定します。
forced\_keyframe\_rate
を "0.2 "または "0.1"(それぞれ5秒または10秒のキーフレーム間隔)に設定する。 - 多少予測不可能なビットレートを受け入れることができるなら、ミックスにクオリティを加え、変更することができる。
video\_bitrate
にmax\_video\_bitrate
でファイルサイズを最適化します。エンコーダーは必要に応じて最大ビットレートを使用し、より少ないビット数で望ましい品質を達成できる場合はより低いビットレートを使用する。 - を設定する。
max\_frame\_rate
を30に、そしてmax\_audio\_sample\_rate
から48000まで。 - iOSデバイスの第一世代では、h.264は1つしか使えません。
reference\_frame
そのため、ベースライン・ストリームでは、互換性を最大にするためにこの機能を有効にする。