すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:オンデマンド録画

最終更新日:Jul 15, 2026

ApsaraVideo Live は、録画テンプレートを使用して録画設定を管理します。システムは、URL 内のインジェストドメイン、アプリケーション名、ストリーム名に基づいて、インジェスト URL を対応する録画 テンプレートにマッピングします。

インジェストパラメータによる制御

録画テンプレートのトリガー方法が [Ingest parameter settings] に設定されている場合は、インジェスト URL の record_config パラメータを使用して、現在のストリームを録画するかどうかを直接制御できます。

  • パラメータ形式:record_config={"NeedRecord": <true/false>}

  • パラメータの説明:true は録画を有効化し、false は録画を無効化します。

  • 注意:インジェスト URL を作成する際は、 パラメータを URL エンコードする必要があります

例として、インジェスト URL が次のとおりであるとします:rtmp://push.example.com/live/stream1

このパラメータで録画を有効化するには、次のように URL を作成します:rtmp://push.example.com/live/stream1?record_config=%7B%22NeedRecord%22%3Atrue%7D&auth_key=xxx

制限事項:

このトリガー方法は、 ソースストリーム の録画のみをサポートし、 トランスコードされたストリーム はサポートしません。録画にトランスコードされたストリームが含まれる場合は、別のトリガー方法を選択してください。

HTTP コールバックによる制御

仕組み

  1. ライブストリームがインジェストされると、該当する録画テンプレートのトリガー方法が [Callback confirmation] に設定されている場合は、ApsaraVideo Live は事前に設定した コールバック URL に HTTP リクエストを送信し、現在のストリームを録画するかどうかを確認します。

  2. アプリケーションサーバーはリクエストを受信し、現在のビジネスロジックに基づいて録画指示 (許可または拒否) を返します。

  3. ApsaraVideo Live は、レスポンスに基づいて録画を開始するか、スキップします。

最初に、ドメインのイベントコールバック設定で コールバック URL を設定する必要があります。詳細については、「ライブ録画コールバック」および「オンデマンド録画コールバック」をご参照ください。

リクエストパラメータ

パラメータ

タイプ

説明

domain

String

インジェストドメイン。

app

String

アプリケーション名。

stream

String

ストリーム名。

codec

String

エンコード形式。有効な値:

  • h264

  • h265

vbitrate

String

ビデオビットレート。単位:kbps。

リクエスト例

GET /?app=seq_all&domain=demo.aliyundoc.com&stream=ondemand8&vbitrate=2000&codec=h264 HTTP/1.1
Host: pull.aliyundoc.com
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip

レスポンスパラメータ

サーバーはコールバックリクエストを受信した後、HTTP 200 のステータスコードと、次のパラメータを含む JSON ボディを返す必要があります:

パラメータ

タイプ

必須

説明

ApiVersion

String

No

API バージョン。デフォルト値:1.0。

NeedRecord

Bool

Yes

ストリームを録画するかどうかを指定します。

Interval

JSONObject

No

形式ごとの録画間隔を指定します。有効範囲:5~21600。単位:秒。

Format

JSONArray

No

録画形式。サポートされている形式は MP4、FLV、M3U8 です。

レスポンス例

{
  "ApiVersion": "1.0",
  "NeedRecord": true,
  "Interval": {
    "Mp4": 300,
    "Flv": 120,
    "M3U8": 180
  },
  "Format": ["mp4","flv"]
}

レスポンスパラメータの処理

録画サービスはサーバーのレスポンスを受信すると、返されたパラメータを元の録画設定と比較し、以下のように上書きします:

  • Interval の上書き:レスポンスに Interval パラメータが含まれる場合は、その値が元の録画設定の録画間隔を上書きします。

  • Format の積集合:レスポンスの Format パラメータは、元の録画設定で指定された形式との積集合が取られます。たとえば、元の録画テンプレートが MP4 および FLV 形式に設定されており、コールバックのレスポンスが ["mp4", "m3u8"] の場合、MP4 形式のみが録画されます。積集合が空の場合、ストリームは録画されません。

コールバックエンドポイントは、HTTP 200 のステータスコードを返す必要があります。それ以外のステータスコードはコールバック失敗と見なされ、録画はデフォルトで無効になります。

コールバックのレスポンスボディの最大サイズは 2,048 バイトです。この上限を超えるレスポンスは、悪意のある攻撃を防止するために切り捨てられます。

注意事項

サービスでオンデマンドストリームプル機能を使用している場合 (ユーザーが再生を開始した場合にのみ ApsaraVideo Live がオリジンサーバーからストリームをプルし、視聴者がいなくなるとプルを停止するシナリオ)、以下の条件が適用されます:

  • 録画の前提条件:オンデマンドストリームプルのシナリオでは、録画 (自動、オンデマンド、手動) はユーザーが再生を開始した後にのみ開始されます。

  • 再生がない場合は録画されない:クライアントがストリームを再生していない場合、ApsaraVideo Live はオリジンサーバーからストリームをプルしないため、録画ファイルは生成されません。