コンテンツにスキップ

ライブストリームを開始する

Streamに登録した後、DashまたはAPIを介してライブ入力を作成できます。RTMPSまたはSRTを使用して新しいライブ入力にブロードキャストします。SRTは新しいビデオコーデックをサポートし、キャプションや複数のオーディオトラックなどのアクセシビリティ機能の使用を容易にします。

初めてのライブストリーミングですか? Cloudflareにビデオを送信するためのソフトウェアが必要です。OBS Studioを使用してStreamでライブ配信する方法を学ぶ

ダッシュボードを使用する

ステップ1: Streamダッシュボードを介してライブ入力を作成する

ダッシュボードからライブ入力フィールドを作成

ステップ2: RTMPS URLとキーをコピーし、それらをライブストリーミングアプリケーションで使用します。始めるには、Open Broadcaster Software (OBS)の使用をお勧めします。

RTMPS URLフィールドの例

ステップ3: ライブ配信を開始し、Streamダッシュボードでライブストリームをプレビューします。

Streamダッシュボードでは、ライブ配信を開始してから数秒以内に、視聴者が見るもののプレビューが表示されます。ウェブサイトやアプリにライブビデオ再生を追加するには、ビデオを再生するを参照してください。

APIを使用する

プログラムでライブストリームを開始するには、/live_inputsエンドポイントにPOSTリクエストを送信します:

リクエスト
curl -X POST \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"meta": {"name":"test stream"},"recording": { "mode": "automatic" }}' \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs
レスポンス
{
"uid": "f256e6ea9341d51eea64c9454659e576",
"rtmps": {
"url": "rtmps://live.cloudflare.com:443/live/",
"streamKey": "MTQ0MTcjM3MjI1NDE3ODIyNTI1MjYyMjE4NTI2ODI1NDcxMzUyMzcf256e6ea9351d51eea64c9454659e576"
},
"created": "2021-09-23T05:05:53.451415Z",
"modified": "2021-09-23T05:05:53.451415Z",
"meta": {
"name": "test stream"
},
"status": null,
"recording": {
"mode": "automatic",
"requireSignedURLs": false,
"allowedOrigins": null,
"hideLiveViewerCount": false
},
"deleteRecordingAfterDays": null,
"preferLowLatency": false
}

オプションのAPIパラメータ

APIリファレンスドキュメント /live_inputs

  • preferLowLatency boolean default: false Beta

    • trueに設定すると、このライブ入力はベータ版の低遅延HLSパイプラインに対応します。Streamの組み込みプレーヤーは、可能な場合に自動的にLL-HLSを使用します。(recordingmodeプロパティもautomaticに設定する必要があります。)
  • deleteRecordingAfterDays integer default: null (any)

    • 録画が削除される日付と時刻を指定します。このプロパティは、録画が利用可能になり、ストリーミングの準備が整った時点から適用されます。録画が削除されると、視聴できなくなり、請求のためのストレージにカウントされなくなります。最小値は30、最大値は1096です。

      ストリームが終了すると、deleteRecordingAfterDaysの値が存在する場合、scheduledDeletionのタイムスタンプが計算されます。

      ストリームがライブの間にライブ入力に値が追加された場合、そのプロパティは将来のストリームにのみ適用されます。

  • timeoutSeconds integer default: 0

    • timeoutSecondsプロパティは、ライブフィードが切断されてから新しいビデオが作成されるまでの時間を指定します。

次の4つのプロパティはrecordingオブジェクトの下にネストされています。

  • mode string default: off

    • modeプロパティがautomaticに設定されている場合、ライブストリームは自動的にHLS/DASHを使用して視聴可能になります。さらに、ライブストリームは後で再生できるように自動的に録画されます。デフォルトでは、録画モードはoffに設定されており、入力は録画されず、再生可能ではありません。
  • requireSignedURLs boolean default: false

    • requireSignedURLsプロパティは、ビデオを視聴するために署名付きURLが必要かどうかを示します。この設定は、入力から録画されたすべてのビデオにデフォルトで適用されます。さらに、ライブ入力IDを介してビデオを視聴する場合、このフィールドはビデオレベルの設定よりも優先されます。
  • allowedOrigins integer default: null (any)

    • allowedOriginsプロパティは、許可されたオリジンのリストを提供するためにオプションで呼び出すことができます。この設定は、入力から録画されたすべてのビデオにデフォルトで適用されます。さらに、ライブ入力IDを介してビデオを視聴する場合、このフィールドはビデオレベルの設定よりも優先されます。
  • hideLiveViewerCount boolean default: false

    • ライブ視聴者数へのアクセスを制限し、プレーヤーからその値を削除します。

ライブ入力を管理する

ライブ入力は、PUTリクエストを送信することで更新できます:

リクエスト
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"meta": {"name":"test stream 1"},"recording": { "mode": "automatic", "timeoutSeconds": 10 }}'

ライブ入力を削除するには、DELETEリクエストを送信します:

リクエスト
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>"

推奨事項、要件および制限

推奨事項

  • 制作者は、通常12Mbps(12000Kbps)未満の適切なビットレートを使用するべきです。高い動きや高フレームレートのコンテンツは通常、より高いビットレートを使用する必要がありますが、スライドプレゼンテーションのような低い動きのコンテンツはより低いビットレートを使用するべきです。
  • 制作者は、2〜8秒のGOP期間(キーフレーム間隔)を使用するべきです。ほとんどのエンコーディングソフトウェアやハードウェア、特にOpen Broadcaster Software(OBS)では、デフォルトでこの範囲内に設定されています。GOP期間を短く設定すると、視聴者の遅延が減少しますが、エンコーディング効率も低下します。GOP期間を長く設定すると、エンコーディング効率が向上しますが、視聴者の遅延が増加します。これはビデオエンコーディングに固有のトレードオフであり、Cloudflare Streamの制限ではありません。
  • 可能な場合は、VBR(可変ビットレート)の代わりにCBR(定常ビットレート)を選択してください。CBRは、安定したストリーミング体験を確保し、バッファリングや中断を防ぐのに役立ちます。

低遅延HLSブロードキャストの推奨事項 Beta

  • 最低遅延を実現するために、GOPサイズ(キーフレーム間隔)を1または2秒に設定してください。
  • 可能であれば、RTMPエンドポイントにブロードキャストしてください。
  • OBSを使用している場合は、「超低」遅延プロファイルを選択してください。

要件

  • クローズドGOPが必要です。これは、ビデオにBフレームがある場合、それらが常に同じGOP内のフレームを参照する必要があることを意味します。この設定は、ほとんどのエンコーディングソフトウェアやハードウェア、特にOBS Studioではデフォルトです。
  • Stream Liveは、入力としてH.264ビデオおよびAACオーディオコーデックのみをサポートします。この要件は、Stream Connect出力に中継される入力には適用されません。Stream LiveはADTSをサポートしますが、現在LATMはサポートしていません。
  • クライアントは、切断が発生した場合に再接続するように構成されている必要があります。Stream Liveは、ライブストリームを継続することで再接続をスムーズに処理するように設計されています。

制限

  • ライブビデオでウォーターマークを使用することはできません。
  • ライブビデオが7日を超えると、録画は7日に切り詰められます。最初の7日間のライブビデオコンテンツのみが録画されます。