Skema Azure Event Grid untuk peristiwa Media Services
Peringatan
Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.
Artikel ini menyediakan skema dan properti untuk peristiwa Microsoft Azure Media Services.
Untuk daftar contoh skrip dan tutorial, lihat Sumber peristiwa Media Services.
Jenis kejadian terkait pekerjaan
Media Services mengeluarkan jenis peristiwa terkait Pekerjaan yang dijelaskan di bawah ini. Ada dua kategori untuk peristiwa terkait Pekerjaan: "Memantau Perubahan Status Pekerjaan" dan "Memantau Perubahan Status Output Pekerjaan".
Anda bisa mendaftar untuk semua peristiwa dengan berlangganan peristiwa JobStateChange. Atau Anda hanya dapat berlangganan untuk peristiwa tertentu saja (misalnya, status akhir seperti JobErrored, JobFinished, dan JobCanceled).
Memantau Perubahan status pekerjaan
Jenis kejadian | Deskripsi |
---|---|
Microsoft.Media.JobStateChange | Dapatkan peristiwa untuk semua perubahan Status Pekerjaan. |
Microsoft.Media.JobScheduled | Dapatkan peristiwa ketika Pekerjaan beralih ke status terjadwal. |
Microsoft.Media.JobProcessing | Dapatkan peristiwa ketika Pekerjaan beralih ke status pemrosesan. |
Microsoft.Media.JobCanceling | Dapatkan peristiwa ketika Pekerjaan beralih ke status pembatalan. |
Microsoft.Media.JobFinished | Dapatkan peristiwa ketika Pekerjaan beralih ke keadaan selesai. Ini adalah keadaan akhir yang mencakup Output pekerjaan. |
Microsoft.Media.JobCanceled | Dapatkan peristiwa ketika Pekerjaan beralih ke status dibatalkan. Ini adalah peristiwa akhir yang mencakup Output pekerjaan. |
Microsoft.Media.JobErrored | Dapatkan peristiwa ketika Pekerjaan beralih ke status kesalahan. Ini adalah peristiwa akhir yang mencakup Output pekerjaan. |
Lihat Contoh skema yang diikuti.
Memantau perubahan status output pekerjaan
Pekerjaan mungkin berisi beberapa output pekerjaan (jika Anda mengonfigurasi transformasi untuk memiliki beberapa output pekerjaan.) Jika Anda ingin melacak detail output pekerjaan individu, perhatikan peristiwa perubahan output pekerjaan.
Setiap Pekerjaan akan berada pada tingkat yang lebih tinggi daripada JobOutput, sehingga peristiwa output pekerjaan dijalankan di dalam pekerjaan yang sesuai.
Pesan kesalahan di JobFinished
, JobCanceled
, JobError
menampilkan hasil agregat untuk setiap output pekerjaan, ketika semuanya selesai. Sedangkan kejadian output pekerjaan diaktifkan saat setiap pekerjaan selesai. Misalnya, jika Anda memiliki output pengkodean, diikuti dengan output Analitik Video, Anda akan mendapatkan dua kejadian yang diaktifkan sebagai kejadian output pekerjaan sebelum kejadian JobFinished terakhir diaktifkan dengan data gabungan.
Jenis peristiwa | Deskripsi |
---|---|
Microsoft.Media.JobOutputStateChange | Dapatkan peristiwa untuk semua perubahan status output pekerjaan. |
Microsoft.Media.JobOutputScheduled | Dapatkan peristiwa ketika Output pekerjaan beralih ke status terjadwal. |
Microsoft.Media.JobOutputProcessing | Dapatkan peristiwa ketika Output pekerjaan beralih ke status pemrosesan. |
Microsoft.Media.JobOutputCanceling | Dapatkan peristiwa ketika Output pekerjaan beralih ke status pembatalan. |
Microsoft.Media.JobOutputFinished | Dapatkan peristiwa ketika Output pekerjaan beralih ke status selesai. |
Microsoft.Media.JobOutputCanceled | Dapatkan peristiwa ketika Output pekerjaan beralih ke status dibatalkan. |
Microsoft.Media.JobOutputErrored | Dapatkan peristiwa ketika Output pekerjaan beralih ke status kesalahan. |
Lihat Contoh skema yang diikuti.
Memantau kemajuan output pekerjaan
Jenis peristiwa | Deskripsi |
---|---|
Microsoft.Media.JobOutputProgress | Peristiwa ini mencerminkan kemajuan pemrosesan pekerjaan, dari 0% hingga 100%. Layanan mencoba mengirim peristiwa jika telah terjadi peningkatan 5% atau lebih dalam nilai kemajuan atau sudah lebih dari 30 detik sejak peristiwa terakhir (heartbeat). Nilai kemajuan tidak dijamin mulai dari 0%, atau mencapai 100%, juga tidak dijamin akan meningkat secara konstan dari waktu ke waktu. Jangan gunakan peristiwa ini untuk menentukan bahwa pemrosesan telah selesai – sebaiknya gunakan peristiwa perubahan status. |
Lihat Contoh skema yang diikuti.
Jenis acara langsung
Microsoft Azure Media Services juga mengeluarkan jenis acara Langsung yang dijelaskan di bawah ini. Ada dua kategori untuk peristiwaLangsung: kejadian tingkat stream dan kejadian tingkat trek.
Peristiwa tingkat stream
Peristiwa tingkat stream dimunculkan per stream atau koneksi. Setiap peristiwa memiliki parameter StreamId
yang mengidentifikasi koneksi atau stream. Setiap stream atau koneksi memiliki satu atau beberapa trek dari berbagai jenis. Misalnya, satu koneksi dari encoder mungkin memiliki satu trek audio dan empat trek video. Jenis peristiwa stream adalah:
Jenis peristiwa | Deskripsi |
---|---|
Microsoft.Media.LiveEventConnectionRejected | Upaya koneksi encoder ditolak. |
Microsoft.Media.LiveEventEncoderConnected | Encoder membuat koneksi dengan acara langsung. |
Microsoft.Media.LiveEventEncoderConnected | Encoder terputus. |
Lihat Contoh skema yang diikuti.
Peristiwa tingkat trek
Peristiwa tingkat trek dimunculkan per trek.
Catatan
Semua kejadian tingkat trek dimunculkan setelah encoder langsung terhubung.
Jenis peristiwa tingkat trek adalah:
Jenis peristiwa | Deskripsi |
---|---|
Microsoft.Media.LiveEventIncomingDataChunkDropped | Server media menghilangkan potongan data karena sudah terlambat atau memiliki tanda waktu yang tumpang tindih (tanda waktu dari potongan data baru kurang dari waktu akhir dari potongan data sebelumnya). |
Microsoft.Media.LiveEventIncomingStreamReceived | Server media menerima potongan data pertama untuk setiap trek di aliran atau koneksi. |
Microsoft.Media.LiveEventIncomingStreamsOutOfSync | Server media mendeteksi aliran audio dan video tidak sinkron. Gunakan sebagai peringatan karena pengalaman pengguna mungkin tidak terpengaruh. |
Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync | Server media mendeteksi salah satu dari dua aliran video yang berasal dari encoder eksternal tidak sinkron. Gunakan sebagai peringatan karena pengalaman pengguna mungkin tidak terpengaruh. |
Microsoft.Media.LiveEventIngestHeartbeat | Diterbitkan setiap 20 detik untuk setiap trek saat peristiwa langsung sedang berjalan. Memberikan ringkasan kesehatan penyerapan. Setelah encoder awalnya tersambung, peristiwa detak jantung terus berbunyi setiap 20 detik baik encoder masih tersambung atau tidak. |
Microsoft.Media.LiveEventTrackDiscontinuityDetected | Server media mendeteksi diskontinuitas di trek masuk. |
Lihat Contoh skema yang diikuti.
Contoh skema peristiwa
JobStateChange
Contoh berikut ini menunjukkan skema peristiwa 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
previousState |
string | Status pekerjaan sebelum kejadian. |
state |
string | Status baru pekerjaan sedang diberitahukan dalam kejadian ini. Misalnya, "Terjadwal: Pekerjaan siap dimulai" atau "Selesai: Pekerjaan selesai". |
Status Pekerjaan dapat berupa salah satu nilai: Dalam Antrean, Terjadwal, Pemrosesan, Selesai, Kesalahan, Dibatalkan, Pembatalan
Catatan
Dalam Antrean hanya akan ada di properti previousState, tetapi tidak akan ada di properti status.
JobScheduled, JobProcessing, JobCanceling
Untuk setiap perubahan status Pekerjaan non-final (seperti JobScheduled, JobProcessing, JobCanceling), skema contohnya terlihat mirip dengan berikut ini:
[{
"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
Untuk setiap perubahan status Pekerjaan final (seperti JobFinished, JobCanceled, JobErrored), skema contohnya terlihat mirip dengan berikut:
[{
"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"
}]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
outputs |
Array | Mendapatkan output pekerjaan. |
JobOutputStateChange
Contoh berikut ini menunjukkan skema kejadian 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
Untuk setiap perubahan status JobOutput, skema contoh terlihat mirip dengan berikut ini:
[{
"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
Skema contoh terlihat mirip dengan berikut ini:
[{
"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
Contoh berikut menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
streamId |
string | Pengidentifikasi aliran atau koneksi. Encoder atau pelanggan bertanggung jawab untuk menambahkan ID ini di URL penyerapan. |
ingestUrl |
string | URL penyerapan yang disediakan oleh acara langsung. |
encoderIp |
string | IP encoder. |
encoderPort |
string | Port encoder dari mana aliran ini berasal. |
resultCode |
string | Alasan koneksi ditolak. Kode hasil dicantumkan di dalam tabel berikut. |
Anda dapat menemukan kode hasil kesalahan dalam kode kesalahan Acara langsung.
LiveEventEncoderConnected
Contoh berikut ini menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
streamId |
string | Pengidentifikasi aliran atau koneksi. Encoder atau pelanggan bertanggung jawab untuk memberikan ID ini di URL penyerapan. |
ingestUrl |
string | URL penyerapan yang disediakan oleh acara langsung. |
encoderIp |
string | IP encoder. |
encoderPort |
string | Port encoder dari tempat aliran ini berasal. |
LiveEventEncoderDisconnected
Contoh berikut ini menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
streamId |
string | Pengidentifikasi aliran atau koneksi. Encoder atau pelanggan bertanggung jawab untuk menambahkan ID ini di URL penyerapan. |
ingestUrl |
string | URL penyerapan yang disediakan oleh acara langsung. |
encoderIp |
string | IP encoder. |
encoderPort |
string | Port encoder dari mana aliran ini berasal. |
resultCode |
string | Alasan pemutusan sambungan encoder. Ini bisa benar-benar terputus atau dari kesalahan. Kode hasil dicantumkan di dalam tabel berikut. |
Anda dapat menemukan kode hasil kesalahan dalam kode kesalahan Acara langsung.
Kode hasil pemutusan sambungan dengan benar adalah:
Kode hasil | Deskripsi |
---|---|
S_OK | Encoder berhasil diputuskan. |
MPE_CLIENT_TERMINATED_SESSION | Encoder terputus (RTMP). |
MPE_CLIENT_DISCONNECTED | Encoder terputus (FMP4). |
MPI_REST_API_CHANNEL_RESET | Perintah reset saluran diterima. |
MPI_REST_API_CHANNEL_STOP | Perintah penghentian saluran diterima. |
MPI_REST_API_CHANNEL_STOP | Saluran sedang dalam pemeliharaan. |
MPI_STREAM_HIT_EOF | Aliran EOF dikirim oleh encoder. |
LiveEventIncomingDataChunkDropped
Contoh berikut ini menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek. |
bitrate |
bilangan bulat | Laju bit trek. |
timestamp |
string | Tanda waktu potongan data dihapus. |
timescale |
string | Skala waktu tanda waktu. |
resultCode |
string | Alasan penghapusan potongan data. FragmentDrop_OverlapTimestamp atau FragmentDrop_NonIncreasingTimestamp. |
LiveEventIncomingStreamReceived
Contoh berikut ini menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek (disediakan oleh encoder atau, dalam kasus RTMP, server dibuat dalam format TrackType_Bitrate). |
bitrate |
bilangan bulat | Laju bit trek. |
ingestUrl |
string | URL penyerapan yang disediakan oleh acara langsung. |
encoderIp |
string | IP encoder. |
encoderPort |
string | Port encoder dari mana aliran ini berasal. |
timestamp |
string | Tanda waktu pertama dari potongan data yang diterima. |
timescale |
string | Skala waktu di mana tanda waktu diwakili. |
LiveEventIncomingStreamsOutOfSync
Contoh berikut ini menunjukkan skema peristiwa 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
minLastTimestamp |
string | Minimum tanda waktu terakhir di antara semua trek (audio atau video). |
typeOfTrackWithMinLastTimestamp |
string | Jenis trek (audio atau video) dengan tanda waktu terakhir minimum. |
maxLastTimestamp |
string | Maksimum semua tanda waktu di antara semua trek (audio atau video). |
typeOfTrackWithMaxLastTimestamp |
string | Jenis trek (audio atau video) dengan tanda waktu terakhir maksimum. |
timescaleOfMinLastTimestamp |
string | Mendapatkan skala waktu yang mewakili "MinLastTimestamp". |
timescaleOfMaxLastTimestamp |
string | Mendapatkan skala waktu yang mewakili "MaxLastTimestamp". |
LiveEventIncomingVideoStreamsOutOfSync
Contoh berikut ini menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
firstTimestamp |
string | Tanda waktu diterima untuk salah satu trek/tingkat kualitas jenis video. |
firstDuration |
string | Durasi potongan data dengan tanda waktu pertama. |
secondTimestamp |
string | Tanda waktu diterima untuk beberapa trek / tingkat kualitas jenis video lainnya. |
secondDuration |
string | Durasi potongan data dengan tanda waktu kedua. |
timescale |
string | Skala waktu tanda waktu dan durasi. |
LiveEventIngestHeartbeat
Contoh berikut ini menunjukkan skema peristiwa 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek (disediakan oleh encoder atau, dalam kasus RTMP, server dibuat dalam format TrackType_Bitrate). |
bitrate |
bilangan bulat | Laju bit trek. |
incomingBitrate |
bilangan bulat | Laju bit dihitung berdasarkan potongan data yang berasal dari encoder. |
lastTimestamp |
string | Tanda waktu terbaru diterima untuk trek dalam waktu 20 detik terakhir. |
timescale |
string | Skala waktu yang mengeskpresikan tanda waktu. |
overlapCount |
bilangan bulat | Jumlah potongan data memiliki tanda waktu yang tumpang tindih dalam waktu 20 detik terakhir. |
discontinuityCount |
bilangan bulat | Jumlah diskontinuitas yang diamati dalam waktu 20 detik terakhir. |
nonIncreasingCount |
bilangan bulat | Jumlah potongan data dengan tanda waktu yang lalu diterima dalam waktu 20 detik terakhir. |
unexpectedBitrate |
bool | Jika laju bit yang diharapkan dan yang aktual berbeda lebih dari batas yang diizinkan dalam waktu 20 detik terakhir. Jawabannya benar jika dan hanya jika, incomingBitrate >= 2* bitrate ATAU incomingBitrate <= bitrate/2 OR IncomingBitrate = 0. |
state |
string | Status acara langsung. |
healthy |
bool | Menunjukkan apakah penyerapannya sehat berdasarkan hitungan dan bendera. Jawabannya benar jika overlapCount = 0 && discontinuityCount = 0 && nonIncreasingCount = 0 && unexpectedBitrate = false. |
lastFragmentArrivalTime |
string | Tanda waktu terakhir di UTC bahwa sebuah fragmen tiba di titik akhir penyerapan. Contoh format tanggal adalah "2020-11-11 12:12:12:888999" |
ingestDriftValue |
string | Menunjukkan kecepatan penundaan, dalam detik per menit, dari data audio atau video yang masuk selama menit terakhir. Nilainya lebih besar dari nol jika data tiba di acara langsung lebih lambat dari yang diharapkan pada menit terakhir; nol jika data tiba tanpa penundaan; dan "t/a" jika tidak ada data audio atau video yang diterima. Misalnya, jika Anda memiliki encoder kontribusi yang mengirimkan konten langsung, namun melambat karena masalah pemrosesan, atau latensi jaringan, mungkin encoder hanya dapat mengirimkan total 58 detik audio atau video dalam periode satu menit. Hal ini akan dilaporkan sebagai penyimpangan 2 detik per menit. Jika encoder mampu mengejar dan mengirim semua data 60 detik atau lebih setiap menit, Anda akan melihat nilai ini dilaporkan sebagai 0. Jika ada pemutusan atau diskontinuitas dari encoder, nilai ini mungkin masih ditampilkan sebagai 0, karena tidak memperhitungkan jeda dalam data - hanya data yang tertunda dalam stempel waktu. |
transcriptionState |
string | Nilai ini "Aktif" untuk heartbeat trek audio jika transkripsi langsung diaktifkan, jika tidak, Anda akan melihat untai kosong. Status ini hanya berlaku untuk tracktype "audio" untuk transkripsi Langsung. Semua trek lainnya akan memiliki nilai kosong. |
transcriptionLanguage |
string | Kode bahasa (dalam format BCP-47) dari bahasa transkripsi. Misalnya "de-de" menunjukkan Bahasa Jerman (Jerman). Nilainya kosong untuk heartbeat trek video, atau saat transkripsi langsung dimatikan. |
LiveEventChannelArchiveHeartbeat
Contoh berikut menunjukkan skema peristiwa 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
channelLatencyMs |
string | Waktu dalam milidetik (mdtk) yang dihabiskan video yang diserap dalam alur acara langsung sebelum diterbitkan ke manifes HLS/DASH untuk diunduh pemain. |
latencyResultCode |
string | Kode hasil untuk penghitungan channelLatencyMs. S_OK menunjukkan bahwa penyerapan acara langsung diterima tanpa masalah. Kode hasil lainnya menunjukkan situasi yang akan menyebabkan channelLatencyMs memiliki nilai kosong. MPE_KEY_FRAME_INTERVAL_TOO_LARGE kode galat menunjukkan bahwa sumber video yang terserap memiliki GOP (jarak bingkai kunci) besar yang akan berdampak negatif pada latensi saluran. MPE_INGEST_DISCONTINUITY kode galat menunjukkan bahwa diskontinuitas terdeteksi pada aliran sumber, yang dapat menambahkan latensi panjang ke saluran. |
LiveEventTrackDiscontinuityDetected
Contoh berikut ini menunjukkan skema kejadian 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"
}
]
Objek data memiliki properti berikut:
Properti | Jenis | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek (disediakan oleh encoder atau, dalam kasus RTMP, server dibuat dalam format TrackType_Bitrate). |
bitrate |
bilangan bulat | Laju bit trek. |
previousTimestamp |
string | Tanda waktu dari fragmen sebelumnya. |
newTimestamp |
string | Tanda waktu dari fragmen saat ini. |
discontinuityGap |
string | Kesenjangan antara dua tanda waktu di atas. |
timescale |
string | Skala waktu yang menunjukkan tanda waktu dan kesenjangan diskontinuitas. |
Properti kejadian umum
Sebuah peristiwa memiliki data tingkat atas berikut ini:
Properti | Jenis | Deskripsi |
---|---|---|
topic |
string | Topik kisi kejadian. Properti ini memiliki ID sumber daya untuk akun Azure Media Services. |
subject |
string | Jalur sumber daya untuk saluran Azure Media Services di bawah akun Azure Media Services. Menggabungkan topik dan subjek memberi Anda ID sumber daya untuk pekerjaan tersebut. |
eventType |
string | Salah satu jenis kejadian terdaftar untuk sumber kejadian ini. Misalnya, "Microsoft.Media.JobStateChange". |
eventTime |
string | Waktu peristiwa dihasilkan berdasarkan waktu UTC penyedia. |
id |
string | Pengidentifikasi unik untuk peristiwa. |
data |
objek | Data kejadian Microsoft Azure Media Services. |
dataVersion |
string | Versi skema objek data. Penerbit mendefinisikan versi skema. |
metadataVersion |
string | Versi skema metadata peristiwa. Azure Event Grid menentukan skema properti tingkat atas. Event Grid menyediakan nilai ini. |