Configure callbacks para receber notificações quando as gravações de transmissões ao vivo forem iniciadas, interrompidas ou gerarem arquivos.
Métodos de configuração
Configure os callbacks de gravação no console do ApsaraVideo Live ou por chamada de API.
Para configurar callbacks de gravação de transmissão ao vivo no console do ApsaraVideo Live, consulte Configurar callbacks de gravação.
Para configurar callbacks de gravação de transmissão ao vivo por chamada de API, consulte AddLiveRecordNotifyConfig.
Exemplos de callbacks
Os callbacks de gravação dividem-se em dois tipos:
Callbacks de status de gravação: enviados no início ou no fim da gravação.
Callbacks de geração de gravação: disparados quando um arquivo de gravação é criado. Incluem o nome do arquivo, horários de início e término e a duração total.
O conteúdo do callback é enviado em formato JSON no corpo de uma requisição HTTP POST para a URL definida no parâmetro NotifyUrl. Analise o corpo da requisição para extrair essas informações.
-
Callbacks de status de gravação
NotaPara ative os callbacks de status de gravação, defina o parâmetro NeedStatusNotify como true ao chamar a API.
O parâmetro NeedStatusNotify faz parte da operação AddLiveRecordNotifyConfig e controla a ativação ou desativação dessas notificações de status.
Tabela 1. Parâmetros Parâmetro Descrição domain Domínio de streaming. app Nome do aplicativo. stream Nome da transmissão ao vivo. event Nome do evento. Valores válidos: - record_started: Gravação iniciada.
- record_paused: Gravação pausada.
- record_resumed: Gravação retomada.
Exemplo de callback no início da gravação:
{ "domain": "gs_domain", "app": "gs_app", "stream": "gs_stream", "event": "record_started" } -
Callbacks de geração de gravação
Tabela 2. Parâmetros Parâmetro
Descrição
domain
Domínio de streaming.
app
Nome do aplicativo.
stream
Nome da transmissão ao vivo.
uri
Caminho de armazenamento da gravação no bucket especificado do Object Storage Service (OSS).
duration
Duração da gravação, em segundos.
start_time
Horário de início da gravação como timestamp UNIX, em segundos.
stop_time
Horário de término da gravação como timestamp UNIX, em segundos.
push_args
Parâmetros de ingestão de fluxo com o prefixo callback_, como callback_arg1 e callback_myid.
NotaEste exemplo se aplica quando não há modelos de callback personalizados configurados.
Cada parâmetro aceita apenas um valor. Se múltiplos valores forem passados, somente o primeiro será retornado. Por exemplo, ao passar value1 e depois value2 para
callback_args1, o callback retornará apenas"callback_args1": "value1".
Exemplo de callback após a geração de uma gravação:
{ "domain": "demo.aliyundoc.com", "app": "liveApp****", "stream": "liveStream****", "uri": "liveApp****/liveStream****/0_2017-03-08-23:09:46_2017-03-08-23:10:40.flv", "duration": 69.403, "start_time": 1488985786, "stop_time": 1488985840, "push_args": { "callback_args1": "value1", "callback_myid": "1231389741" } }
Referências
Para mais informações, consulte Callback de eventos.