5.7.1. TaskLastStates

Описание

Получение текущего состояния задачи. Возвращаются данные об активных состояниях ошибок (или последние состояния для остановленных задач), текущие PSI и VideoInformation / AudioInformation таблицы.

Запрос

{ "user_id":(number),
  "methods":[{
      "method":"TaskLastStates",
      "params":{
        "project_id":(number),
        "task_ids":' id1 | [id1,id2] | "*" '
        "metrics": [(string)]}}]}
  • user_id - целое число, идентификатор пользователя;

  • project_id - целое число, идентификатор проекта пользователя;

  • task_ids - идентификаторы задач, поле может задаваться в одном из следующих форматов:
    id1 - целое число, идентификатор задачи;
    [id1,id2] - массив целых чисел, идентификаторы задач;
    "*" - строка, символ «звездочки», запрос информации обо всех активных задачах всех запущенных зондов в проекте.
  • metrics (опциональное поле) - массив строк, выбор необходимых метрик. Если в запросе не указана ни одна метрика, в ответе вернутся данные по всем метрикам. Подробное описание состояний задачи можно найти в таблице Описание триггеров:
    ProgramSpecificInformation - описание программ (каналов) и таблиц в потоке;
    VideoInformation - описание заголовков видеопотоков (формат кодирования, разрешение, количество кадров в секунду, соотношение сторон кадра и пр.);
    AudioInformation - описание заголовков аудиопотоков (формат, число каналов и частота дискретизации);
    BadSource - сотояние, когда зонд не может получать данные для анализа по какой-либо причине.

Ответ

