Pular para o conteúdo

API de análise

Requisição: POST /control/

{
"cmd": "scan-init",
"scan": "..."
}

Resposta:

{
"scan-init": "ok",
"id": "..."
}
  • id - identificador da instância do analisador criada

O analisador para automaticamente em 10 segundos. Para mantê-lo ativo por mais tempo, use o método da API scan-check.

Requisição: POST /control/

{
"cmd": "scan-kill",
"id": "..."
}
  • id - identificador da instância do analisador

Este método para o analisador imediatamente.

Requisição: POST /control/

{
"cmd": "scan-check",
"id": "..."
}
  • id - identificador da instância do analisador

Resposta:

{
"scan-check": "ok",
"scan": [
{
"psi": "...",
"table_id": N,
"pid": N,
"version": N,
"crc32": N,
...
}
]
}
  • scan - array com informações do stream; se não houver nenhuma informação nova, este campo é omitido

Informações do stream:

  • psi - nome do pacote Program Stream Information (PSI). Pode ser: pat, pmt, cat, nit, sdt
  • table_id - identificador do PSI
  • pid - identificador do pacote MPEG-TS
  • version - versão do pacote PSI
  • crc32 - checksum do pacote PSI

Os campos adicionais dependem do tipo de PSI.

A Program Association Table (PAT) é uma lista de programas. Contém o Program Number (PNR) e o Packet Identifier (PID) da PMT associada. Campos adicionais:

{
"psi": "pat",
"table_id": 0,
"pid": 0,
"tsid": N,
"programs": [
{
"pnr": N,
"pid": N
}
]
}
  • table_id - sempre 0
  • pid - sempre 0
  • tsid - identificador do Transport Stream
  • programs - lista de programas

Informações do programa:

  • pnr - número do programa
  • pid - identificador do pacote MPEG-TS da PMT

A Program Mapping Table (PMT) é uma lista dos elementary streams do programa: vídeo, áudio e outros dados. Campos adicionais:

{
"psi": "pmt",
"table_id": 2,
"pnr": N,
"pid": N,
"pcr": N,
"streams": [
{
"pid": N,
"type_name": "...",
"type_id": N,
"descriptors": [
{
"type_id": N,
"type_name": "...",
...
}
]
}
]
}
  • table_id - sempre 2
  • pid - identificador do pacote MPEG-TS
  • pnr - Program Number
  • pcr - identificador dos pacotes MPEG-TS que contêm as marcas de tempo Program Clock Reference (PCR)
  • streams - lista dos elementary streams do programa

Informações do elementary stream:

  • pid - identificador do pacote MPEG-TS do elementary stream
  • type_name - tipo do elementary stream: VIDEO, AUDIO, SUB, TTX, AIT, DATA
  • type_id - identificador do elementary stream
  • descriptors - descritores do elementary stream com informações adicionais