Todos os produtos
Search
Central de documentação

ApsaraVideo Live:Callbacks de retransmissão de stream puxado

Última atualização: Nov 04, 2026

Os callbacks de retransmissão de stream puxado notificam sua aplicação quando uma tarefa muda de estado ou é encerrada. Este tópico aborda as condições de acionamento e exemplos de payloads de callback.

Eventos de callback

Os callbacks de retransmissão de stream puxado abrangem dois tipos de eventos: alterações no estado da tarefa e encerramentos de tarefa.

Uma tarefa de retransmissão de stream puxado pode ter um dos seguintes estados:

Estado

Descrição

Idle

O estado inicial de uma tarefa criada por uma chamada de API.

Running

O estado em que a tarefa é iniciada no horário agendado ou reiniciada por uma chamada de API.

Recovering

O estado em que a tarefa está tentando novamente após um erro de execução.

Offline

O estado após a tarefa parar porque as tentativas de repetição expiraram ou uma chamada de API a interrompeu.

Exit

O estado após a tarefa ser excluída, seja ao atingir o horário de término agendado ou por uma chamada de API.

Callback para alterações no estado da tarefa

Descrição

O sistema aciona um callback quando uma tarefa de retransmissão de stream puxado faz a transição para Running, Recovering ou Offline.

Condições de acionamento

  • A tarefa faz a transição para Running quando é iniciada no horário de início agendado ou reiniciada por uma chamada de API.

  • A tarefa faz a transição para Recovering quando encontra um erro durante a execução.

  • A tarefa faz a transição para Offline quando uma chamada de API a interrompe ou suas tentativas de repetição expiram.

Callback para encerramento da tarefa

Descrição

O sistema aciona um callback quando uma tarefa de retransmissão de stream puxado é encerrada. O encerramento significa que o sistema removeu a tarefa expirada.

Condições de acionamento

  • A tarefa faz a transição para Exit quando o sistema a exclui por ter atingido o horário de término agendado.

  • A tarefa faz a transição para Exit quando uma chamada de API a exclui.

Payload do callback

O sistema envia o callback como um objeto JSON no corpo da requisição de uma solicitação HTTP POST para a sua URL de callback. Analise o corpo da requisição para obter o conteúdo do callback.

  • Parâmetros e payload de exemplo para um callback de alteração de estado da tarefa

    Tabela 1. Payload de callback para alterações no estado da tarefa

    Parâmetro

    Descrição

    Event

    O nome do evento. Valor fixo: LivePullToPushRunning.

    EventTime

    A hora em que o evento ocorreu, como um timestamp Unix em segundos.

    TaskId

    O ID da tarefa.

    TaskInfo

    As informações da tarefa.

    TaskStatus

    O estado atual da tarefa. Valores válidos:

    • 1: Running

    • 2: Recovering

    • 3: Offline

    TaskInvalidReason

    O motivo pelo qual a tarefa foi executada de forma anormal ou parou. Valores válidos:

    • PullStreamFailed: Falha ao puxar o stream.

    • PushStreamFailed: Falha ao retransmitir o stream.

    • TriggerByUser: Interrompida por uma chamada de API.

    • UnknownError: Ocorreu um erro desconhecido.

    • RetryTimesOffline: As tentativas de repetição expiraram.

    Nota

    Este parâmetro é retornado apenas quando o estado da tarefa é Offline.

    Payload de exemplo

    {
    "Event": "LivePullToPushRunning",
    "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"
    }
                        
  • Parâmetros e payload de exemplo para um callback de encerramento de tarefa

    Tabela 2. Payload de callback para encerramento da tarefa

    Parâmetro

    Descrição

    Event

    O nome do evento. Valor fixo: LivePullToPushExit.

    EventTime

    A hora em que o evento ocorreu, como um timestamp Unix em segundos.

    TaskId

    O ID da tarefa.

    TaskInfo

    As informações da tarefa.

    TaskStatus

    O estado atual da tarefa. Valor válido:

    • -1: Exit

    TaskExitTime

    A hora em que a tarefa foi encerrada, como um timestamp Unix em segundos.

    TaskExitReason

    O motivo do encerramento da tarefa. Valores válidos:

    • TriggerByUser: Excluída por uma chamada de API.

    • OverEndTime: O horário de término agendado foi atingido.

    Payload de exemplo

    {
      "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",
    }