{"reply":[{
      "method":"TaskLastStates",
      "result":{
        "BadSource":(boolean),
        "AudioInformation":{
          "PID1":{
            "pid":(number),
            "Format":(string),
            ...
          }
        },
        "VideoInformation":{
          "PID2":{
            "pid":(number),
            "Format":(string),
            ...
          }
        },
        "ProgramSpecificInformation":{
          "programs":[
            {
              "pid":(number),
              "number":(number),
              "name":(string),
              "streams":[
                {
                  "pid":(number),
                  "type":(number),
                  "detectedType":(number),
                  "pcr":(boolean)
                }
              ]
            },
          ],
          "tables":[
            {
              "pid":(number),
              "id":[(number)]}]}}}]}
  • task_id - целое число, идентификатор задачи;

  • BadSource - логический тип, true означает, что задача находится в состоянии BadSource;

  • AudioInformation - объект, состоящий из:
    • pid - целое число, идентификатор потока;

    • Format - строка, формат аудиопотока: MPEG Audio, AAC, AC-3, PCM, пустая строка;

    • DecoderProvider - строка, провайдер декодера: Elecard, FFmpeg;

    • Version (опциональное поле) - целое число, идентификатор MPEG версии;

    • Layer (опциональное поле) - строка, описание MPEG слоя: Reserved, 3, 2, 1;

    • Channels - целое число, количество каналов;

    • SampleRate - целое число, частота дискретизации в kHz;

    • MuxingMode (опциональное поле) - строка, формат AAC: LATM, ADTS;

    • Profile (опциональное поле) - строка, профиль AAC: Main, LC, SSR, LTP, HE-AAC, HE-AACv2;

    • ChannelsPositions (опциональное поле) - строка, конфигурация каналов;

    • ModeExtension (опциональное поле) - строка, тип AC-3 сервиса: CM (complete main), ME (music and effects), VI (visually impaired), HI (hearing impaired), D (dialogue), C (commentary), E (emergency), VO (voice over);

    • Endianness (опциональное поле) - строка, порядок байтов для AC-3: Little, Big;

    • ChannelGrouping (опциональное поле) - строка, концепция группировки звука взята из спецификации SMPTE ST 2110-30, раздел 6.2.2: Mono, Dual mono, Standard stereo, Matrix stereo, 5.1 Surround, 7.1 Surround, 22.2 Surround, One SDI audio group;
    • ChannelsOrder (опциональное поле) - строка, конфигурация каналов в группе: Mono, M1, M2, Left, Right, Left Total, Right Total, L, R, C, LFE, Ls, Rs, L, R, C, LFE, Lss, Rss, Lrs, Rrs, Order shall be per SMPTE ST 2036-2, Table 1, 1, 2, 3, 4;
    • Language (опциональное поле) - строка, двух или трехсимвольный код языка.

  • VideoInformation - объект, состоящий из:
    • pid - целое число, идентификатор потока;

    • Format - строка, формат видеопотока: AVC, HEVC, MPEG-2, YUV;

    • DecoderProvider - строка, провайдер декодера: Elecard, FFmpeg;

    • Format profile - строка, формат и уровень профиля;

    • Format settings, BVOP (опциональное поле) - строка: Yes, No;

    • Format settings, Matrix (опциональное поле) - строка: Custom, Default;

    • Format settings, CABAC (опциональное поле) - строка: Yes, No;

    • Format settings, ReFrames (опциональное поле) - строка, количество референсных кадров;

    • Width - целое число, ширина картинки;

    • Height - целое число, высота картинки;

    • PAR Width (опциональное поле) - целое число, ширина соотношения сторон пикселя;

    • PAR Height (опциональное поле) - целое число, высота соотношения сторон пикселя;

    • Start vertical position (опциональное поле) - целое число, при передаче части видеокадра в полезной нагрузке это значение указывает значение по оси Y первой строки данных видеокадра (начиная с нуля);

    • Vertical size (опциональное поле) - целое число, количество строк видео в полезной нагрузке;

    • Start horizontal position (опциональное поле) - целое число, при передаче части видеокадра в полезной нагрузке это значение задает значение по оси X первого пикселя данных видеокадра (начиная с нуля);

    • Horizontal size (опциональное поле) - целое число, количество пикселей в строке полезной нагрузки;

    • Alpha Channel (опциональное поле) - логический тип, true говорит о наличии альфа канала;

    • Segmented (опциональное поле) - логический тип, eсли true, указывает PsF. Недопустимо для установки без установки Scan type равным Interlaced;

    • Range (опциональное поле) - строка, диапазон кодирования: Narrow, Full Protect, Full;
    • Display aspect ratio - строка, соотношение сторон;

    • Frame rate - строка, частота кадров (VFR для переменной частоты);

    • Standard - строка, стандарт: Component, PAL, NTSC, SECAM, MAC;

    • Color space - строка, цветовое пространство: RGB, YUV;

    • Chroma subsampling - строка, цветовая субдискретизация: monochrome, 4:2:0, 4:2:2, 4:4:4, пустая строка;

    • Bit depth - строка, глубина цвета;

    • Scan type (опциональное поле) - строка, развертка: Interlaced, Progressive, Variative, Unknown;

    • Color primaries (опциональное поле) - строка, указывает колориметрические параметры исходного изображения: BT.709, BT.470 System M, BT.601 PAL, BT.601 NTSC, SMPTE 240M, Generic film, BT.2020, пустая строка;

    • Transfer characteristics (опциональное поле) - строка, указывает оптико-электронную передаточную характеристику исходного изображения: BT.709, BT.470 System M, BT.470 System B, BT.470 System G, BT.601, SMPTE 240M, Linear, Logarithmic (100:1), Logarithmic (316.22777:1), IEC 61966-2-4, BT.1361 extended colour gamut system, sYCC, BT.2020, BT.2020, пустая строка;

    • Matrix coefficients (опциональное поле) - строка, описывает коэффициенты матрицы, при получении сигналов яркости и цветности: RGB, BT.709, FCC 73.682, BT.601, BT.601, SMPTE 240M, YCgCo, BT.2020 non-constant, BT.2020 constant, пустая строка;

    • HDR info (опциональное поле) - объект состоящий из:
      • Type - строка, тип HDR: HDR10, HLG, HDR10+, Dolby Vision;

      • DV version (опциональное поле) - строка, версия Dolby Vision;

      • DV profile (опциональное поле) - строка, профиль Dolby Vision;

      • DV level (опциональное поле) - строка, уровень Dolby Vision;

      • DV flags (опциональное поле) - строка, указанные наличие базового, улучшенного слоев, метаданных Dolby Vision;

      • DV compatibility (опциональное поле) - строка, указывает обратную совместимость слоев Dolby Vision c другими HDR/SDR стандартами;

      • Display primaries[0..2] (опциональное поле) - строка, содержит координаты (x, y) трех основных цветов;

      • White point (опциональное поле) - строка, содержит координаты (x, y) для white point;

      • Max display mastering luminance (опциональное поле) - целое число, номинальная максимальная яркость в 0,0001 кд/м2;

      • Min display mastering luminance (опциональное поле) - целое число, номинальная минимальная яркость в 0,0001 кд/м2;

      • MaxCLL (опциональное поле) - целое число, максимальное значение яркости контента в кд/м2;

      • MaxFall (опциональное поле) - целое число, максимальное среднее значение яркости кадра в кд/м2;

      • Preferred transfer characteristics (опциональное поле) - целое число, указывает предпочтительное альтернативное значение Transfer characteristics.

  • ProgramSpecificInformation - объект, Program-specific information (PSI) - описание программ (каналов) и таблиц в потоке:
    • programs - массив объектов, описание программ:
      • pid - целое число, PID PMT;

      • number - целое число, номер программы;

      • name - строка, имя программы;

      • streams - массив объектов, описание элементарных потоков, входящих в программу:
        • pid - целое число, PID элементарного потока;

        • type - целое число, заявленный тип потока;

        • detectedType - целое число, тип потока, который определил зонд. Идентификатор уточненного типа потока не является стандартным, см. таблицу для информации;

        • pcr - логический тип, наличие PCR в элементарном потоке.

    • tables - массив объектов, описание таблиц:

