Azure Event Grid schema's voor Media Services-gebeurtenissen
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de handleiding voor buitengebruikstelling van AMS voor meer informatie.
Dit artikel bevat de schema's en eigenschappen voor Media Services-gebeurtenissen.
Zie Media Services-gebeurtenisbron voor een lijst met voorbeeldscripts en zelfstudies.
Taakgerelateerde gebeurtenistypen
Media Services verzendt de taakgerelateerde gebeurtenistypen die hieronder worden beschreven. Er zijn twee categorieën voor de taakgerelateerde gebeurtenissen: 'Wijzigingen in taakstatus bewaken' en 'Wijzigingen in taakuitvoerstatus bewaken'.
U kunt zich registreren voor alle gebeurtenissen door u te abonneren op de gebeurtenis JobStateChange. U kunt zich ook alleen abonneren op specifieke gebeurtenissen (bijvoorbeeld eindstatussen zoals JobErrored, JobFinished en JobCanceled).
Wijzigingen in taakstatus bewaken
Gebeurtenistype | Beschrijving |
---|---|
Microsoft.Media.JobStateChange | Een gebeurtenis ophalen voor alle wijzigingen in de taakstatus. |
Microsoft.Media.JobScheduled | Een gebeurtenis ophalen wanneer de taak overgaat naar de geplande status. |
Microsoft.Media.JobProcessing | Een gebeurtenis ophalen wanneer de taak overgaat naar de verwerkingsstatus. |
Microsoft.Media.JobCanceling | Een gebeurtenis ophalen wanneer de taak overgaat naar de status Annuleren. |
Microsoft.Media.JobFinished | Een gebeurtenis ophalen wanneer de taak wordt overgezet naar de status Voltooid. Dit is een uiteindelijke status die taakuitvoer bevat. |
Microsoft.Media.JobCanceled | Een gebeurtenis ophalen wanneer de taak overgaat naar de status Geannuleerd. Dit is een uiteindelijke status die taakuitvoer bevat. |
Microsoft.Media.JobErrored | Een gebeurtenis ophalen wanneer taak overgaat naar de foutstatus. Dit is een uiteindelijke status die taakuitvoer bevat. |
Zie Schemavoorbeelden die volgen.
Wijzigingen in taakuitvoerstatus bewaken
Een taak kan meerdere taakuitvoer bevatten (als u de transformatie hebt geconfigureerd om meerdere taakuitvoer te hebben.) Als u de details van de uitvoer van de afzonderlijke taak wilt bijhouden, luistert u naar een wijzigings-gebeurtenis voor de taakuitvoer.
Elke taak zal zich op een hoger niveau bevinden dan JobOutput, waardoor taakuitvoer gebeurtenissen worden geactiveerd binnen een bijbehorende taak.
De foutberichten in JobFinished
, voeren JobError
JobCanceled
de geaggregeerde resultaten uit voor elke taakuitvoer wanneer ze allemaal zijn voltooid. Terwijl de uitvoer van de taak wordt geactiveerd wanneer elke taak is voltooid. Als u bijvoorbeeld een coderingsuitvoer hebt, gevolgd door een Video Analytics-uitvoer, krijgt u twee gebeurtenissen die als taakuitvoergebeurtenissen worden geactiveerd voordat de laatste gebeurtenis JobFinished wordt geactiveerd met de geaggregeerde gegevens.
Gebeurtenistype | Beschrijving |
---|---|
Microsoft.Media.JobOutputStateChange | Een gebeurtenis ophalen voor alle wijzigingen in de status van de taakuitvoer. |
Microsoft.Media.JobOutputScheduled | Een gebeurtenis ophalen wanneer taakuitvoer overgaat naar de geplande status. |
Microsoft.Media.JobOutputProcessing | Een gebeurtenis ophalen wanneer taakuitvoer overgaat naar de verwerkingsstatus. |
Microsoft.Media.JobOutputCanceling | Een gebeurtenis ophalen wanneer taakuitvoer overgaat naar de status Annuleren. |
Microsoft.Media.JobOutputFinished | Een gebeurtenis ophalen wanneer taakuitvoer overgaat naar de status Voltooid. |
Microsoft.Media.JobOutputCanceled | Een gebeurtenis ophalen wanneer taakuitvoer overgaat naar de status Geannuleerd. |
Microsoft.Media.JobOutputErrored | Een gebeurtenis ophalen wanneer taakuitvoer overgaat naar de foutstatus. |
Zie Schemavoorbeelden die volgen.
Voortgang van taakuitvoer bewaken
Gebeurtenistype | Beschrijving |
---|---|
Microsoft.Media.JobOutputProgress | Deze gebeurtenis weerspiegelt de voortgang van de taakverwerking, van 0% tot 100%. De service probeert een gebeurtenis te verzenden als de voortgangswaarde met 5% of hoger is gestegen of als het meer dan 30 seconden geleden is sinds de laatste gebeurtenis (heartbeat). De voortgangswaarde begint niet bij 0% of bereikt 100%, en het is ook niet gegarandeerd dat deze in de loop van de tijd met een constant tempo toeneemt. Gebruik deze gebeurtenis niet om te bepalen dat de verwerking is voltooid. Gebruik in plaats daarvan de statuswijzigingsgebeurtenissen. |
Zie Schemavoorbeelden die volgen.
Typen livegebeurtenissen
Media Services verzendt ook de livegebeurtenistypen die hieronder worden beschreven. Er zijn twee categorieën voor de livegebeurtenissen: gebeurtenissen op streamniveau en gebeurtenissen op trackniveau.
Gebeurtenissen op stroomniveau
Gebeurtenissen op stroomniveau worden per stream of verbinding gegenereerd. Elke gebeurtenis heeft een StreamId
parameter die de verbinding of stream identificeert. Elke stream of verbinding heeft een of meer sporen van verschillende typen. Eén verbinding van een encoder kan bijvoorbeeld één audiospoor en vier videosporen hebben. De gebeurtenistypen van de stroom zijn:
Gebeurtenistype | Beschrijving |
---|---|
Microsoft.Media.LiveEventConnectionRejected | De verbindingspoging van de encoder is geweigerd. |
Microsoft.Media.LiveEventEncoderConnected | Encoder brengt verbinding tot stand met een livegebeurtenis. |
Microsoft.Media.LiveEventEncoderDisconnected | Encoder verbreekt de verbinding. |
Zie Schemavoorbeelden die volgen.
Gebeurtenissen bijhouden op niveau
Gebeurtenissen op trackniveau worden per track gegenereerd.
Notitie
Alle gebeurtenissen op trackniveau worden gegenereerd nadat een live encoder is verbonden.
De gebeurtenistypen op trackniveau zijn:
Gebeurtenistype | Beschrijving |
---|---|
Microsoft.Media.LiveEventIncomingDataChunkDropped | Mediaserver verwijdert het gegevenssegment omdat het te laat is of een overlappend tijdstempel heeft (tijdstempel van nieuw gegevenssegment is kleiner dan de eindtijd van het vorige gegevenssegment). |
Microsoft.Media.LiveEventIncomingStreamReceived | Mediaserver ontvangt het eerste gegevenssegment voor elke track in de stream of verbinding. |
Microsoft.Media.LiveEventIncomingStreamsOutOfSync | Mediaserver detecteert dat audio- en videostreams niet zijn gesynchroniseerd. Gebruik als waarschuwing omdat de gebruikerservaring mogelijk niet wordt beïnvloed. |
Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync | Mediaserver detecteert dat een van de twee videostreams die afkomstig zijn van een externe encoder niet gesynchroniseerd zijn. Gebruik als waarschuwing omdat de gebruikerservaring mogelijk niet wordt beïnvloed. |
Microsoft.Media.LiveEventIngestHeartbeat | Elke 20 seconden gepubliceerd voor elk nummer wanneer een livegebeurtenis wordt uitgevoerd. Geeft een samenvatting van de opnamestatus. Nadat de encoder in eerste instantie is verbonden, blijft de heartbeat-gebeurtenis elke 20 seconden verzenden, ongeacht of de encoder nog is verbonden of niet. |
Microsoft.Media.LiveEventTrackDiscontinuityDetected | Mediaserver detecteert discontinuïteit in het binnenkomende spoor. |
Zie Schemavoorbeelden die volgen.
Voorbeelden van gebeurtenisschema's
JobStateChange
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
previousState |
tekenreeks | De status van de taak vóór de gebeurtenis. |
state |
tekenreeks | De nieuwe status van de taak die in deze gebeurtenis wordt gemeld. Bijvoorbeeld 'Gepland: de taak is gereed om te beginnen' of 'Voltooid: de taak is voltooid'. |
Waarbij de taakstatus een van de waarden kan zijn: In wachtrij, Gepland, Verwerken, Voltooid, Fout, Geannuleerd, Annuleren
Notitie
Wachtrij is alleen aanwezig in de eigenschap previousState , maar niet in de eigenschap state .
JobScheduled, JobProcessing, JobCanceling
Voor elke niet-definitieve taakstatuswijziging (zoals JobScheduled, JobProcessing, JobCanceling) ziet het voorbeeldschema er ongeveer als volgt uit:
[{
"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
Voor elke laatste taakstatuswijziging (zoals JobFinished, JobCanceled, JobErrored) ziet het voorbeeldschema er ongeveer als volgt uit:
[{
"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"
}]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
outputs |
Matrix | Hiermee haalt u de taakuitvoer op. |
JobOutputStateChange
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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
Voor elke JobOutput-statuswijziging ziet het voorbeeldschema er ongeveer als volgt uit:
[{
"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
Het voorbeeldschema ziet er ongeveer als volgt uit:
[{
"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
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
streamId |
tekenreeks | Id van de stream of verbinding. Encoder of klant is verantwoordelijk voor het toevoegen van deze id in de opname-URL. |
ingestUrl |
tekenreeks | Opname-URL van de livegebeurtenis. |
encoderIp |
tekenreeks | IP van de encoder. |
encoderPort |
tekenreeks | Poort van de encoder van waaruit deze stream afkomstig is. |
resultCode |
tekenreeks | De reden waarom de verbinding is geweigerd. De resultaatcodes worden weergegeven in de volgende tabel. |
U vindt de foutcodes in foutcodes voor livegebeurtenissen.
LiveEventEncoderConnected
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
streamId |
tekenreeks | Id van de stream of verbinding. Encoder of klant is verantwoordelijk voor het opgeven van deze id in de opname-URL. |
ingestUrl |
tekenreeks | Opname-URL van de livegebeurtenis. |
encoderIp |
tekenreeks | IP van de encoder. |
encoderPort |
tekenreeks | Poort van de encoder van waaruit deze stream afkomstig is. |
LiveEventEncoderDisconnected
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
streamId |
tekenreeks | Id van de stream of verbinding. Encoder of klant is verantwoordelijk voor het toevoegen van deze id in de opname-URL. |
ingestUrl |
tekenreeks | Opname-URL van de livegebeurtenis. |
encoderIp |
tekenreeks | IP van de encoder. |
encoderPort |
tekenreeks | Poort van de encoder van waaruit deze stream afkomstig is. |
resultCode |
tekenreeks | De reden waarom de encoder de verbinding heeft verbroken. Het kan een probleemloze verbroken verbinding of een fout zijn. De resultaatcodes worden weergegeven in de volgende tabel. |
U vindt de foutcodes in foutcodes voor livegebeurtenissen.
De probleemloze resultaatcodes voor het verbreken van de verbinding zijn:
Resultaatcode | Description |
---|---|
S_OK | De verbinding met encoder is verbroken. |
MPE_CLIENT_TERMINATED_SESSION | De verbinding met encoder is verbroken (RTMP). |
MPE_CLIENT_DISCONNECTED | De verbinding met encoder is verbroken (FMP4). |
MPI_REST_API_CHANNEL_RESET | De opdracht Kanaal opnieuw instellen is ontvangen. |
MPI_REST_API_CHANNEL_STOP | Kanaalstopopdracht ontvangen. |
MPI_REST_API_CHANNEL_STOP | Kanaal dat onderhoud ondergaat. |
MPI_STREAM_HIT_EOF | De EOF-stroom wordt verzonden door de encoder. |
LiveEventIncomingDataChunkDropped
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
trackType |
tekenreeks | Type nummer (audio/video). |
trackName |
tekenreeks | Naam van het nummer. |
bitrate |
geheel getal | Bitrate van het spoor. |
timestamp |
tekenreeks | Tijdstempel van het gegevenssegment dat is verwijderd. |
timescale |
tekenreeks | Tijdschaal van de tijdstempel. |
resultCode |
tekenreeks | Reden waarom het gegevenssegment is gedaald. FragmentDrop_OverlapTimestamp of FragmentDrop_NonIncreasingTimestamp. |
LiveEventIncomingStreamReceived
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
trackType |
tekenreeks | Type nummer (audio/video). |
trackName |
tekenreeks | De naam van het nummer (geleverd door de encoder of, in het geval van RTMP, de server genereert in TrackType_Bitrate-indeling ). |
bitrate |
geheel getal | Bitrate van het spoor. |
ingestUrl |
tekenreeks | Opname-URL van de livegebeurtenis. |
encoderIp |
tekenreeks | IP van de encoder. |
encoderPort |
tekenreeks | Poort van de encoder van waaruit deze stream afkomstig is. |
timestamp |
tekenreeks | Eerste tijdstempel van het ontvangen gegevenssegment. |
timescale |
tekenreeks | Tijdschaal waarin tijdstempel wordt weergegeven. |
LiveEventIncomingStreamsOutOfSync
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
minLastTimestamp |
tekenreeks | Minimaal de laatste tijdstempels tussen alle nummers (audio of video). |
typeOfTrackWithMinLastTimestamp |
tekenreeks | Type nummer (audio of video) met minimale laatste tijdstempel. |
maxLastTimestamp |
tekenreeks | Maximum van alle tijdstempels tussen alle nummers (audio of video). |
typeOfTrackWithMaxLastTimestamp |
tekenreeks | Type nummer (audio of video) met maximale laatste tijdstempel. |
timescaleOfMinLastTimestamp |
tekenreeks | Hiermee wordt de tijdschaal opgehaald waarin 'MinLastTimestamp' wordt weergegeven. |
timescaleOfMaxLastTimestamp |
tekenreeks | Hiermee haalt u de tijdschaal op waarin 'MaxLastTimestamp' wordt weergegeven. |
LiveEventIncomingVideoStreamsOutOfSync
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
firstTimestamp |
tekenreeks | Tijdstempel ontvangen voor een van de tracks/kwaliteitsniveaus van het type video. |
firstDuration |
tekenreeks | Duur van het gegevenssegment met eerste tijdstempel. |
secondTimestamp |
tekenreeks | Tijdstempel ontvangen voor een ander track/kwaliteitsniveau van het type video. |
secondDuration |
tekenreeks | Duur van het gegevenssegment met tweede tijdstempel. |
timescale |
tekenreeks | Tijdschaal van tijdstempels en duur. |
LiveEventIngestHeartbeat
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
trackType |
tekenreeks | Type nummer (audio/video). |
trackName |
tekenreeks | De naam van het nummer (geleverd door de encoder of, in het geval van RTMP, de server genereert in TrackType_Bitrate-indeling ). |
bitrate |
geheel getal | Bitrate van het spoor. |
incomingBitrate |
geheel getal | Berekende bitrate op basis van gegevenssegmenten die afkomstig zijn van de encoder. |
lastTimestamp |
tekenreeks | Laatste tijdstempel ontvangen voor een nummer in de afgelopen 20 seconden. |
timescale |
tekenreeks | Tijdschaal waarin tijdstempels worden uitgedrukt. |
overlapCount |
geheel getal | Het aantal gegevenssegmenten heeft de afgelopen 20 seconden tijdstempels overlapt. |
discontinuityCount |
geheel getal | Aantal discontinuïteiten waargenomen in de afgelopen 20 seconden. |
nonIncreasingCount |
geheel getal | Het aantal gegevenssegmenten met tijdstempels in het verleden is ontvangen in de afgelopen 20 seconden. |
unexpectedBitrate |
booleaans | Indien verwacht en werkelijke bitrates verschillen meer dan de toegestane limiet in de afgelopen 20 seconden. Dit is waar als en alleen als, incomingBitrate >= 2* bitrate OR incomingBitrate <= bitrate/2 OR IncomingBitrate = 0. |
state |
tekenreeks | Status van de livegebeurtenis. |
healthy |
booleaans | Hiermee wordt aangegeven of opname in orde is op basis van de aantallen en vlaggen. In orde is waar als overlapCount = 0 && discontinuityCount = 0 && nonIncreasingCount = 0 && unexpectedBitrate = false. |
lastFragmentArrivalTime |
tekenreeks | De laatste tijdstempel in UTC dat een fragment is aangekomen bij het opname-eindpunt. Voorbeeld van datumnotatie is "2020-11-11 12:12:12:888999" |
ingestDriftValue |
tekenreeks | Geeft de vertragingssnelheid in seconden per minuut aan van de binnenkomende audio- of videogegevens tijdens de laatste minuut. De waarde is groter dan nul als gegevens in de laatste minuut langzamer dan verwacht binnenkomen bij de livegebeurtenis; nul als de gegevens zonder vertraging zijn aangekomen; en 'n.v.v. als er geen audio- of videogegevens zijn ontvangen. Als u bijvoorbeeld een bijdrage-encoder hebt die live inhoud verzendt en deze vertraging ondervindt vanwege verwerkingsproblemen of netwerklatentie, kan deze mogelijk in totaal slechts 58 seconden aan audio of video leveren in een periode van één minuut. Dit wordt gerapporteerd als twee seconden per minuut afwijking. Als de encoder alle 60 seconden of meer gegevens elke minuut kan inhalen en verzenden, wordt deze waarde gerapporteerd als 0. Als er sprake is van een verbroken verbinding of discontinuïteit met de encoder, kan deze waarde nog steeds worden weergegeven als 0, omdat deze geen rekening houdt met onderbrekingen in de gegevens, alleen gegevens die worden vertraagd in tijdstempels. |
transcriptionState |
tekenreeks | Deze waarde is 'Aan' voor heartbeats van audiotracks als livetranscriptie is ingeschakeld, anders ziet u een lege tekenreeks. Deze status is alleen van toepassing op het tracktype van 'audio' voor livetranscriptie. Alle andere sporen hebben een lege waarde. |
transcriptionLanguage |
tekenreeks | De taalcode (in BCP-47-indeling) van de transcriptietaal. 'de-de' geeft bijvoorbeeld Duits (Duitsland) aan. De waarde is leeg voor de heartbeats van de videotrack of wanneer livetranscriptie is uitgeschakeld. |
LiveEventChannelArchiveHeartbeat
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
channelLatencyMs |
tekenreeks | De tijd in milliseconden (ms) die de opgenomen video doorbrengt in de pijplijn voor livegebeurtenissen voordat deze wordt gepubliceerd naar het HLS/DASH-manifest dat spelers kunnen downloaden. |
latencyResultCode |
tekenreeks | De resultaatcode voor de berekening channelLatencyMs.
S_OK geeft aan dat de opname van de livegebeurtenis probleemloos is ontvangen. Andere resultaatcodes geven situaties aan waardoor de channelLatencyMs een lege waarde hebben.
MPE_KEY_FRAME_INTERVAL_TOO_LARGE foutcode geeft aan dat de opgenomen videobron een grote GOP (sleutelframeafstand) heeft die een negatieve invloed zou hebben op de kanaallatentie.
MPE_INGEST_DISCONTINUITY foutcode geeft aan dat er discontinuïteiten zijn gedetecteerd in de bronstroom, waardoor lange latenties aan het kanaal kunnen worden toegevoegd. |
LiveEventTrackDiscontinuityDetected
In het volgende voorbeeld ziet u het schema van de gebeurtenis 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"
}
]
Het gegevensobject heeft de volgende eigenschappen:
Eigenschap | Type | Description |
---|---|---|
trackType |
tekenreeks | Type nummer (audio/video). |
trackName |
tekenreeks | De naam van het nummer (geleverd door de encoder of, in het geval van RTMP, de server genereert in TrackType_Bitrate-indeling ). |
bitrate |
geheel getal | Bitrate van het spoor. |
previousTimestamp |
tekenreeks | Tijdstempel van het vorige fragment. |
newTimestamp |
tekenreeks | Tijdstempel van het huidige fragment. |
discontinuityGap |
tekenreeks | Afstand tussen twee tijdstempels boven. |
timescale |
tekenreeks | Tijdschaal waarin zowel tijdstempels als discontinuïtiteitsverschillen worden weergegeven. |
Algemene gebeurteniseigenschappen
Een gebeurtenis bevat de volgende gegevens op het hoogste niveau:
Eigenschap | Type | Description |
---|---|---|
topic |
tekenreeks | Het event grid-onderwerp. Deze eigenschap bevat de resource-id voor het Media Services-account. |
subject |
tekenreeks | Het resourcepad voor het Media Services-kanaal onder het Media Services-account. Als u het onderwerp en het onderwerp samenvoegt, krijgt u de resource-id voor de taak. |
eventType |
tekenreeks | Een van de geregistreerde gebeurtenistypen voor deze gebeurtenisbron. Bijvoorbeeld 'Microsoft.Media.JobStateChange'. |
eventTime |
tekenreeks | Het tijdstip waarop de gebeurtenis wordt gegenereerd op basis van de UTC-tijd van de provider. |
id |
tekenreeks | Unieke id voor de gebeurtenis. |
data |
object | Media Services-gebeurtenisgegevens. |
dataVersion |
tekenreeks | De schemaversie van het gegevensobject. De uitgever definieert de schemaversie. |
metadataVersion |
tekenreeks | De schemaversie van de metagegevens van de gebeurtenis. Event Grid definieert het schema voor de eigenschappen op het hoogste niveau. Event Grid biedt deze waarde. |