Todos os produtos
Search
Central de documentação

ApsaraVideo Live:Callbacks de retransmissão de stream puxado

Última atualização: Jun 30, 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 de estado da tarefa e encerramento da tarefa.

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

Estado

Descrição

Idle

Estado inicial de uma tarefa criada por chamada de API.

Running

Estado em que a tarefa inicia no horário agendado ou é reiniciada por chamada de API.

Recovering

Estado em que a tarefa tenta nova execução após um erro.

Offline

Estado atingido quando a tarefa para devido ao tempo limite das tentativas de repetição ou por chamada de API.

Exit

Estado posterior à exclusão da tarefa, seja pelo fim do tempo agendado ou por chamada de API.

Callback para alteração de estado da tarefa

Descrição

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

Condições de acionamento

  • A tarefa transita para Running ao iniciar no horário programado ou quando reiniciada por chamada de API.

  • A transição para Recovering ocorre caso a tarefa encontre um erro durante a execução.

  • O estado muda para Offline se uma chamada de API interromper a tarefa ou se as tentativas de repetição atingirem o tempo limite.

Callback para encerramento da tarefa

Descrição

Um callback é disparado quando a tarefa de retransmissão de stream puxado é encerrada. O encerramento indica que o sistema removeu a tarefa expirada.

Condições de acionamento

  • A tarefa passa para o estado Exit quando o sistema a exclui ao atingir o horário final agendado.

  • A transição para Exit acontece mediante exclusão por chamada de API.

Payload do callback

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

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

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

    Parâmetro

    Descrição

    Event

    Nome do evento. Valor fixo: LivePullToPushRunning.

    EventTime

    Momento da ocorrência do evento, representado como timestamp Unix em segundos.

    TaskId

    ID da tarefa.

    TaskInfo

    Informações da tarefa.

    TaskStatus

    Estado atual da tarefa. Valores válidos:

    • 1: Running

    • 2: Recovering

    • 3: Offline

    TaskInvalidReason

    Motivo da execução anormal ou parada da tarefa. Valores válidos:

    • PullStreamFailed: Falha ao puxar o stream.

    • PushStreamFailed: Falha na retransmissão do stream.

    • TriggerByUser: Interrompida por chamada de API.

    • UnknownError: Ocorreu um erro desconhecido.

    • RetryTimesOffline: Tempo limite das tentativas de repetição esgotado.

    Nota

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

    Exemplo de payload

    {
    "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 exemplo de payload para callback de encerramento da tarefa

    Tabela 2. Payload de callback para encerramento da tarefa

    Parâmetro

    Descrição

    Event

    Nome do evento. Valor fixo: LivePullToPushExit.

    EventTime

    Momento da ocorrência do evento, representado como timestamp Unix em segundos.

    TaskId

    ID da tarefa.

    TaskInfo

    Informações da tarefa.

    TaskStatus

    Estado atual da tarefa. Valor válido:

    • -1: Exit

    TaskExitTime

    Horário de encerramento da tarefa, em timestamp Unix (segundos).

    TaskExitReason

    Motivo do encerramento da tarefa. Valores válidos:

    • TriggerByUser: Excluída por chamada de API.

    • OverEndTime: Horário final agendado atingido.

    Exemplo de payload

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