Перейти к содержимому

Scan API

Запрос: POST /control/

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

Ответ:

{
"scan-init": "ok",
"id": "..."
}
  • id — идентификатор созданного экземпляра анализатора

Анализатор будет остановлен автоматически через 10 секунд. Чтобы анализатор работал дольше, используйте метод API scan-check.

Запрос: POST /control/

{
"cmd": "scan-kill",
"id": "..."
}
  • id — идентификатор экземпляра анализатора

Этот метод останавливает анализатор немедленно.

Запрос: POST /control/

{
"cmd": "scan-check",
"id": "..."
}
  • id — идентификатор экземпляра анализатора

Ответ:

{
"scan-check": "ok",
"scan": [
{
"psi": "...",
"table_id": N,
"pid": N,
"version": N,
"crc32": N,
...
}
]
}
  • scan — массив с информацией о потоке, если новой информации нет, это поле будет отсутствовать

Информация о потоке:

  • psi — имя пакета Program Stream Information (PSI). Возможные значения: pat, pmt, cat, nit, sdt
  • table_id — идентификатор PSI
  • pid — идентификатор пакета MPEG-TS
  • version — версия пакета PSI
  • crc32 — контрольная сумма пакета PSI

Дополнительные поля зависят от типа PSI.

Program Association Table (PAT) — список программ. Содержит номер программы (PNR) и идентификатор пакета (PID) связанного PMT. Дополнительные поля:

{
"psi": "pat",
"table_id": 0,
"pid": 0,
"tsid": N,
"programs": [
{
"pnr": N,
"pid": N
}
]
}
  • table_id — всегда 0
  • pid — всегда 0
  • tsid — идентификатор транспортного потока
  • programs — список программ

Информация о программе:

  • pnr — номер программы
  • pid — идентификатор пакета MPEG-TS для PMT

Program Mapping Table (PMT) — список элементарных потоков программы: видео, аудио и другие данные. Дополнительные поля:

{
"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 — всегда 2
  • pid — идентификатор пакета MPEG-TS
  • pnr — номер программы
  • pcr — идентификатор пакета MPEG-TS для пакетов с временными метками Program Clock Reference (PCR)
  • streams — список элементарных потоков программы

Информация об элементарном потоке:

  • pid — идентификатор пакета MPEG-TS для элементарного потока
  • type_name — тип элементарного потока: VIDEO, AUDIO, SUB, TTX, AIT, DATA
  • type_id — идентификатор элементарного потока
  • descriptors — дескрипторы элементарного потока, содержат дополнительную информацию