Поделиться через


Схемы службы "Сетка событий Azure" для событий Служб мультимедиа

Логотип Служб мультимедиа версии 3


Предупреждение

Поддержка Служб мультимедиа Azure будет прекращена 30 июня 2024 г. Дополнительные сведения см. в руководстве по прекращению поддержки AMS.

В этой статье приведены схемы и свойства событий Служб мультимедиа.

Список примеров сценариев и руководства см. в статье Источники событий в службе "Сетка событий Azure".

Служба мультимедиа Microsoft Azure выдает следующие типы событий, связанных с заданием. Существует две категории событий, связанных с заданием: "Наблюдение за изменениями состояния задания" и "Наблюдение за изменениями состояния выходных данных задания".

Вы можете зарегистрироваться на все события, подписавшись на событие JobStateChange. Или, вы можете подписаться на отдельные события (к примеру, такие конечные состояния как JobErrored, JobFinished и JobCanceled).

Наблюдение за изменениями состояния задания

Тип события Описание
Microsoft.Media.JobStateChange Получить событие о всех изменениях состояние задания.
Microsoft.Media.JobScheduled Получить событие, когда задание переходит в состояние запланированного.
Microsoft.Media.JobProcessing Получить событие, когда задание переходит в состояние обработки.
Microsoft.Media.JobCanceling Получить событие, когда задание переходит в состояние отмены.
Microsoft.Media.JobFinished Получить событие, когда задание переходит в состояние завершенного. Это конечное состояние, которое включает в себя выходные данные задания.
Microsoft.Media.JobCanceled Получить событие, когда задание переходит в состояние отмененного. Это конечное состояние, которое включает в себя выходные данные задания.
Microsoft.Media.JobErrored Получить событие, когда задание переходит в состояние ошибки. Это конечное состояние, которое включает в себя выходные данные задания.

Ознакомьтесь с примерами схемы событий приведенными ниже.

Мониторинг изменений состояния выходных данных задания

Задание может содержать несколько выходов (если преобразование настроено соответствующим образом). Если вы хотите отслеживать выходные данные отдельного задания, настройте ожидание события изменения выходов задания.

Объект Job находится на уровне выше объекта JobOutput, поэтому события выходов задания будут срабатывать в контексте соответствующего задания.

Сообщения об ошибках в JobFinished, JobCanceled, JobError выводят агрегированные результаты по каждому выходу задания, когда все они завершаются. События же выходов задания срабатывают по завершении каждой отдельной задачи. Например, если у вас есть выход кодирования, за которым расположен выход видеоаналитики, то сначала сработают два события выходов задания, а затем итоговое событие JobFinished с агрегированными данными.

Тип события Описание
Microsoft.Media.JobOutputStateChange Получить событие о всех изменениях состояния выходных данных задания.
Microsoft.Media.JobOutputScheduled Получить событие, когда выходные данные задания переходят в состояние запланированных.
Microsoft.Media.JobOutputProcessing Получить событие, когда выходные данные задания переходят в состояние обработки.
Microsoft.Media.JobOutputCanceling Получить событие, когда выходные данные задания переходят в состояние отмены.
Microsoft.Media.JobOutputFinished Получить событие, когда выходные данные задания переходят в состояние завершения.
Microsoft.Media.JobOutputCanceled Получить событие, когда выходные данные задания переходят в состояние отмененных.
Microsoft.Media.JobOutputErrored Получить событие, когда выходные данные задания переходят в состояние ошибки.

Ознакомьтесь с примерами схемы событий приведенными ниже.

Мониторинг хода работы выходов задания

Тип события Описание
Microsoft.Media.JobOutputProgress Данное событие отображает ход выполнения задания, от 0 % до 100 %. Служба попытается отправить событие, когда ход выполнения задания увеличился на 5 % или более или прошло более 30 секунд с момента последнего события (пакета пульса). Значение хода выполнения не обязательно начинается с 0 %, достигает 100 %, а также не гарантируется его постоянное увеличение с течением времени. Это событие не следует использовать для определения завершения обработки. Вместо этого следует использовать события изменения состояния.