Пример

Запрос утилитой cURL
#Запрос состояния одной задачи
  curl http://172.16.11.111/ctrl_api/v1/json \
   -H "Content-Type: application/json" \
   --data '{"user_id":4,"methods":[{"method":"TaskLastStates","params":{"project_id":23,"task_ids":[443445],"metrics":["AudioInformation","VideoInformation","BadSource","ProgramSpecificInformation"]}}]}'
Ответ на запрос
 {"reply":
   [{"method": "TaskLastStates",
     "project_id": 23,
     "result":
     [{"task_id": 443445,
       "BadSource": false,
       "AudioInformation":
         {"1032":
           {"pid": 1032,
           "Format": "MPEG Audio",
           "DecoderProvider": "Elecard",
           "Version": 1,
           "Layer": "2",
           "Channels": 2,
           "SampleRate": 48000}},
       "VideoInformation":
         {"1031":
           {"pid": 1031,
           "Format": "AVC",
           "DecoderProvider": "Elecard",
           "Format profile": "Main@L3.0",
           "Format settings, CABAC": "Yes",
           "Format settings, ReFrames": "4 frames",
           "Width": 720,
           "Height": 576,
           "Display aspect ratio": "16:9",
           "Frame rate": "25.000 fps",
           "Standard": "Component",
           "Color space": "YUV",
           "Chroma subsampling": "4:2:0",
           "Bit depth": "8 bits",
           "Scan type": "Interlaced",
           "Color primaries": "5 (BT.601 PAL)",
           "Transfer characteristics": "5 (BT.470 System B/G)",
           "Matrix coefficients": "5 (BT.601)"}},
       "ProgramSpecificInformation":
         {"programs":
           [{"pid": 1030,
             "number": 1030,
             "name": "Game_iptv",
             "streams":
             [{"pid": 1031, "type": 27, "detectedType": 12, "pcr": true},
               {"pid": 1032, "type": 3, "detectedType": 2},
               {"pid": 1034, "type": 6, "detectedType": 24},
               {"pid": 1035, "type": 134, "detectedType": 255}]}],
         "tables":[
           {"pid": 0, "id": [0]},
           {"pid": 16, "id": [64]},
           {"pid": 17, "id": [70]},
           {"pid": 20, "id": [112, 115]},
           {"pid": 1030, "id": [2]}]}}]}]}