Azure Event Grid schémata pro události služby Media Services
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.
Typy událostí souvisejících s úlohou
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 JobFinished
nástroji , JobError
JobCanceled
mají 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. |