Ao configurar callbacks para o status de ingestão de fluxo, você recebe notificações oportunas sobre ingestões bem-sucedidas ou interrompidas.
Como funciona
O ApsaraVideo Live envia uma solicitação HTTP GET ao seu servidor para notificar, em tempo real, se a ingestão de fluxo foi bem-sucedida ou interrompida. O servidor deve responder com o código de status HTTP 200, indicando que o callback foi processado com sucesso.
Notas de uso
-
A URL de callback não exige identificador, mas precisa estar acessível. A resposta da URL deve atender aos seguintes requisitos:
Se o acesso à URL de callback atingir o tempo limite, o ApsaraVideo Live tentará acessar a URL novamente. O tempo limite é de 5 segundos. O sistema faz até cinco novas tentativas, com intervalos de 1 segundo.
-
Lógica de callback de ingestão de fluxo
Por padrão, a autenticação para callbacks de ingestão de fluxo está desativada. Ative esse recurso ao especificar a URL de callback de ingestão de fluxo. Após a ativação, aplica-se a seguinte lógica de autenticação:
-
Quando o ApsaraVideo Live inicia uma solicitação de callback, ele inclui os cabeçalhos
ALI-LIVE-TIMESTAMPeALI-LIVE-SIGNATUREna solicitação HTTP ou HTTPS para permitir que o servidor receptor autentique a assinatura. O valor deALI-LIVE-SIGNATUREé calculado com base na seguinte fórmula:ALI-LIVE-SIGNATURE = MD5SUM (MD5CONTENT)MD5CONTENT = Domain name|ALI-LIVE-TIMESTAMP value|Cryptographic keyNotaDomain name refere-se ao domínio de ingestão no qual você configurou a URL de callback.
Cryptographic key corresponde à chave configurada para a URL de callback.
Os nomes dos cabeçalhos de solicitação não diferenciam maiúsculas de minúsculas.
Ao receber uma mensagem de callback, o servidor receptor concatena o nome de domínio do callback, o valor do cabeçalho
ALI-LIVE-TIMESTAMPe a chave criptográfica no formato descrito anteriormente. O servidor calcula o valor MD5 dessa string para obter uma string criptografada e a compara com o valor do cabeçalhoALI-LIVE-SIGNATUREpresente na solicitação HTTP ou HTTPS iniciada pelo ApsaraVideo Live. Se os valores forem diferentes, a solicitação será considerada inválida.
-
Exemplo
Exemplo de callback:
http://1.1.1.1?action=publish&ip=192.168.XX.XX&id=world&app=example.aliyundoc.com&appname=liveApp****&time=1609220385&usrargs={Custom parameters}&
node=cdnvideocenter01020711****.cm3&height=720&width=1280
Parâmetro | Descrição |
action | Evento. Valores válidos:
|
ip | Endereço IP do cliente de ingestão de fluxo. |
id | Nome do fluxo ingerido. |
app | Domínio de ingestão. O valor padrão é um domínio de ingestão personalizado. Se nenhum domínio de ingestão estiver disponível, será usado um domínio de streaming. |
appname | Nome do aplicativo que ingere o fluxo. |
time | Timestamp UNIX. Unidade: segundos. |
usrargs | Parâmetros personalizados usados na ingestão do fluxo. |
node | Nome do ponto de presença (POP) da CDN ou do host que recebe o fluxo. |
height | Altura da resolução. Unidade: pixels. Nota A altura e a largura da resolução são retornadas apenas na primeira invocação do callback. |
width | Largura da resolução. Unidade: pixels. |