Ознакомьтесь с примерами схемы событий приведенными ниже.

Типы событий, связанных с прямой трансляцией

Служба мультимедиа также выдает следующие типы событий, связанных с прямой трансляцией. Существуют две категории для событий прямой трансляции: события уровня потока и события уровня дорожки.

События уровня потока

События уровня потока вызываются в потоке или подключении. Каждое событие имеет параметр StreamId, который идентифицирует подключение или поток. Каждый поток или подключение имеет одну или несколько дорожек разных типов. Например, одно подключение от кодировщика может иметь одну аудиодорожку и четыре видеодорожки. К типам событий потока относятся следующие:

Тип события Описание
Microsoft.Media.LiveEventConnectionRejected Попытка подключения кодировщика отклоняется.
Microsoft.Media.LiveEventEncoderConnected Кодировщик устанавливает подключение с событием прямой трансляции.
Microsoft.Media.LiveEventEncoderDisconnected Отключение кодировщика.

Ознакомьтесь с примерами схемы событий приведенными ниже.

События уровня дорожки

События уровня дорожки вызываются в каждой дорожке.

Примечание

Все события уровня отслеживания срабатывают после подключения динамического кодировщика.

К типам событий уровня отслеживания относятся следующие.

Тип события Описание
Microsoft.Media.LiveEventIncomingDataChunkDropped Сервер мультимедиа удаляет блок данных, потому что он устарел или имеет перекрывающуюся метку времени (метка времени нового блока данных меньше времени окончания предыдущего блока данных).
Microsoft.Media.LiveEventIncomingStreamReceived Сервер мультимедиа получает первый блок данных для каждой дорожки в потоковой передаче или подключении.
Microsoft.Media.LiveEventIncomingStreamsOutOfSync Сервер мультимедиа обнаружил, что потоки аудио и видео не синхронизированы. Это можно считать предупреждением, так как взаимодействие с пользователем может не ухудшаться.
Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync Сервер мультимедиа обнаружил, что один из двух видеопотоков, поступающих от внешнего кодировщика, не синхронизирован. Это можно считать предупреждением, так как взаимодействие с пользователем может не ухудшаться.
Microsoft.Media.LiveEventIngestHeartbeat Публикуется каждые 20 секунд для каждой дорожки, когда выполняется событие прямой трансляции. Предоставляет сводку работоспособности приема.

После первоначального подключения кодировщика событие пульса продолжает возникать каждые 20 секунд, независимо от наличия подключения к кодировщику.
Microsoft.Media.LiveEventTrackDiscontinuityDetected Сервер мультимедиа обнаруживает разрыв во входящей дорожке.

Ознакомьтесь с примерами схемы событий приведенными ниже.

Примеры схемы событий

JobStateChange

