Cloudflare Stream は、HLS と DASH に対応するすべての動画プレーヤーと互換です。HLS と DASH はメディアストリーミングの標準形式で、Web ブラウザー、モバイル OS、メディアストリーミングデバイスで広くサポートされています。
プラットフォーム別ガイド:
各動画とライブストリームには、固有の HLS マニフェストと DASH マニフェストがあります。次の URL で、<UID> を動画またはライブ入力の UID に、<CODE> を固有のカスタマーコードに置き換えてアクセスします。
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.mpdライブ入力で低遅延 HLS ベータが有効な場合、HLS マニフェスト URL にクエリ文字列 ?protocol=llhls を付けて、カスタムプレーヤーで低遅延マニフェストを試せます。このオプションの有効化は ライブストリームを開始する を参照してください。
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8?protocol=llhls-
Cloudflare ダッシュボードで Stream ページを開きます。
Videos を開く ↗ -
動画一覧から対象の動画を探して選択します。
-
Settings タブで HLS Manifest URL と Dash Manifest URL を探します。
-
使う項目の下にある Click to copy を選択します。
マニフェスト URL を Cloudflare API で取得する方法は、Stream の動画詳細 API ドキュメント を参照してください。
各 HLS マニフェストと DASH マニフェストは、動画またはライブストリームの複数の解像度を提供します。プレーヤーにはアダプティブビットレートのロジックがあり、視聴者の利用可能な帯域を推定して、再生に最適な解像度を選びます。プレーヤーごとに判断ロジックは異なり、帯域または解像度をカスタマイズしたり上書きしたりする設定があるものがほとんどです。
プレーヤーにそのような設定がない場合や、上書きが必要な場合は、マニフェストファイルの取得リクエストに clientBandwidthHint クエリパラメーターを付けられます。これは最後の手段として使ってください。まずプレーヤー側のカスタマイズオプションを使うことを推奨します。開発中のサイトやアプリは高速なインターネット接続であることが多く、この設定で高画質再生を強制したくなるかもしれません。ただし、多くの視聴者はより遅いモバイル回線で接続しています。
clientBandwidthHintfloat- 指定した帯域値(Mbps)に最も近い動画表現だけを返します。特定の品質レベルを強制するときに使えます。無効または空のマニフェストになる値を指定した場合、ヒントは無視されます。
次の例は、ビットレートが 1.8 Mbps に最も近い動画表現だけを表示します。
https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8?clientBandwidthHint=1.8超低遅延が必要で、ユーザーがネイティブアプリでライブ動画を見る場合は、再生に SRT または RTMPS を使い、エンドツーエンド(glass-to-glass)遅延 1 秒未満 ↗ でライブ動画を配信できます。
SRT と RTMPS の再生は ffmpeg ↗ に組み込まれています。独自の動画プレーヤーに ffmpeg を組み込む必要があります。AVPlayer (iOS) も ExoPlayer (Android) も、SRT または RTMPS 再生をネイティブではサポートしていません。
クロスプラットフォームの ffmpeg ラッパーとして ffmpeg-kit ↗ を推奨します。