API de streams
Na interface do Astra, você pode gerenciar as configurações dos streams e controlar o status deles usando métodos da API HTTP.
Configuração do stream
Seção intitulada “Configuração do stream”{ "id": "...", "name": "...", "type": "...", "enable": true, "input": [ "" ]}name- nome do streamtype- tipo do stream:sptsoumptsenable-truese o stream estiver ativadoinput- lista das entradas do stream- outras opções dependem da configuração do stream.
Obter a configuração do stream
Seção intitulada “Obter a configuração do stream”Requisição: GET /api/stream-info/{id}
id- identificador único do stream
A resposta é um JSON com a configuração do stream
Modificar a configuração do stream
Seção intitulada “Modificar a configuração do stream”Requisição: POST /control/
{ "id": "...", "cmd": "set-stream", "stream": { ... }}id- identificador único do streamstream- configuração do stream
Ativar ou desativar o stream
Seção intitulada “Ativar ou desativar o stream”Liga/desliga o stream. Requisição: POST /control/
{ "cmd": "toggle-stream", "id": "..."}id- identificador único do stream
Reiniciar o stream
Seção intitulada “Reiniciar o stream”Requisição: POST /control/
{ "cmd": "restart-stream", "id": "..."}id- identificador único do stream
Trocar a entrada ativa
Seção intitulada “Trocar a entrada ativa”Escolhe a entrada ativa. Funciona apenas para streams com os seguintes tipos de backup: passive ou disable. Requisição: POST /control/
{ "cmd": "set-stream-input", "id": "...", "input": "..."}id- identificador único do streaminput– número da entrada. A numeração começa em 1. Se a opção não for definida, o Astra ativa a próxima entrada depois da entrada ativa
Excluir o stream
Seção intitulada “Excluir o stream”Requisição: POST /control/
{ "cmd": "set-stream", "id": "...", "stream": { "remove": true }}id- identificador único do stream
Obter o status do stream
Seção intitulada “Obter o status do stream”Requisição: GET /api/stream-status/{id}
id- identificador único do stream
Parâmetros de consulta opcionais: GET /api/stream-status/{id}?t={time}
time- o padrão é1- estatísticas do último minuto.0- estatísticas do último segundo (status atual do stream).
Resposta:
{ "timestamp": 0, "instance": "...", "name": "...", "input_id": 1, "active": true, "onair": true, "sessions": 0, "bitrate": 0, "packets": 0, "pes_error": 0, "sc_error": 0, "cc_error": 0, "video_count": 1, "audio_count": 1}timestamp- hora do relatório, parat=0é a hora atualinstance- nome da instância, se definido em Configurações → Geral → Nome da Instâncianame- nome do streaminput_id- identificador da entrada ativa. Por exemplo, se a entrada principal funciona bem, o valor é 1. Se o stream mudou para a entrada de backup, o valor é o número dessa entradaactive-truese o stream está ativo, oufalsese o stream funciona sob demanda e está inativoonair-truese a entrada ativa funciona sem errossessions- número de sessões ativas no streambitrate- bitrate do stream em Kbit/spes_error- número de pacotes PES inválidossc_error- número de pacotes TS embaralhados. Se o stream é protegido por um sistema de acesso condicional (CAS), entãosc_errorepes_errorsão maiores que 0. Se o stream é desembaralhado com uma chave inválida,sc_erroré igual a 0 epes_erroré maior que 0cc_error- contador de erros CC. Um erro CC pode ser causado por perda ou excesso de pacotesvideo_count- número de streams de vídeoaudio_count- número de streams de áudio