В примере ниже показана схема события JobStateChange.

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
    "eventType": "Microsoft.Media.JobStateChange",
    "eventTime": "2018-04-20T21:26:13.8978772",
    "id": "b9d38923-9210-4c2b-958f-0054467d4dd7",
    "data": {
      "previousState": "Processing",
      "state": "Finished"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
previousState строка Состояние задания перед событием.
state строка Новое состояние задания в этом событии. Например, "Запланировано: задание готово к запуску" или "Завершено: задание завершено".

Возможные значения состояния задания: В очереди, Запланировано, Обработка, Завершено, Ошибка, Отменено, Отмена.

Примечание

Состояние Queued (В очереди) может быть присвоено только свойству previousState, но не свойству state.

JobScheduled, JobProcessing, JobCanceling

Для каждого неокончательного изменения состояния задания (например, JobScheduled, JobProcessing, JobCanceling) пример схемы выглядит следующим образом:

[{
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
  "subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
  "eventType": "Microsoft.Media.JobProcessing",
  "eventTime": "2018-10-12T16:12:18.0839935",
  "id": "a0a6efc8-f647-4fc2-be73-861fa25ba2db",
  "data": {
    "previousState": "Scheduled",
    "state": "Processing",
    "correlationData": {
      "testKey1": "testValue1",
      "testKey2": "testValue2"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

JobFinished, JobCanceled, JobErrored

Для каждого окончательного изменения состояния задания (например, JobScheduled, JobProcessing, JobCanceling) пример схемы выглядит следующим образом:

[{
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
  "subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
  "eventType": "Microsoft.Media.JobFinished",
  "eventTime": "2018-10-12T16:25:56.4115495",
  "id": "9e07e83a-dd6e-466b-a62f-27521b216f2a",
  "data": {
    "outputs": [
      {
        "@odata.type": "#Microsoft.Media.JobOutputAsset",
        "assetName": "output-7640689F",
        "error": null,
        "label": "VideoAnalyzerPreset_0",
        "progress": 100,
        "state": "Finished"
      }
    ],
    "previousState": "Processing",
    "state": "Finished",
    "correlationData": {
      "testKey1": "testValue1",
      "testKey2": "testValue2"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

Объект данных имеет следующие свойства:

Свойство Тип Описание
outputs Array Получить выходные данные задания.

JobOutputStateChange

В примере ниже показана схема события JobOutputStateChange:

[{
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
  "subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
  "eventType": "Microsoft.Media.JobOutputStateChange",
  "eventTime": "2018-10-12T16:25:56.0242854",
  "id": "dde85f46-b459-4775-b5c7-befe8e32cf90",
  "data": {
    "previousState": "Processing",
    "output": {
      "@odata.type": "#Microsoft.Media.JobOutputAsset",
      "assetName": "output-7640689F",
      "error": null,
      "label": "VideoAnalyzerPreset_0",
      "progress": 100,
      "state": "Finished"
    },
    "jobCorrelationData": {
      "testKey1": "testValue1",
      "testKey2": "testValue2"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

JobOutputScheduled, JobOutputProcessing, JobOutputFinished, JobOutputCanceling, JobOutputCanceled, JobOutputErrored

Для каждого изменения состояния JobOutput пример схемы выглядит следующим образом:

[{
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
  "subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
  "eventType": "Microsoft.Media.JobOutputProcessing",
  "eventTime": "2018-10-12T16:12:18.0061141",
  "id": "f1fd5338-1b6c-4e31-83c9-cd7c88d2aedb",
  "data": {
    "previousState": "Scheduled",
    "output": {
      "@odata.type": "#Microsoft.Media.JobOutputAsset",
      "assetName": "output-7640689F",
      "error": null,
      "label": "VideoAnalyzerPreset_0",
      "progress": 0,
      "state": "Processing"
    },
    "jobCorrelationData": {
      "testKey1": "testValue1",
      "testKey2": "testValue2"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

JobOutputProgress

Схема, указанная в примере, должна соответствовать приведенной ниже.

[{
 "topic": "/subscriptions/<subscription-id>/resourceGroups/belohGroup/providers/Microsoft.Media/mediaservices/<account-name>",
 "subject": "transforms/VideoAnalyzerTransform/jobs/job-5AB6DE32",
 "eventType": "Microsoft.Media.JobOutputProgress",
 "eventTime": "2018-12-10T18:20:12.1514867",
 "id": "00000000-0000-0000-0000-000000000000",
 "data": {
   "jobCorrelationData": {
     "TestKey1": "TestValue1",
     "testKey2": "testValue2"
   },
   "label": "VideoAnalyzerPreset_0",
   "progress": 86
 },
 "dataVersion": "1.0",
 "metadataVersion": "1"
}]

LiveEventConnectionRejected;

Следующий пример демонстрирует схему события LiveEventConnectionRejected:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaServices/<account-name>",
    "subject": "/LiveEvents/MyLiveEvent1",
    "eventType": "Microsoft.Media.LiveEventConnectionRejected",
    "eventTime": "2018-01-16T01:57:26.005121Z",
    "id": "b303db59-d5c1-47eb-927a-3650875fded1",
    "data": {
      "streamId":"Mystream1",
      "ingestUrl": "http://abc.ingest.isml",
      "encoderIp": "118.238.251.xxx",
      "encoderPort": 52859,
      "resultCode": "MPE_INGEST_CODEC_NOT_SUPPORTED"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
streamId строка Идентификатор потока или подключения. Кодировщик или клиент несет ответственность за добавление этого идентификатора в URL-адрес приема.
ingestUrl строка URL-адрес приема, предоставленный событием прямой трансляции.
encoderIp строка IP-адрес кодировщика.
encoderPort строка Порт кодировщика из источника этого потока.
resultCode строка Причина, по которой подключение было отклонено. Коды результатов перечислены в следующей таблице.

Коды ошибок результатов можно найти в статье о кодах ошибок трансляции.

LiveEventEncoderConnected;

Следующий пример демонстрирует схему события LiveEventEncoderConnected:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventEncoderConnected",
    "eventTime": "2018-08-07T23:08:09.1710643",
    "id": "<id>",
    "data": {
      "ingestUrl": "http://mle1-amsts03mediaacctgndos-ts031.channel.media.azure-test.net:80/ingest.isml",
      "streamId": "15864-stream0",
      "encoderIp": "131.107.147.xxx",
      "encoderPort": "27485"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
streamId строка Идентификатор потока или подключения. Кодировщик или клиент несет ответственность за указание этого идентификатора в URL-адресе приема.
ingestUrl строка URL-адрес приема, предоставленный событием прямой трансляции.
encoderIp строка IP-адрес кодировщика.
encoderPort строка Порт кодировщика из источника этого потока.

LiveEventEncoderDisconnected.

Следующий пример демонстрирует схему события LiveEventEncoderDisconnected:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventEncoderDisconnected",
    "eventTime": "2018-08-07T23:08:09.1710872",
    "id": "<id>",
    "data": {
      "ingestUrl": "http://mle1-amsts03mediaacctgndos-ts031.channel.media.azure-test.net:80/ingest.isml",
      "streamId": "15864-stream0",
      "encoderIp": "131.107.147.xxx",
      "encoderPort": "27485",
      "resultCode": "S_OK"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
streamId строка Идентификатор потока или подключения. Кодировщик или клиент несет ответственность за добавление этого идентификатора в URL-адрес приема.
ingestUrl строка URL-адрес приема, предоставленный событием прямой трансляции.
encoderIp строка IP-адрес кодировщика.
encoderPort строка Порт кодировщика из источника этого потока.
resultCode строка Причина отключения кодировщика. Это может быть нормальное отключение или ошибка. Коды результатов перечислены в следующей таблице.

Коды ошибок результатов можно найти в статье о кодах ошибок трансляции.

Коды результатов нормального отключения:

Код результата Описание:
S_OK Кодировщик отключен успешно.
MPE_CLIENT_TERMINATED_SESSION Кодировщик отключен (RTMP).
MPE_CLIENT_DISCONNECTED Кодировщик отключен (FMP4).
MPI_REST_API_CHANNEL_RESET Получена команда сброса канала.
MPI_REST_API_CHANNEL_STOP Получена команда остановки канала.
MPI_REST_API_CHANNEL_STOP Канал находится в режиме обслуживания.
MPI_STREAM_HIT_EOF Поток конца файла отправлен кодировщиком.

LiveEventIncomingDataChunkDropped;

Следующий пример демонстрирует схему события LiveEventIncomingDataChunkDropped:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaServices/<account-name>",
    "subject": "/LiveEvents/MyLiveEvent1",
    "eventType": "Microsoft.Media.LiveEventIncomingDataChunkDropped",
    "eventTime": "2018-01-16T01:57:26.005121Z",
    "id": "03da9c10-fde7-48e1-80d8-49936f2c3e7d",
    "data": {
      "trackType": "Video",
      "trackName": "Video",
      "bitrate": 300000,
      "timestamp": "36656620000",
      "timescale": "10000000",
      "resultCode": "FragmentDrop_OverlapTimestamp"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
trackType строка Тип дорожки (аудио/видео).
trackName строка Имя дорожки.
bitrate Целое число Скорость дорожки.
timestamp строка Удалена метка времени блока данных.
timescale строка Шкала времени метки времени.
resultCode строка Причина удаления блока данных. FragmentDrop_OverlapTimestamp или FragmentDrop_NonIncreasingTimestamp.

LiveEventIncomingStreamReceived;

Следующий пример демонстрирует схему события LiveEventIncomingStreamReceived:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventIncomingStreamReceived",
    "eventTime": "2018-08-07T23:08:10.5069288Z",
    "id": "7f939a08-320c-47e7-8250-43dcfc04ab4d",
    "data": {
      "ingestUrl": "http://mle1-amsts03mediaacctgndos-ts031.channel.media.azure-test.net:80/ingest.isml/Streams(15864-stream0)15864-stream0",
      "trackType": "video",
      "trackName": "video",
      "bitrate": 2962000,
      "encoderIp": "131.107.147.xxx",
      "encoderPort": "27485",
      "timestamp": "15336831655032322",
      "duration": "20000000",
      "timescale": "10000000"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
trackType строка Тип дорожки (аудио/видео).
trackName строка Название дорожки (предоставляется кодировщиком или, в случае RTMP, создается сервером в формате TrackType_Bitrate).
bitrate Целое число Скорость дорожки.
ingestUrl строка URL-адрес приема, предоставленный событием прямой трансляции.
encoderIp строка IP-адрес кодировщика.
encoderPort строка Порт кодировщика из источника этого потока.
timestamp строка Получена первая метка времени.
timescale строка Шкала времени, в которой представлена метка времени.

LiveEventIncomingStreamsOutOfSync;

Следующий пример демонстрирует схему события LiveEventIncomingStreamsOutOfSync:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventIncomingStreamsOutOfSync",
    "eventTime": "2018-08-10T02:26:20.6269183Z",
    "id": "b9d38923-9210-4c2b-958f-0054467d4dd7",
    "data": {
      "minLastTimestamp": "319996",
      "typeOfStreamWithMinLastTimestamp": "Audio",
      "maxLastTimestamp": "366000",
      "typeOfStreamWithMaxLastTimestamp": "Video",
      "timescaleOfMinLastTimestamp": "10000000",
      "timescaleOfMaxLastTimestamp": "10000000"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
minLastTimestamp строка Минимальная из последних меток времени среди всех дорожек (аудио или видео).
typeOfTrackWithMinLastTimestamp строка Тип дорожки (аудио или видео) с минимальной последней меткой времени.
maxLastTimestamp строка Максимальная из всех меток времени среди всех дорожек (аудио или видео).
typeOfTrackWithMaxLastTimestamp строка Тип дорожки (аудио или видео) с максимальной последней меткой времени.
timescaleOfMinLastTimestamp строка Получить шкалу времени, в которой представлена "MinLastTimestamp".
timescaleOfMaxLastTimestamp строка Получить шкалу времени, в которой представлена "MaxLastTimestamp".

LiveEventIncomingVideoStreamsOutOfSync;

Следующий пример демонстрирует схему события LiveEventIncomingVideoStreamsOutOfSync:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaServices/<account-name>",
    "subject": "/LiveEvents/LiveEvent1",
    "eventType": "Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync",
    "eventTime": "2018-01-16T01:57:26.005121Z",
    "id": "6dd4d862-d442-40a0-b9f3-fc14bcf6d750",
    "data": {
      "firstTimestamp": "2162058216",
      "firstDuration": "2000",
      "secondTimestamp": "2162057216",
      "secondDuration": "2000",
      "timescale": "10000000"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
firstTimestamp строка Метка времени, полученная для одной из дорожек или уровней качества типа видео.
firstDuration строка Длительность блока данных с первой меткой времени.
secondTimestamp строка Метка времени, полученная для другого уровня дорожки или уровня качества типа видео.
secondDuration строка Длительность блока данных со второй меткой времени.
timescale строка Шкала времени, состоящая из отметок времени и длительности.

LiveEventIngestHeartbeat;

Следующий пример демонстрирует схему события LiveEventIngestHeartbeat:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventIngestHeartbeat",
    "eventTime": "2021-05-14T23:50:00.324",
    "id": "7f450938-491f-41e1-b06f-c6cd3965d786",
    "data": {
      "trackType":"video",
      "trackName":"video",
      "bitrate":2500000,
      "incomingBitrate":2462597,
      "lastTimestamp":"106999",
      "timescale":"1000",
      "overlapCount":0,
      "discontinuityCount":0,
      "nonincreasingCount":0,
      "unexpectedBitrate":false,
      "state":"Running",
      "healthy":true,
      "lastFragmentArrivalTime":"2021-05-14T23:50:00.324",
      "ingestDriftValue":"0",
      "transcriptionState":"",
      "transcriptionLanguage":""
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
trackType строка Тип дорожки (аудио/видео).
trackName строка Название дорожки (предоставляется кодировщиком или, в случае RTMP, создается сервером в формате TrackType_Bitrate).
bitrate Целое число Скорость дорожки.
incomingBitrate Целое число Расчетная скорость на основе блоков данных, поступающих из кодировщика.
lastTimestamp строка Последняя метка времени, полученная для дорожки за последние 20 секунд.
timescale строка Шкала времени, в которой выражены метки времени.
overlapCount Целое число Количество блоков данных с перекрывающимися метками времени за последние 20 секунд.
discontinuityCount Целое число Количество прерываний, наблюдаемое за последние 20 секунд.
nonIncreasingCount Целое число Количество блоков данных с метками времени в прошлом, полученных за последние 20 секунд.
unexpectedBitrate bool Если ожидаемые и фактические скорости отличаются более чем на допустимый предел за последние 20 секунд. Это верно, только если incomingBitrate > = 2 * bitrate, incomingBitrate < = bitrate/2 или IncomingBitrate = 0.
state строка Состояние события прямой трансляции.
healthy bool Указывает состояние работоспособности приема на основе счетчиков и ​​флагов. Работоспособно, если overlapCount = 0 && discontinuityCount = 0 && nonIncreasingCount = 0 && unexpectedBitrate = false.
lastFragmentArrivalTime строка Последняя метка времени в формате UTC, когда фрагмент достиг конечной точки приема данных. Пример формата даты: “2020-11-11 12:12:12:888999”
ingestDriftValue строка Указывает скорость задержки (в секундах за минуту) входящих звуковых или видеоданных за последнюю минуту. Значение будет выше нуля, если за последнюю минуту данные прибывали на трансляцию медленнее, чем ожидалось. Нулевое значение означает, что данные прибыли без задержки, а значение “n/a” указывает, что звуковые или видеоданные не были получены. Например, если у вас есть кодировщик предоставления данных, отправляющий содержимое в реальном времени, и он замедляется из-за проблем с обработкой или сетевой задержки, он может успеть доставить только 58 секунд звука или видео за одну минуту. Это обозначается как смещение в две секунды за минуту. Если кодировщик успевает отправить все 60 секунд данных или больше каждую минуту, то будет отображаться значение 0. В случае обрыва или неоднородности соединения с кодировщиком это значение по-прежнему может составлять 0, так как оно не учитывает разрывы в данных, а только задержки данных по меткам времени.
transcriptionState строка Это значение равно "On" для пульсов звуковых дорожек, если включено транскрибирование в реальном времени. В противном случае оно будет пустой строкой. Это состояние применимо только к дорожкам типа audio для транскрибирования в реальном времени. Для всех остальных дорожек используется пустое значение.
transcriptionLanguage строка Код языка транскрибирования (в формате BCP-47). Например, значение de-de обозначает немецкий язык (Германия). Значение будет пустым для пульсов видеодорожек или при отключенном транскрибировании в реальном времени.

LiveEventChannelArchiveHeartbeat

Следующий пример демонстрирует схему события LiveEventChannelArchiveHeartbeatEvent:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventChannelArchiveHeartbeat",
    "eventTime": "2021-05-14T23:50:00.324",
    "id": "7f450938-491f-41e1-b06f-c6cd3965d786",
    "data": {
      "channelLatencyMs": "10",
      "latencyResultCode": "S_OK"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
channelLatencyMs строка Время в миллисекундах (мс), которое принятое видео проводит в конвейере трансляций перед публикацией в манифесте HLS/DASH для скачивания проигрывателями.
latencyResultCode строка Код результата для вычисления channelLatencyMs. S_OK указывает, что прием трансляции был получен в реальном времени без каких-либо проблем. Другие коды результата указывают на ситуации, в которых channelLatencyMs будет иметь пустое значение. Код ошибки MPE_KEY_FRAME_INTERVAL_TOO_LARGE указывает, что источник принятого видео имеет большой показатель GOP (расстояние между ключевыми кадрами), что отрицательно скажется на задержке канала. Код ошибки MPE_INGEST_DISCONTINUITY указывает, что в исходном потоке обнаружены неоднородность, которые могут существенно увеличивать задержку канала.

LiveEventTrackDiscontinuityDetected.

Следующий пример демонстрирует схему события LiveEventTrackDiscontinuityDetected:

[
  {
    "topic": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
    "subject": "liveEvent/mle1",
    "eventType": "Microsoft.Media.LiveEventTrackDiscontinuityDetected",
    "eventTime": "2018-08-07T23:18:06.1270405Z",
    "id": "5f4c510d-5be7-4bef-baf0-64b828be9c9b",
    "data": {
      "trackName": "video",
      "previousTimestamp": "15336837615032322",
      "trackType": "video",
      "bitrate": 2962000,
      "newTimestamp": "15336837619774273",
      "discontinuityGap": "575284",
      "timescale": "10000000"
    },
    "dataVersion": "1.0",
    "metadataVersion": "1"
  }
]

Объект данных имеет следующие свойства:

Свойство Тип Описание
trackType строка Тип дорожки (аудио/видео).
trackName строка Название дорожки (предоставляется кодировщиком или, в случае RTMP, создается сервером в формате TrackType_Bitrate).
bitrate Целое число Скорость дорожки.
previousTimestamp строка Метка времени предыдущего фрагмента.
newTimestamp строка Метка времени текущего фрагмента.
discontinuityGap строка Разрыв между двумя метками времени выше.
timescale строка Шкала времени, в которой представлены метка времени и разрыв.

Общие свойства событий

Событие содержит следующие высокоуровневые данные:

Свойство Тип Описание
topic строка Раздел сетки событий. Это свойство имеет идентификатор ресурса для учетной записи Служб мультимедиа.
subject строка Путь ресурсов для канала Служб мультимедиа в учетной записи Служб мультимедиа. Объединение темы и объекта предоставляет вам идентификатор ресурса для задания.
eventType строка Один из зарегистрированных типов событий для этого источника событий. Пример: Microsoft.Media.JobStateChange.
eventTime строка Время создания события с учетом времени поставщика в формате UTC.
id строка Уникальный идентификатор события.
data object Данные события Служб мультимедиа.
dataVersion строка Версия схемы для объекта данных. Версию схемы определяет издатель.
metadataVersion строка Версия схемы для метаданных события. Служба "Сетка событий" определяет схему свойств верхнего уровня. Это значение предоставляет служба "Сетка событий".

См. также раздел