Live Recording

最終更新日:2026-08-20 11:31:51

このガイドでは、Recording APIを使用してMedia Acceleration Live Broadcast上のライブストリーム録画を設定、自動化、制御、監視する方法について説明します。

APIの連携方法

録画ワークフローは、次の4つの部分で構成されます:

  1. 録画パラメータテンプレートでは、保存先、出力形式、ファイル名、セグメント化、保持期間、コールバック設定など、録画方法を定義します。
  2. 録画ルールは、テンプレートを一致するライブストリームに関連付けることで、録画するタイミングを定義します。
  3. リアルタイム制御では、アクティブなストリームのオンデマンド録画を開始または停止します。
  4. タスククエリでは、録画ステータスを追跡し、生成されたファイルに関する情報を返します。

テンプレートは基盤となる要素です。録画ルールとオンデマンド録画のどちらにもtemplateIdが必要なため、これらのAPIを使用する前に、少なくとも1つのテンプレートを作成してください。

すべての録画APIには、ユーザーごとに5分あたり300リクエストのレート制限が適用されます。連携がこの制限を超えないように、リトライおよびポーリング間隔を設計してください。

一般的な録画ワークフロー

  1. 録画パラメータテンプレートを作成し、そのtemplateIdを保存します。
  2. 録画の開始方法を選択します:
    • 自動録画用の録画ルールを作成します。
    • オンデマンド録画を実行するには、StartRealTimeRecord を呼び出します。
  3. API から返された識別子を保存します。特に、各録画タスクの persistentId を保存してください。
  4. ListRecordings を使用して、指定した時間範囲内の録画タスクを検索します。
  5. persistentId を指定して GetRecordingTaskDetail を使用し、ステータスを確認してファイル情報を取得します。
  6. 必要に応じて、ストリームが自然に終了する前にアクティブな録画を終了するため、StopRealTimeRecord を呼び出します。

録画パラメータテンプレートの管理

録画パラメータテンプレートでは、録画の保存先と保存方法を設定します。Object Storage のバケットや管理エンドポイント、ファイルパス、ファイル形式、分割動作、保持期間、音声および映像の処理、タイムアウト動作、コールバック URL を設定できます。

API 用途
AddRecordingParameterTemplate テンプレートを作成します。regiontemplateNamemgrUrlrecordParamsbucketNamefopsfileFormatなどの設定が必須です。
QueryRecordingParameterTemplate すべてのテンプレートを一覧表示するか、templateIdで1つのテンプレートを取得します。
ModifyRecordingParameterTemplate 既存のテンプレートを更新します。省略されたフィールドには現在の値が保持されます。
DeleteRecordingParameterTemplate templateIdでテンプレートを削除します。

テンプレートを変更する場合:

  • recordParamsを指定した場合、指定されたリストによって既存のストレージおよび形式設定のリスト全体が置き換えられます。
  • コールバック設定を削除するには、notifyUrlに空の文字列を設定します。現在の値を維持する場合は省略してください。
  • akを指定する場合は、対応するskも指定する必要があります。現在のアカウントの認証情報を使用する場合は、両方とも省略できます。

重要: アクティブな録画ルールに関連付けられているテンプレートは削除できません。削除する前に、すべてのルールからテンプレートを削除してください。

ルールで録画を自動化する

録画ルールはtemplateIdをライブストリームに関連付け、条件に一致するストリームがライブ配信を開始すると自動的に録画を開始できるようにします。

新しいルールごとに、pullDomainで配信ドメインを指定する必要があります。以下のオプションフィールドを使用して、一致条件を絞り込むことができます。

  • domain: 取り込みドメイン
  • appName: アプリケーション名
  • streamName: ストリーム名
  • streamParams: トランスコードされたストリームの _720P などのストリーム名サフィックス

システムでは、最も長く、かつ最も具体的に一致するルールが使用されます。たとえば、push.example.com/live/stream1 のルールは、push.example.com/live のルールより優先され、push.example.com/live のルールは、push.example.com のルールより優先されます。

API 用途
AddRecordingRules ルールを作成し、テンプレートに関連付けます。
QueryRecordingRule ルールを一覧表示するか、ruleIdtemplateId、取り込みドメイン、配信ドメイン、アプリケーション名、またはストリーム名でフィルタリングします。
ModifyRecordingRules ルールのテンプレート、マッチング範囲、配信ドメイン、ストリームサフィックス、または有効化状態を更新します。
DeleteRecordingRules ruleIdでルールを削除します。

重要: ルールがアクティブな状態、または録画を実行中の場合、そのルールを削除することはできません。いずれの状態でもなくなった後にのみ削除してください。

オンデマンド録画の開始と停止

自動ルールに依存せず、アクティブなストリームを直ちに録画する必要がある場合は、リアルタイム制御APIを使用してください。

  1. templateId と、urlList に指定する最大 5 つのストリーム配信 URL を使用して、StartRealTimeRecord を呼び出します。
  2. 各 URL の結果を確認します。ストリーム操作が正常に完了するたびに、それぞれの persistentId が返されます。
  3. 返されたすべての persistentId を保存します。該当する ID を使用して、録画タスクを照会または停止します。
  4. ストリームの終了時に録画を終了するか、StopRealTimeRecord を呼び出して録画を途中で終了します。
API 使用方法
StartRealTimeRecord 最大 5 つのアクティブなストリーム配信 URL に対して、オンデマンド録画を開始します。
StopRealTimeRecord リクエストパスに対象の persistentId を指定して、1 つのアクティブな録画タスクを停止します。

録画タスクとファイルを照会する

タスク照会APIを使用して、録画タスクの検索、進捗状況の監視、失敗の原因調査、および生成された録画ファイルの情報取得を行います。

API 用途
ListRecordingTasks 指定した時間範囲内に送信された録画タスクを一覧表示し、それらのpersistentId値を取得します。
GetRecordingTaskDetail persistentIdを使用して、1件のタスクのステータスおよび生成されたファイル情報を取得します。