Azure Event Grid schémata pro události služby Media Services

Logo Media Services v3


Upozornění

Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.

Tento článek obsahuje schémata a vlastnosti událostí služby Media Services.

Seznam ukázkových skriptů a kurzů najdete v tématu Zdroj událostí Media Services.

Služba Media Services vygeneruje typy událostí související s úlohou , které jsou popsány níže. Události související s úlohou mají dvě kategorie: "Monitorování změn stavu úlohy" a "Monitorování změn stavu výstupu úlohy".

Ke všem událostem se můžete zaregistrovat přihlášením k odběru události JobStateChange. Nebo se můžete přihlásit pouze k odběru konkrétních událostí (například konečných stavů, jako je JobErrored, JobFinished a JobCanceled).

Monitorování změn stavu úlohy

Typ události Popis
Microsoft.Media.JobStateChange Získejte událost pro všechny změny stavu úlohy.
Microsoft.Media.JobScheduled Získejte událost, když úloha přejde do naplánovaného stavu.
Microsoft.Media.JobProcessing Získejte událost, když úloha přejde do stavu zpracování.
Microsoft.Media.JobCanceling Získejte událost, když úloha přejde do stavu zrušení.
Microsoft.Media.JobFinished Získejte událost, když úloha přejde do stavu dokončení. Jedná se o konečný stav, který zahrnuje výstupy úloh.
Microsoft.Media.JobCanceled Získejte událost, když úloha přejde do stavu zrušení. Jedná se o konečný stav, který zahrnuje výstupy úloh.
Microsoft.Media.JobErrored Získejte událost, když úloha přejde do chybového stavu. Jedná se o konečný stav, který zahrnuje výstupy úloh.

Podívejte se na následující příklady schémat .

Monitorování změn stavu výstupu úlohy

Úloha může obsahovat více výstupů úloh (pokud jste nakonfigurovali transformaci tak, aby obsahovala více výstupů úloh). Pokud chcete sledovat podrobnosti výstupu jednotlivých úloh, naslouchejte události změny výstupu úlohy.

Každá úloha bude na vyšší úrovni než JobOutput, a proto se události výstupu úlohy aktivují uvnitř odpovídající úlohy.

Chybové zprávy v JobFinishednástroji , JobErrorJobCanceledmají výstup agregovaných výsledků pro každý výstup úlohy – po dokončení všech. Zatímco výstupní události úlohy se aktivují při dokončení každého úkolu. Pokud máte například výstup kódování následovaný výstupem analýzy videa, zobrazí se dvě události, které se aktivují jako výstupní události úlohy předtím, než se aktivuje konečná událost JobFinished s agregovanými daty.

Typ události Popis
Microsoft.Media.JobOutputStateChange Získejte událost pro všechny změny stavu výstupu úlohy.
Microsoft.Media.JobOutputScheduled Získejte událost, když výstup úlohy přejde do naplánovaného stavu.
Microsoft.Media.JobOutputProcessing Získejte událost, když výstup úlohy přejde do stavu zpracování.
Microsoft.Media.JobOutputCanceling Získejte událost, když výstup úlohy přejde do stavu zrušení.
Microsoft.Media.JobOutputFinished Získání události, když výstup úlohy přejde do stavu dokončeno.
Microsoft.Media.JobOutputCanceled Získejte událost, když výstup úlohy přejde do stavu zrušení.
Microsoft.Media.JobOutputErrored Získání události při přechodu výstupu úlohy do chybového stavu

Podívejte se na následující příklady schémat .

Monitorování průběhu výstupu úlohy

Typ události Popis
Microsoft.Media.JobOutputProgress Tato událost odráží průběh zpracování úlohy od 0 % do 100 %. Služba se pokusí odeslat událost, pokud došlo k 5% nebo vyššímu zvýšení hodnoty průběhu nebo pokud od poslední události (prezentenční signál) uplynulo více než 30 sekund. U hodnoty průběhu není zaručeno, že začne na 0 % nebo dosáhne 100 %, ani není zaručeno, že se bude zvyšovat konstantním tempem v průběhu času. Tuto událost nepoužívejte k určení, že se zpracování dokončilo – místo toho byste měli použít události změny stavu.

Podívejte se na následující příklady schémat .

Typy živých událostí

Služba Media Services také generuje typy živých událostí popsané níže. Živé události mají dvě kategorie: události na úrovni streamu a události na úrovni sledování.

Události na úrovni streamu

Události na úrovni datového proudu jsou vyvolány pro každý stream nebo připojení. Každá událost má StreamId parametr, který identifikuje připojení nebo datový proud. Každý stream nebo připojení má jednu nebo více stop různých typů. Například jedno připojení z kodéru může mít jednu zvukovou stopu a čtyři video stopy. Typy událostí streamu jsou:

Typ události Popis
Microsoft.Media.LiveEventConnectionRejected Pokus o připojení kodéru byl odmítnut.
Microsoft.Media.LiveEventEncoderConnected Kodér naváže spojení s živou událostí.
Microsoft.Media.LiveEventEncoderDisconnected Kodér se odpojí.

Podívejte se na následující příklady schémat .

Události na úrovni sledování

Události na úrovni stop jsou vyvolány pro každou stopu.

Poznámka

Všechny události na úrovni sledování jsou vyvolány po připojení kodéru pro kódování v reálném čase.

Typy událostí na úrovni sledování jsou:

Typ události Popis
Microsoft.Media.LiveEventIncomingDataChunkDropped Mediální server zahodí datové bloky, protože je příliš pozdě nebo má překrývající se časové razítko (časové razítko nového datového bloku je kratší než koncový čas předchozího datového bloku).
Microsoft.Media.LiveEventIncomingStreamReceived Server médií přijímá první datové bloky pro každou stopu ve streamu nebo připojení.
Microsoft.Media.LiveEventIncomingStreamsOutOfSync Mediální server zjistí, že streamy zvuku a videa nejsou synchronizované. Použijte jako upozornění, protože uživatelské prostředí nemusí být ovlivněno.
Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync Server médií zjistí, že některý ze dvou datových proudů videa pocházejících z externího kodéru není synchronizovaný. Použijte jako upozornění, protože uživatelské prostředí nemusí být ovlivněno.
Microsoft.Media.LiveEventIngestHeartbeat Publikuje se každých 20 sekund pro každou stopu, když je spuštěná živá událost. Poskytuje souhrn stavu příjmu.

Po počátečním připojení kodéru bude událost prezenčních signálů nadále vysílat každých 20 sekund bez ohledu na to, jestli je kodér stále připojený nebo ne.
Microsoft.Media.LiveEventTrackDiscontinuityDetected Server médií zjistí diskontinuitu příchozí stopy.

Podívejte se na následující příklady schémat .

Příklady schématu událostí

Změna stavu úlohy

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
previousState řetězec Stav úlohy před událostí.
state řetězec Nový stav úlohy, která je v této události upozorněna. Například "Naplánované: Úloha je připravená ke spuštění" nebo "Dokončeno: Úloha je dokončena".

Kde stav úlohy může být jedna z hodnot: Ve frontě, Naplánovano, Zpracování, Dokončeno, Chyba, Zrušeno, Zrušení

Poznámka

Queued bude přítomen pouze ve vlastnosti previousState , ale ne ve vlastnosti state .

JobScheduled, JobProcessing, JobCanceling

Pro každou neukončnou změnu stavu úlohy (například JobScheduled, JobProcessing, JobCanceling) vypadá ukázkové schéma přibližně takto:

[{
  "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

Pro každou poslední změnu stavu úlohy (například JobFinished, JobCanceled, JobErrored) vypadá ukázkové schéma přibližně takto:

[{
  "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"
}]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
outputs Pole Získá výstupy úlohy.

JobOutputStateChange

Následující příklad ukazuje schéma události 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

Pro každou změnu stavu JobOutput vypadá ukázkové schéma přibližně takto:

[{
  "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

Ukázkové schéma vypadá přibližně takto:

[{
 "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

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
streamId řetězec Identifikátor datového proudu nebo připojení. Kodér nebo zákazník zodpovídá za přidání tohoto ID do adresy URL ingestování.
ingestUrl řetězec Ingestovací adresa URL poskytnutá živou událostí
encoderIp řetězec IP adresa kodéru.
encoderPort řetězec Port kodéru, ze kterého tento datový proud přichází.
resultCode řetězec Důvod zamítnutí připojení Kódy výsledků jsou uvedeny v následující tabulce.

Kódy výsledků chyb najdete v kódech chyb živých událostí.

LiveEventEncoderConnected

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
streamId řetězec Identifikátor datového proudu nebo připojení. Kodér nebo zákazník zodpovídá za poskytnutí tohoto ID v adrese URL ingestování.
ingestUrl řetězec Ingestovací adresa URL poskytnutá živou událostí
encoderIp řetězec IP adresa kodéru.
encoderPort řetězec Port kodéru, ze kterého tento datový proud přichází.

LiveEventEncoderDisconnected

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
streamId řetězec Identifikátor datového proudu nebo připojení. Kodér nebo zákazník zodpovídá za přidání tohoto ID do adresy URL ingestování.
ingestUrl řetězec Ingestovací adresa URL poskytnutá živou událostí
encoderIp řetězec IP adresa kodéru.
encoderPort řetězec Port kodéru, ze kterého tento datový proud přichází.
resultCode řetězec Důvod odpojení kodéru. Může se jednat o řádné odpojení nebo chybu. Kódy výsledků jsou uvedeny v následující tabulce.

Kódy výsledků chyb najdete v kódech chyb živých událostí.

Kódy výsledků pro řádné odpojení jsou:

Kód výsledku Description
S_OK Kodér se úspěšně odpojil.
MPE_CLIENT_TERMINATED_SESSION Kodér se odpojil (RTMP).
MPE_CLIENT_DISCONNECTED Odpojený kodér (FMP4).
MPI_REST_API_CHANNEL_RESET Byl přijat příkaz pro resetování kanálu.
MPI_REST_API_CHANNEL_STOP Byl přijat příkaz k zastavení kanálu.
MPI_REST_API_CHANNEL_STOP Kanál probíhá údržba.
MPI_STREAM_HIT_EOF Datový proud EOF je odeslán kodérem.

LiveEventIncomingDataChunkDropped

Následující příklad ukazuje schéma Události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
trackType řetězec Typ skladby (Audio / Video).
trackName řetězec Název skladby.
bitrate integer Přenosová rychlost stopy.
timestamp řetězec Časové razítko vynechaného datového bloku
timescale řetězec Časová osa časového razítka
resultCode řetězec Důvod poklesu datového bloku FragmentDrop_OverlapTimestamp nebo FragmentDrop_NonIncreasingTimestamp.

LiveEventIncomingStreamReceived

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
trackType řetězec Typ skladby (Audio / Video).
trackName řetězec Název stopy (buď poskytuje kodér, nebo v případě RTMP server generuje ve formátu TrackType_Bitrate ).
bitrate integer Přenosová rychlost stopy.
ingestUrl řetězec Ingestovací adresa URL poskytovaná živou událostí
encoderIp řetězec IP adresa kodéru.
encoderPort řetězec Port kodéru, ze kterého tento stream přichází.
timestamp řetězec První časové razítko přijatého datového bloku.
timescale řetězec Časová osa, ve které je znázorněno časové razítko.

LiveEventIncomingStreamsOutOfSync

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
minLastTimestamp řetězec Minimální poslední časová razítka mezi všemi stopami (zvuk nebo video).
typeOfTrackWithMinLastTimestamp řetězec Typ stopy (zvuk nebo video) s minimálním posledním časovým razítkem
maxLastTimestamp řetězec Maximum všech časových razítek mezi všemi stopami (zvuk nebo video).
typeOfTrackWithMaxLastTimestamp řetězec Typ stopy (zvuk nebo video) s maximálním posledním časovým razítkem
timescaleOfMinLastTimestamp řetězec Získá časovou osu, ve které "MinLastTimestamp" je reprezentován.
timescaleOfMaxLastTimestamp řetězec Získá časovou osu, ve které je znázorněna hodnota MaxLastTimestamp.

LiveEventIncomingVideoStreamsOutOfSync

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
firstTimestamp řetězec Časové razítko přijaté pro jednu z úrovní stop nebo kvality typu video.
firstDuration řetězec Doba trvání datového bloku s prvním časovým razítkem
secondTimestamp řetězec Časové razítko přijato pro určitou jinou úroveň stopy nebo kvality typu video.
secondDuration řetězec Doba trvání datového bloku s druhým časovým razítkem
timescale řetězec Časová osa časových razítek a doby trvání

LiveEventIngestHeartbeat

Následující příklad ukazuje schéma Události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
trackType řetězec Typ skladby (Audio / Video).
trackName řetězec Název stopy (buď poskytuje kodér, nebo v případě RTMP server generuje ve formátu TrackType_Bitrate ).
bitrate integer Přenosová rychlost stopy.
incomingBitrate integer Vypočtená přenosová rychlost na základě bloků dat pocházejících z kodéru.
lastTimestamp řetězec Poslední časové razítko přijaté pro trasu za posledních 20 sekund.
timescale řetězec Časová osu, ve které jsou vyjádřena časová razítka.
overlapCount integer Počet bloků dat měl překrývající se časová razítka za posledních 20 sekund.
discontinuityCount integer Počet diskontinuit pozorovaných za posledních 20 sekund
nonIncreasingCount integer Počet datových bloků dat s časovými razítky v minulosti byl přijat za posledních 20 sekund.
unexpectedBitrate bool Pokud se očekávaná a skutečná přenosová rychlost liší o více než povolený limit za posledních 20 sekund. Platí pouze v případě, že incomingBitrate >= 2* bitrate NEBO incomingBitrate <= bitrate/2 NEBO IncomingBitrate = 0.
state řetězec Stav živé události.
healthy bool Určuje, jestli je ingestování v pořádku na základě počtu a příznaků. Hodnota V pořádku je true, pokud overlapCount = 0 && diskontinuityCount = 0 && nonIncreasingCount = 0 && unexpectedBitrate = false.
lastFragmentArrivalTime řetězec Poslední časové razítko ve standardu UTC, že fragment dorazil do koncového bodu ingestování. Příklad formátu data je "2020-11-11 12:12:12:888999"
ingestDriftValue řetězec Označuje rychlost zpoždění příchozích zvukových nebo obrazových dat v posledních minutách v sekundách za minutu. Hodnota je větší než nula, pokud data přicházejí do živé události pomaleji, než se očekávalo v poslední minutě; nula, pokud data dorazila bez zpoždění; a "n/a", pokud nebyla přijata žádná zvuková nebo obrazová data. Pokud například máte kodér příspěvku, který odesílá živý obsah a zpomaluje se kvůli problémům se zpracováním nebo latenci sítě, může být schopen během jedné minuty doručit zvuk nebo video celkem jen 58 sekund. To by se hlásilo jako posun o dvě sekundy za minutu. Pokud kodér dokáže každou minutu zachytit a odeslat všech 60 sekund nebo více dat, zobrazí se tato hodnota 0. Pokud došlo k odpojení nebo diskontinuitě od kodéru, může se tato hodnota stále zobrazovat jako 0, protože nebere v úvahu konce dat – pouze data, která jsou zpožděná v časových razítkech.
transcriptionState řetězec Tato hodnota je zapnutá pro prezenční signály zvukové stopy, pokud je zapnutý živý přepis, jinak se zobrazí prázdný řetězec. Tento stav se vztahuje pouze na typ stopy "audio" pro živý přepis. Všechny ostatní stopy budou mít prázdnou hodnotu.
transcriptionLanguage řetězec Kód jazyka (ve formátu BCP-47) jazyka přepisu. Například "de-de" označuje němčinu (Německo). Hodnota prezenčních signálů video stopy je prázdná nebo když je vypnutý živý přepis.

LiveEventChannelArchiveHeartbeat

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
channelLatencyMs řetězec Čas v milisekundách (ms) ingestované video stráví v kanálu živé události před jeho publikováním do manifestu HLS/DASH pro hráče ke stažení.
latencyResultCode řetězec Kód výsledku pro výpočet channelLatencyMs. S_OK označuje, že ingestování živé události bylo přijato bez jakýchkoli problémů. Jiné kódy výsledků označují situace, které by způsobily, že channelLatencyMs mají prázdnou hodnotu. MPE_KEY_FRAME_INTERVAL_TOO_LARGE Kód chyby označuje, že ingestované video zdroj má velkou gop (vzdálenost snímku klíče), která by negativně ovlivnila latenci kanálu. MPE_INGEST_DISCONTINUITY Kód chyby označuje, že byly zjištěny diskontinuity ve zdrojovém datovém proudu, což může kanálu přidat dlouhou latenci.

LiveEventTrackDiscontinuityDetected

Následující příklad ukazuje schéma události 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"
  }
]

Datový objekt má následující vlastnosti:

Vlastnost Typ Description
trackType řetězec Typ skladby (Audio / Video).
trackName řetězec Název stopy (buď poskytnutý kodérem, nebo v případě RTMP server generuje ve formátu TrackType_Bitrate ).
bitrate integer Přenosová rychlost dráhy.
previousTimestamp řetězec Časové razítko předchozího fragmentu.
newTimestamp řetězec Časové razítko aktuálního fragmentu.
discontinuityGap řetězec Mezera mezi výše dvěma časovými razítky
timescale řetězec Časová osa, ve které jsou reprezentovány mezery časových razítek i diskontinuity.

Společné vlastnosti událostí

Událost má následující data nejvyšší úrovně:

Vlastnost Typ Description
topic řetězec Téma event gridu. Tato vlastnost má ID prostředku pro účet Media Services.
subject řetězec Cesta k prostředku pro kanál Media Services v účtu Media Services. Zřetězením tématu a předmětu získáte ID prostředku pro úlohu.
eventType řetězec Jeden z registrovaných typů události pro tento zdroj události. Například Microsoft.Media.JobStateChange.
eventTime řetězec Čas vygenerování události na základě času UTC poskytovatele.
id řetězec Jedinečný identifikátor události.
data object Data událostí služby Media Services.
dataVersion řetězec Verze schématu datového objektu. Verzi schématu definuje vydavatel.
metadataVersion řetězec Verze schématu metadat události. Schéma vlastností nejvyšší úrovně definuje Event Grid. Tuto hodnotu poskytuje Event Grid.

Viz také