Microsoft Azure Media Services sebagai sumber data Azure Event Grid
Artikel ini menyediakan skema dan properti untuk peristiwa Microsoft Azure Media Services.
Jenis kejadian terkait pekerjaan
Media Services mengeluarkan jenis peristiwa terkait Pekerjaan yang dijelaskan di bawah ini. Ada dua kategori untuk Kejadian terkait pekerjaan: "Memantau Perubahan Status Pekerjaan" dan "Memantau Perubahan Status Output Pekerjaan".
Anda dapat mendaftar untuk semua kejadian dengan berlangganan kejadian JobStateChange. Atau Anda hanya dapat berlangganan untuk peristiwa tertentu saja (misalnya, status akhir seperti JobErrored, JobFinished, dan JobCanceled).
Memantau Perubahan status pekerjaan
Jenis peristiwa | 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 peristiwa 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 kejadian jika telah terjadi peningkatan 5% atau lebih dalam nilai kemajuan atau sudah lebih dari 30 detik sejak kejadian terakhir (detak jantung). Nilai kemajuan tidak dijamin mulai dari 0%, atau mencapai 100%, juga tidak dijamin akan meningkat pada tingkat konstanta dari waktu ke waktu. Kejadian ini tidak boleh digunakan untuk menentukan bahwa pemrosesan telah selesai - Anda harus menggunakan 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 menunjukkan skema kejadian JobStateChange:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
"type": "Microsoft.Media.JobStateChange",
"time": "2018-04-20T21:26:13.8978772",
"id": "b9d38923-9210-4c2b-958f-0054467d4dd7",
"data": {
"previousState": "Processing",
"state": "Finished"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | Deskripsi |
---|---|---|
previousState |
string | Status pekerjaan sebelum peristiwa. |
state |
string | Status baru pekerjaan sedang diberitahukan dalam peristiwa 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:
[{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
"type": "Microsoft.Media.JobProcessing",
"time": "2018-10-12T16:12:18.0839935",
"id": "a0a6efc8-f647-4fc2-be73-861fa25ba2db",
"data": {
"previousState": "Scheduled",
"state": "Processing",
"correlationData": {
"testKey1": "testValue1",
"testKey2": "testValue2"
}
},
"specversion": "1.0"
}]
JobFinished, JobCanceled, JobErrored
Untuk setiap perubahan status Pekerjaan final (seperti JobFinished, JobCanceled, JobErrored), skema contohnya terlihat mirip dengan berikut:
[{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "transforms/VideoAnalyzerTransform/jobs/<job-id>",
"type": "Microsoft.Media.JobFinished",
"time": "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"
}
},
"specversion": "1.0"
}]
Objek data memiliki properti berikut:
Properti | Tipe | 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 | Tipe | Deskripsi |
---|---|---|
streamId |
string | Pengidentifikasi aliran atau koneksi. Encoder atau pelanggan bertanggung jawab untuk menambahkan ID ini di URL ingest. |
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:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "liveEvent/mle1",
"type": "Microsoft.Media.LiveEventEncoderConnected",
"time": "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"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | 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 mana aliran ini berasal. |
LiveEventEncoderDisconnected
Contoh berikut ini menunjukkan skema kejadian LiveEventEncoderDisconnected:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "liveEvent/mle1",
"type": "Microsoft.Media.LiveEventEncoderDisconnected",
"time": "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"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | Deskripsi |
---|---|---|
streamId |
string | Pengidentifikasi aliran atau koneksi. Encoder atau pelanggan bertanggung jawab untuk menambahkan ID ini di URL ingest. |
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:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaServices/<account-name>",
"subject": "/LiveEvents/MyLiveEvent1",
"type": "Microsoft.Media.LiveEventIncomingDataChunkDropped",
"time": "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"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek. |
bitrate |
Integer | 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:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "liveEvent/mle1",
"type": "Microsoft.Media.LiveEventIncomingStreamReceived",
"time": "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"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek (disediakan oleh encoder atau, pada kasus RTMP, server dibuat dalam format TrackType_Bitrate). |
bitrate |
Integer | 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 menunjukkan skema kejadian LiveEventIncomingStreamsOutOfSync:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "liveEvent/mle1",
"type": "Microsoft.Media.LiveEventIncomingStreamsOutOfSync",
"time": "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"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | 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:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaServices/<account-name>",
"subject": "/LiveEvents/LiveEvent1",
"type": "Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync",
"time": "2018-01-16T01:57:26.005121Z",
"id": "6dd4d862-d442-40a0-b9f3-fc14bcf6d750",
"data": {
"firstTimestamp": "2162058216",
"firstDuration": "2000",
"secondTimestamp": "2162057216",
"secondDuration": "2000",
"timescale": "10000000"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | 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 menunjukkan skema kejadian LiveEventIngestHeartbeat:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "liveEvent/mle1",
"type": "Microsoft.Media.LiveEventIngestHeartbeat",
"time": "2018-08-07T23:17:57.4610506",
"id": "7f450938-491f-41e1-b06f-c6cd3965d786",
"data": {
"trackType": "audio",
"trackName": "audio",
"bitrate": 160000,
"incomingBitrate": 155903,
"lastTimestamp": "15336837535253637",
"timescale": "10000000",
"overlapCount": 0,
"discontinuityCount": 0,
"nonincreasingCount": 0,
"unexpectedBitrate": false,
"state": "Running",
"healthy": true
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek (disediakan oleh encoder atau, pada kasus RTMP, server dibuat dalam format TrackType_Bitrate). |
bitrate |
Integer | Laju bit trek. |
incomingBitrate |
Integer | 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 |
Integer | Jumlah potongan data memiliki tanda waktu yang tumpang tindih dalam waktu 20 detik terakhir. |
discontinuityCount |
Integer | Jumlah diskontinuitas yang diamati dalam waktu 20 detik terakhir. |
nonIncreasingCount |
Integer | 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 penyerapan sehat, berdasarkan jumlah 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, dan melambat karena masalah pemrosesan, atau latensi jaringan, mungkin hanya dapat mengirimkan total 58 detik audio atau video dalam periode satu menit. Ini akan dilaporkan sebagai penyimpangan 2 detik per menit. Jika encoder dapat mengejar dan mengirim semua data 60 detik atau lebih setiap menit, Anda akan melihat nilai ini dilaporkan sebagai 0. Jika ada pemutusan, atau penghentian dari encoder, nilai ini mungkin masih ditampilkan sebagai 0, karena tidak memperhitungkan pemutusan data - hanya data yang tertunda dalam tanda waktu. |
transcriptionState |
string | Nilai ini adalah "Aktif" untuk heartbeat trek audio jika transkripsi langsung diaktifkan, jika tidak, Anda akan melihat string kosong. Status ini hanya berlaku untuktracktype audio 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. |
LiveEventTrackDiscontinuityDetected
Contoh berikut menunjukkan skema kejadian LiveEventTrackDiscontinuityDetected:
[
{
"source": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Media/mediaservices/<account-name>",
"subject": "liveEvent/mle1",
"type": "Microsoft.Media.LiveEventTrackDiscontinuityDetected",
"time": "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"
},
"specversion": "1.0"
}
]
Objek data memiliki properti berikut:
Properti | Tipe | Deskripsi |
---|---|---|
trackType |
string | Jenis trek (Audio/Video). |
trackName |
string | Nama trek (disediakan oleh encoder atau, pada kasus RTMP, server dibuat dalam format TrackType_Bitrate). |
bitrate |
Integer | 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 | Tipe | Deskripsi |
---|---|---|
source |
string | Topik Event Grid. 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. |
type |
string | Salah satu jenis kejadian terdaftar untuk sumber kejadian ini. Misalnya, "Microsoft.Media.JobStateChange". |
time |
string | Waktu peristiwa dibuat berdasarkan waktu UTC penyedia. |
id |
string | Pengidentifikasi unik untuk peristiwa tersebut. |
data |
object | Data peristiwa Media Services. |
specversion |
string | Versi spesifikasi skema CloudEvents. |
Langkah berikutnya
Lihat Mendaftar untuk peristiwa perubahan status pekerjaan