Pular para o conteúdo

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.

{
"id": "...",
"name": "...",
"type": "...",
"enable": true,
"input": [
""
]
}
  • name - nome do stream
  • type - tipo do stream: spts ou mpts
  • enable - true se o stream estiver ativado
  • input - lista das entradas do stream
  • outras opções dependem da 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

Requisição: POST /control/

{
"id": "...",
"cmd": "set-stream",
"stream": { ... }
}
  • id - identificador único do stream
  • stream - configuração do stream

Liga/desliga o stream. Requisição: POST /control/

{
"cmd": "toggle-stream",
"id": "..."
}
  • id - identificador único do stream

Requisição: POST /control/

{
"cmd": "restart-stream",
"id": "..."
}
  • id - identificador único do stream

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 stream
  • input – 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

Requisição: POST /control/

{
"cmd": "set-stream",
"id": "...",
"stream": {
"remove": true
}
}
  • id - identificador único 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, para t=0 é a hora atual
  • instance - nome da instância, se definido em Configurações → Geral → Nome da Instância
  • name - nome do stream
  • input_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 entrada
  • active - true se o stream está ativo, ou false se o stream funciona sob demanda e está inativo
  • onair - true se a entrada ativa funciona sem erros
  • sessions - número de sessões ativas no stream
  • bitrate - bitrate do stream em Kbit/s
  • pes_error - número de pacotes PES inválidos
  • sc_error - número de pacotes TS embaralhados. Se o stream é protegido por um sistema de acesso condicional (CAS), então sc_error e pes_error são maiores que 0. Se o stream é desembaralhado com uma chave inválida, sc_error é igual a 0 e pes_error é maior que 0
  • cc_error - contador de erros CC. Um erro CC pode ser causado por perda ou excesso de pacotes
  • video_count - número de streams de vídeo
  • audio_count - número de streams de áudio