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

ApsaraVideo Live:プルストリームリレーコールバック

最終更新日:Mar 20, 2025

このトピックでは、プルストリームリレーコールバックのトリガー条件について説明し、コールバックの例を示します。

プルストリームリレーコールバックのイベント

プルストリームリレーコールバックのイベントには、プルストリームリレータスクの状態変更とプルストリームリレータスクの終了が含まれます。

次の表に、プルストリームリレータスクの状態を示します。

状態

説明

アイドル

CreateLivePullToPush 操作を呼び出すことによって作成したタスクの初期状態です。

実行中

指定された開始時刻後に自動的に開始されたタスク、または停止後に再起動されたタスクの状態です。

回復中

実行中に例外が発生したときに再試行しているタスクの状態です。

オフライン

例外が発生し、再試行に失敗したタスク、または StopLivePullToPush 操作を呼び出すことによって停止したタスクの状態です。

終了

指定された終了時刻後に自動的に削除されたタスク、または DeleteLivePullToPush 操作を呼び出すことによって削除したタスクの状態です。

プルストリームリレータスクの状態変更のコールバック

説明

プルストリームリレータスクの状態が実行中、回復中、またはオフラインに変更されると、コールバックが呼び出されて状態変更が示されます。

トリガー条件

  • タスクが指定された開始時刻に自動的に開始されるか、RestartLivePullToPush 操作を呼び出すことによって再起動されると、タスクの状態は Running に変更されます。

  • タスクの実行中に例外が発生すると、タスクの状態は Recovering に変更されます。

  • タスクで例外が発生し、再試行に失敗するか、StopLivePullToPush 操作を呼び出すことによって停止されると、タスクの状態は Offline に変更されます。

プルストリームリレータスクの終了のコールバック

説明

プルストリームリレータスクが終了すると、コールバックが呼び出されてタスクがクリアされたことが示されます。

トリガー条件

  • タスクが指定された終了時刻に自動的に削除されると、タスクの状態は Exit に変更されます。

  • DeleteLivePullToPush 操作を呼び出すことによってタスクが削除されると、タスクの状態は Exit に変更されます。

プルストリームリレーコールバックの内容

JSON 形式のコールバック内容は、HTTP POST リクエストの リクエスト本文 に含まれ、コールバック URL に送信されます。サーバーはリクエスト本文を解析してコールバック内容を取得できます。

  • プルストリームリレータスクの状態変更のコールバックのパラメーターと例

    表 1. パラメーター

    パラメーター

    説明

    Event

    イベント名。固定値:LivePullToPushRunning

    EventTime

    イベントが発生した時刻。値は、秒単位の UNIX タイムスタンプです。

    TaskId

    タスク ID。

    TaskInfo

    タスクに関する情報。

    TaskStatus

    タスクの現在の状態。有効な値:

    • 1: 実行中

    • 2: 回復中

    • 3: オフライン

    TaskInvalidReason

    タスクが異常に実行されるか、実行が停止する理由。有効な値:

    • PullStreamFailed: ストリームのプルに失敗しました。

    • PushStreamFailed: ストリームリレーに失敗しました。

    • TriggerByUser: 対応する API 操作が呼び出されました。

    • UnknownError: 不明なエラーが発生しました。

    • RetryTimesOffline: タイムアウトが発生しました。

    説明

    このパラメーターは、タスクの状態がオフラインの場合にのみ返されます。

    コールバックの例

    {
    "Event": "LivePullToPushRuning",
    "EventTime": "1725501246",
    "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****",
    "TaskInfo": {
        "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****",
        "StartTime": "2024-09-05T01:54:00Z",
        "EndTime": "2024-09-05T01:58:00Z",
        "SourceUrls": [
          "\"http://fyl-*******-*****.oss-cn-beijing.aliyuncs.com/record/caster/741584e2557248e98ef332d41e4afc3d/2024-08-30-18:19:40_2024-08-30-18:21:09.mp4\""
        ],
        "DstUrl": "rtmp://pushtest.******.aliyunlive.com/pulltest38/pulltest-w38",
        "CallbackURL": "https://1833220977******.cn-shanghai.lc.aliyuncs.com/workflows/lc-uf6sd1382ikolc/triggers/manual/methods/invoke?ApiVersion=2018-12-12&Signature=TZT7CGDgc299cC2dtL73Yeq4xY8",
        "Offset": 0,
        "SourceType": "url"
      },
    "TaskStatus": "1"
    }
                        
  • プルストリームリレータスクの終了のコールバックのパラメーターと例

    表 2. パラメーター

    パラメーター

    説明

    Event

    イベント名。固定値:LivePullToPushExit

    EventTime

    イベントが発生した時刻。値は、秒単位の UNIX タイムスタンプです。

    TaskId

    タスク ID。

    TaskInfo

    タスクに関する情報。

    TaskStatus

    タスクの現在の状態。有効な値:

    • -1: 終了

    TaskExitTime

    タスクが終了した時刻。値は、秒単位の UNIX タイムスタンプです。

    TaskExitReason

    タスクが終了した理由。

    • TriggerByUser: 対応する API 操作が呼び出されました。

    • OverEndTime: 指定された終了時刻に達しました。

    コールバックの例

    {
      "Event": "LivePullToPushExit",
      "EventTime": "1725501483",
      "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****",
      "TaskInfo":  {
        "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****",
        "StartTime": "2024-09-05T01:54:00Z",
        "EndTime": "2024-09-05T01:58:00Z",
        "SourceUrls": [
          "\"http://fyl-******-****.oss-cn-beijing.aliyuncs.com/record/caster/741584e2557248e98ef332d41e4afc3d/2024-08-30-18:19:40_2024-08-30-18:21:09.mp4\""
        ],
        "DstUrl": "rtmp://pushtest.*****.aliyunlive.com/pulltest38/pulltest-w38",
        "CallbackURL": "https://1833220977******.cn-shanghai.lc.aliyuncs.com/workflows/lc-uf6sd1382ikolc/triggers/manual/methods/invoke?ApiVersion=2018-12-12&Signature=TZT7CGDgc299cC2dtL73Yeq4xY8",
        "Offset": 0,
        "SourceType": "url"
      },
      "TaskStatus": "-1",
      "TaskExitTime": "1725501483",
      "TaskExitReason": "OverEndTime",
    }