コンテンツにスキップ

自分のプレーヤーを使用する

Cloudflare Streamは、HLSおよびDASHをサポートするすべてのビデオプレーヤーと互換性があります。これらは、すべてのウェブブラウザ、モバイルオペレーティングシステム、およびメディアストリーミングデバイスで広くサポートされているストリーミングメディアの標準フォーマットです。

プラットフォーム固有のガイド:

HLSおよびDashマニフェストの取得

URL

各ビデオおよびライブストリームには、それぞれ独自のHLSおよびDASHマニフェストがあります。以下のURLで、<UID>をビデオまたはライブ入力のUIDに、<CODE>をユニークな顧客コードに置き換えることで、マニフェストにアクセスできます。

HLS
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8
DASH
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.mpd

LL-HLS再生 ベータ

ライブ入力がLow-Latency HLSベータ用に有効になっている場合、HLSマニフェストURLにクエリ文字列?protocol=llhlsを追加して、カスタムプレーヤーで低遅延マニフェストをテストします。このオプションを有効にするには、ライブストリームを開始するを参照してください。

HLS
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8?protocol=llhls

ダッシュボード

  1. Stream Dashboardにログインします。
  2. ビデオのリストから、対象のビデオを見つけて選択します。
  3. 設定タブから、HLSマニフェストURLDashマニフェストURLを見つけます。
  4. 使用したいオプションの下にあるコピーをクリックを選択します。

API

Cloudflare APIを使用してマニフェストURLを取得する方法については、Streamビデオ詳細APIドキュメントを参照してください。

利用可能なクライアント帯域幅を指定してマニフェストをカスタマイズする

各HLSおよびDASHマニフェストは、ビデオまたはライブストリームの複数の解像度を提供します。プレーヤーには、視聴者の利用可能な帯域幅を推定し、再生する最適な解像度を選択するための適応ビットレートロジックが含まれています。各プレーヤーには、この決定を行うための異なるロジックがあり、ほとんどのプレーヤーには帯域幅または解像度をカスタマイズまたは上書きするための設定オプションがあります。

プレーヤーにそのような設定オプションがない場合や、上書きする必要がある場合は、マニフェストファイルを取得するリクエストにclientBandwidthHintクエリパラメータを追加できます。これは最後の手段としてのみ使用すべきです — まずはプレーヤーが提供するカスタマイズオプションを使用することをお勧めします。ウェブサイトやアプリを高速インターネット接続で開発している場合、高品質再生を強制するためにこの設定を使用したくなるかもしれませんが、多くの視聴者は遅いモバイルネットワークに接続している可能性が高いことを忘れないでください。

  • clientBandwidthHint float
    • 提供された帯域幅値(Mbps)に最も近いビデオ表現のみを返します。これを使用して特定の品質レベルを強制することができます。無効または空のマニフェストが提供される原因となる値を指定した場合、ヒントは無視されます。

以下の例を参照して、ビットレートが1.8 Mbpsに最も近いビデオ表現のみを表示します。

https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8?clientBandwidthHint=1.8

ネイティブアプリで1秒未満の遅延でライブビデオを再生する

超低遅延が必要で、ユーザーがネイティブアプリでライブビデオを視聴する場合、SRTまたはRTMPSを使用して再生することで、1秒未満のガラスからガラスまでの遅延でライブビデオをストリーミングできます。

Cloudflareネットワーク経由のSRTおよびRTMPS再生を示す図

SRTおよびRTMPS再生はffmpegに組み込まれています。独自のビデオプレーヤーにffmpegを統合する必要があります — AVPlayer (iOS)ExoPlayer (Android)は、SRTまたはRTMPS再生をネイティブにサポートしていません。

ffmpeg-kitをffmpegのクロスプラットフォームラッパーとして使用することをお勧めします。