2. ストリーミング再生
JWT URL を使用してKollusPlayerViewを生成し、リアルタイムでコンテンツをデバイスに直接ストリーミング再生する方法を説明します。
ローカルにダウンロードされたコンテンツの再生とは異なり、ストリーミング時には再生のたびにお客様のサーバーから新たに発行された一回限り(One-time) URL を使用します。
このドキュメントのすべてのサンプルコードは、公式サンプルアプリkollus_player_iosをベースに作成されています。
コンテンツ配信方式
Kollus サービスはチャンネル設定に応じて、3 種類の配信方式のいずれかでコンテンツを提供します。
アプリケーションクライアントレイヤーでは同じ JWT URL を受け取りKollusPlayerView(contentURL:)インスタンスをビルドするため、別途コードの分岐を実装する必要はありません。
ただし、配信方式によってアダプティブビットレート(Adaptive Bitrate, ABR)の動作方式や DRM 検証およびライセンス発行フロー、AirPlay 互換性ポリシーが異なるため、インフラチャンネル構成を把握しておくとデバッグや最適化に役立ちます。
| 配信方式 | デフォルト | 説明 | チャンネル設定 |
|---|---|---|---|
| MP4 Progressive Download | ◯ | 単一の MP4 ファイルをリアルタイムでダウンロードしながら同時再生します。アダプティブビットレート(Adaptive Bitrate, ABR)をサポートしない単一品質方式です。 | 別途設定不要(デフォルトチャンネル) |
| HLS ストリーミング | - | マニフェスト(.m3u8)とセグメントファイルで構成されます。iOS AVKit システムに最適化されており、ネットワーク帯域幅の変化に合わせてリアルタイムで品質が自動切り替え(ABR)されます。 | コンソールのチャンネル設定で HLS 出力を有効化 |
| Multi-DRM (FairPlay) | - | HLS メディア構造に FairPlay セキュアライセンス発行フローを組み合わせた形式です。内部的にPallyConFPSSDKコンポーネントが連携して動作します。 | コンソールのチャンネル設定で DRM ポリシーを登録 |
ヒント
アプリケーションのソースコードでは、KollusPlayerView(contentURL: jwtUrl)コンストラクターを呼び出すだけで 3 種類の方式すべてを再生できます。
実際のストリーミング配信方式は Kollus サーバー側でチャンネル設定に基づいて決定され、クライアントに配信されます。
配信方式の詳細比較
| 比較項目 | MP4 Progressive Download | HLS ストリーミング | Multi DRM |
|---|---|---|---|
| ABR オプション制御 | 帯域幅設定の影響なし | 適用あり(iOS AVKit デフォルトポリシー準拠) | 適用あり(iOS AVKit デフォルトポリシー準拠) |
| シーク(Seek)動作 | HTTP Byte-Range リクエストベースの制御 | セグメント単位の位置シーク |