HLS ビデオの配信
概要
HLS プロトコルは、ビデオを小さなファイルダウンロードのシーケンスに分割し、各ダウンロードは HTTP を使用してビデオの短いチャンクをロードします。ストリームを再生すると、クライアントはさまざまなデータレートでエンコードされた同じマテリアルを含む複数の異なる代替ストリームから選択でき、ストリーミングセッションは利用可能なデータレートに適応できます。ストリーミングセッションの開始時に、利用可能なさまざまなサブストリームのメタデータを含む拡張プレイリストをダウンロードします。
はじめに
HLS は iOS と Android でのネイティブサポートのおかげで、モバイルデバイスでのビデオのストリーミングのデファクトスタンダードとなっています。HLS を使用してビデオを配信することには、次のような利点があります。
- (クライアント駆動型) アダプティブビットレート選択をサポート
- 標準 HTTP ポート経由で配信
- シンプルなテキストベースのマニフェスト形式
- プロプライエタリなストリーミングサーバーは不要
HLSの作成
Video Cloudは、H.264(MP4)およびH.263(FLV)とともに、ビデオエンコーディングオプションとしてHLSをサポートしています。取り込みプロファイルは、動的取り込み APIまたは Upload モジュールを使用して動画をアップロードしたときに作成されるレンディションの数とタイプを決定します。アップロード時に使用される取り込みプロファイルによっては、HLSレンディションがそのプロファイルの一部として自動的に作成される場合があります。取り込みプロファイルと、各プロファイルで作成されたレンディションのタイプの詳細については、「標準取り込みプロファイル」を参照してください。
動的取り込みはカスタム取り込みプロファイルをサポートしますが、現時点では独自のカスタムプロファイルを作成することはできません。カスタムプロファイルが必要な場合は、Brightcoveソリューションエンジニアまたはアカウントマネージャーにお問い合わせください。
1 つ以上の HLS レンディションを含む取り込みプロファイルを選択または作成すると、動的取り込み APIまたは Upload モジュールを使用するかにかかわらず、ビデオをアップロードするたびに、ビデオには HLS レンディションとその他のマルチレンディションが含まれます。プロファイルの一部として指定されたビットレートレンディション。
HLSを再生する
Brightcove Player には、デフォルトで HLS 再生エンジンが含まれています。プレーヤーに提供するビデオに HLS レンディションが含まれている場合、デフォルトの再生順序は HLS、HTML5、Flash であるため、MP4 を試す前にこれらのレンディションが再生されます。ブラウザーが HLS をネイティブでサポートしている場合、その機能 (デスクトップまたは iOS の Safari など) が使用されます。ブラウザーが HLS をサポートしていないが、ブラウザーに Flash がインストールされている場合は、Flash フォールバックがロードされます。プレイヤーの技術順を変更することで、この動作を変更できます。詳細については、『プレイバックテクノロジーガイド』を参照してください。
Video Cloud では、暗号化されたビデオを HTTP 経由で送信できる HLS 暗号化機能があり、iOS を実行しているデバイスで再生できます。詳細については、「HLS 暗号化を使用したビデオの保護」を参照してください。
Brightcove Player は、利用可能な帯域幅とエンコーディングを考慮して、可能な限り最高品質の視聴体験を保証しようとします。これは、常に利用可能な最高ビットレートレンディションを使用するという意味ではありません。プレーヤーが300ピクセル×150pxの場合、4Kストリームをダウンロードするには帯域幅の無駄になります。デフォルトでは、プレイヤーは一つの条件で、最後に検出されたセグメント帯域幅よりも小さい最高ビットレートのバリアントを読み込もうとします。現在のプレーヤーサイズより大きいディメンションを持つバリアントが複数ある場合、現在のプレーヤーサイズよりも大きいサイズだけ切り替わります。