مخططات Azure Event Grid لأحداث Media Services
تحذير
سيتم إيقاف Azure Media Services في 30 يونيو 2024. لمزيد من المعلومات، راجع دليل إيقاف AMS.
توفر هذه المقالة المخططات والخصائص لأحداث خدمات الوسائط.
للحصول على قائمة بنماذج البرامج النصية والبرامج التعليمية، راجع مصدر حدث Media Services.
أنواع الأحداث المتعلقة بالوظيفة
تصدر Media Services أنواع الأحداث ذات الصلة بالمهمة الموضحة أدناه. هناك فئتان للأحداث المتعلقة بـ الوظيفة : "مراقبة تغييرات حالة الوظيفة" و"مراقبة تغييرات حالة إخراج الوظيفة".
يمكنك التسجيل لكافة الأحداث عن طريق الاشتراك في حدث تغيير حالة الوظيفة. أو يمكنك الاشتراك في أحداث معينة فقط (على سبيل المثال، الحالات النهائية مثل خطأ الوظيفة، انتهاء الوظيفة، إلغاء الوظيفة).
مراقبة تغييرات حالة الوظيفة
نوع الحدث | الوصف |
---|---|
Microsoft.Media.JobStateChange | الحصول على حدث لكافة تغييرات حالة الوظيفة. |
Microsoft.Media.JobScheduled | الحصول على حدث عند انتقال الوظيفة إلى الحالة المُجدولة. |
Microsoft.Media.JobProcessing | الحصول على حدث عند انتقال الوظيفة إلى حالة المعالجة. |
Microsoft.Media.JobCanceling | الحصول على حدث عند انتقال الوظيفة إلى حالة الإلغاء. |
Microsoft.Media.JobFinished | الحصول على حدث عند انتقالات الوظيفة إلى الحالة النهائية. هذه حالة نهائية تتضمن نواتج الوظائف. |
Microsoft.Media.JobCanceled | الحصول على حدث عند انتقال الوظيفة إلى حالة مُلغاة. هذه حالة نهائية تتضمن نواتج الوظائف. |
Microsoft.Media.JobErrored | الحصول على حدث عند انتقال الوظيفة إلى حالة الخطأ. هذه حالة نهائية تتضمن نواتج الوظائف. |
راجع أمثلة المخطط التالية.
مراقبة تغييرات حالة ناتج الوظيفة
قد تحتوي الوظيفة على نواتج وظيفة متعددة (إذا قمت بتكوين التحويل ليكون له نواتج وظيفة متعددة.) إذا كنت تريد تعقب تفاصيل ناتج الوظيفة الفردية، استمع إلى حدث تغيير ناتج الوظيفة.
كل وظيفة ستكون على مستوى أعلى من ناتج الوظيفة، وبالتالي يتم إطلاق أحداث ناتج الوظيفة داخل وظيفة مقابلة.
رسائل الخطأ في نواتج JobFinished
، وJobCanceled
، وJobError
المُجمعة لكل ناتج الوظيفة - عند الانتهاء منها جميعًا. بينما يتم إطلاق أحداث ناتج الوظيفة عند انتهاء كل وظيفة. على سبيل المثال، إذا كان لديك ناتج ترميز، متبوعًا بناتج تحليلات فيديو، ستحصل على حدثين يتم إطلاقهما كحدثين لناتج الوظائف قبل إطلاق حدث انتهاء الوظيفة النهائي بالبيانات المُجمعة.
نوع الحدث | الوصف |
---|---|
Microsoft.Media.JobOutputStateChange | الحصول على حدث لكافة تغييرات حالة ناتج الوظيفة. |
Microsoft.Media.JobOutputScheduled | الحصول على حدث عند انتقال ناتج الوظيفة إلى الحالة المُجدولة. |
Microsoft.Media.JobOutputProcessing | الحصول على حدث عند انتقال ناتج الوظيفة إلى حالة المُعالجة. |
Microsoft.Media.JobOutputCanceling | الحصول على حدث عند انتقال ناتج الوظيفة إلى حالة الإلغاء. |
Microsoft.Media.JobOutputFinished | الحصول على حدث عند انتقال ناتج الوظيفة إلى الحالة النهائية. |
Microsoft.Media.JobOutputCanceled | الحصول على حدث عند انتقال ناتج الوظيفة إلى الحالة المُلغاة. |
Microsoft.Media.JobOutputErrored | الحصول على حدث عند انتقال ناتج الوظيفة إلى حالة الخطأ. |
راجع أمثلة المخطط التالية.
مراقبة تقدم ناتج الوظيفة
نوع الحدث | الوصف |
---|---|
Microsoft.Media.JobOutputProgress | يعكس هذا الحدث تقدم معالجة الوظائف، من 0٪ إلى 100٪. تُحاول الخدمة إرسال حدث إذا كان هناك زيادة مقدارها 5% أو أكثر في قيمة التقدم أو كانت أكثر من 30 ثانية منذ الحدث الأخير (رسالة كشف أخطاء الاتصال). ليس مضموناً أن تبدأ قيمة التقدم عند 0%، أو تصل إلى 100%، كما أنها غير مضمونة بالزيادة بمعدل ثابت بمرور الوقت. لا تستخدم هذا الحدث لتحديد اكتمال المعالجة - يجب عليك بدلا من ذلك استخدام أحداث تغيير الحالة. |
راجع أمثلة المخطط التالية.
أنواع الأحداث المباشرة
تُرسل خدمات الوسائط أيضًا أنواع الأحداث المباشرة الموضحة أدناه. هناك فئتان للأحداث المباشرة: أحداث على مستوى البث وأحداث على مستوى المسار.
أحداث على مستوى البث
يتم رفع الأحداث مستوى البث لكل بث أو اتصال. يحتوي كل حدث على معلمة StreamId
تُعرّف الاتصال أو البث. كل بث أو اتصال واحد يحتوي على مسار أو أكثر من أنواع مختلفة. على سبيل المثال، قد يحتوي اتصال واحد من أداة ترميز على مسار صوت واحد وأربعة مسارات فيديو. أنواع أحداث البث هي:
نوع الحدث | الوصف |
---|---|
Microsoft.Media.LiveEventConnectionRejected | تم رفض محاولة اتصال أداة الترميز. |
Microsoft.Media.LiveEventEncoderConnected | تُؤسس أداة الترميز الاتصال مع الحدث المباشر. |
Microsoft.Media.LiveEventEncoderDisconnected | قطع اتصال أداة الترميز. |
راجع أمثلة المخطط التالية.
أحداث على مستوى المسار
يتم رفع الأحداث على مستوى المسار لكل مسار.
ملاحظة
يتم رفع كافة الأحداث على مستوى المسار بعد توصيل أداة ترميز مباشرة.
أنواع الأحداث على مستوى المسار هي:
نوع الحدث | الوصف |
---|---|
Microsoft.Media.LiveEventIncomingDataChunkDropped | يقوم خادم الوسائط بإسقاط البيانات لأنها متأخرة جدًا أو تحتوي على طابع زمني متداخل (الطابع الزمني لمجموعة بيانات جديدة أقل من وقت انتهاء مجموعة البيانات السابقة). |
Microsoft.Media.LiveEventIncomingStreamReceived | يتلقى خادم الوسائط مجموعة البيانات الأولى لكل مسار في البث أو الاتصال. |
Microsoft.Media.LiveEventIncomingStreamsOutOfSync | يكتشف خادم الوسائط عدم تزامن بث الصوت وبث الفيديو. استخدم هذا كتحذير لأنه قد لا تتأثر تجربة المستخدم. |
Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync | يكتشف خادم الوسائط أي من بثيّ الفيديو القادمين من أداة الترميز الخارجية غير المتزامنة. استخدم هذا كتحذير لأنه قد لا تتأثر تجربة المستخدم. |
Microsoft.Media.LiveEventIngestHeartbeat | يتم نشره كل 20 ثانية لكل مسار عند تشغيل الحدث المباشر. يوفر ملخصًا سليمًا للاستيعاب. بعد أن تم توصيل أداة الترميز في البداية، يستمر حدث رسالة كشف أخطاء الاتصال في الإرسال كل 20 ثانية سواءً كانت أداة الترميز لا تزال متصلة أم لا. |
Microsoft.Media.LiveEventTrackDiscontinuityDetected | يكتشف خادم الوسائط انقطاع في المسار الوارد. |
راجع أمثلة المخطط التالية.
أمثلة مخطط الأحداث
تغيير حالة الوظيفة
يوضح المثال التالي مخطط حدث تغيير حالة الوظيفة:
[
{
"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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
previousState |
سلسلة | حالة الوظيفة قبل الحدث. |
state |
سلسلة | يتم إعلام الحالة الجديدة للوظيفة في هذا الحدث. على سبيل المثال، "مُجدولة: الوظيفة جاهزة للبدء" أو "انتهت: الوظيفة منتهية". |
حيث يمكن أن تكون حالة الوظيفة إحدى القيم: في قائمة الانتظار، مجدولة، أثناء المعالجة، تم الانتهاء منها، خطأ، تم الإلغاء، جارِ الإلغاء
ملاحظة
قائمة الانتظار ستكون موجودة فقط في خاصية الحالة السابقة ولكن ليس في خاصية الدولة.
جدولة الوظائف، معالجة الوظائف، إلغاء الوظائف
لكل تغيير حالة وظيفة غير نهائية (مثل جدولة الوظائف، أو معالجة الوظائف، أو إلغاء الوظائف)، يبدو مثال المخطط مشابهاً لما يلي:
[{
"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"
}]
انتهاء الوظائف، إلغاء الوظائف، خطأ الوظائف
لكل تغيير حالة وظيفة نهائية (مثل انتهاء الوظائف، إلغاء الوظائف، خطأ الوظائف)، يبدو مثال المخطط مشابهاً لما يلي:
[{
"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"
}]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
outputs |
صفيف | الحصول على نواتج الوظيفة. |
تغيير حالة ناتج الوظيفة
يُظهر المثال التالي مخطط الحدث تغيير حالة ناتج الوظيفة:
[{
"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"
}]
جدولة ناتج الوظائف، معالجة ناتج الوظائف، انتهاء ناتج الوظائف، جارٍ إلغاء ناتج الوظائف، تم إلغاء ناتج الوظائف، خطأ ناتج الوظائف
لكل تغيير حالة ناتج الوظيفة يبدو مثال المخطط مشابهًا لما يلي:
[{
"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"
}]
تقدم ناتج الوظيفة
يبدو مثال المخطط مشابهًا لما يلي:
[{
"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
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
streamId |
سلسلة | معرّف البث أو الاتصال. تتحمل أداة الترميز أو العميل مسؤولية إضافة هذا المعرّف في استيعاب عنوان URL. |
ingestUrl |
سلسلة | استيعاب عنوان URL الذي يقدمه الحدث المباشر. |
encoderIp |
سلسلة | عنوان IP لأداة الترميز. |
encoderPort |
سلسلة | منفذ أداة الترميز من حيث يأتي هذا البث. |
resultCode |
سلسلة | سبب رفض الاتصال. يتم سرد رموز النتائج في الجدول التالي. |
يمكنك العثور على رموز نتائج الخطأ في رموز خطأ الحدث المباشر.
LiveEventEncoderConnected
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
streamId |
سلسلة | معرّف البث أو الاتصال. تتحمل أداة الترميز أو العميل مسؤولية توفير هذا المعرّف في استيعاب عنوان URL. |
ingestUrl |
سلسلة | استيعاب عنوان URL الذي يقدمه الحدث المباشر. |
encoderIp |
سلسلة | عنوان IP لأداة الترميز. |
encoderPort |
سلسلة | منفذ أداة الترميز من حيث يأتي هذا البث. |
LiveEventEncoderDisconnected
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
streamId |
سلسلة | معرّف البث أو الاتصال. تتحمل أداة الترميز أو العميل مسؤولية إضافة هذا المعرّف في استيعاب عنوان URL. |
ingestUrl |
سلسلة | استيعاب عنوان URL الذي يقدمه الحدث المباشر. |
encoderIp |
سلسلة | عنوان IP لأداة الترميز. |
encoderPort |
سلسلة | منفذ أداة الترميز من حيث يأتي هذا البث. |
resultCode |
سلسلة | سبب قطع اتصال أداة الترميز. قد يكون قطع اتصال بأمان أو من خطأ. يتم سرد رموز النتائج في الجدول التالي. |
يمكنك العثور على رموز نتائج الخطأ في رموز خطأ الحدث المباشر.
رموز نتائج قطع الاتصال بأمان هي:
رمز النتيجة | الوصف |
---|---|
S_OK | تم قطع اتصال أداة الترميز بنجاح. |
MPE_CLIENT_TERMINATED_SESSION | أداة الترميز التي تم قطع اتصالها (RTMP). |
MPE_CLIENT_DISCONNECTED | أداة الترميز التي تم قطع اتصالها (FMP4). |
MPI_REST_API_CHANNEL_RESET | تم تلقي أمر إعادة تعيين القناة. |
MPI_REST_API_CHANNEL_STOP | تم تلقي أمر إيقاف القناة. |
MPI_REST_API_CHANNEL_STOP | القناة تخضع للصيانة. |
MPI_STREAM_HIT_EOF | يتم إرسال بث EOF بواسطة أداة الترميز. |
LiveEventIncomingDataChunkDropped
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
trackType |
سلسلة | نوع المسار (صوت / فيديو). |
trackName |
سلسلة | اسم المسار. |
bitrate |
عدد صحيح | معدل البت للمسار. |
timestamp |
سلسلة | تم إسقاط الطابع الزمني لمجموعة البيانات. |
timescale |
سلسلة | مقياس الوقت للطابع الزمني. |
resultCode |
سلسلة | سبب إسقاط مجموعة البيانات. FragmentDrop_OverlapTimestamp or FragmentDrop_NonIncreasingTimestamp. |
LiveEventIncomingStreamReceived
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
trackType |
سلسلة | نوع المسار (صوت / فيديو). |
trackName |
سلسلة | اسم المسار (إما الذي تُقدمه أداة الترميز أو، في حالة RTMP، يتم إنشاء خادم في شكل TrackType_Bitrate). |
bitrate |
عدد صحيح | معدل البت للمسار. |
ingestUrl |
سلسلة | استيعاب عنوان URL الذي يقدمه الحدث المباشر. |
encoderIp |
سلسلة | عنوان IP لأداة الترميز. |
encoderPort |
سلسلة | منفذ أداة الترميز من حيث يأتي هذا البث. |
timestamp |
سلسلة | تم استلام الطابع الزمني الأول من مجموعة البيانات. |
timescale |
سلسلة | مقياس الوقت الذي يتم فيه تمثيل الطابع الزمني. |
LiveEventIncomingStreamsOutOfSync
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
minLastTimestamp |
سلسلة | الحد الأدنى من الطوابع الزمنية الأخيرة بين جميع المسارات (صوت أو فيديو). |
typeOfTrackWithMinLastTimestamp |
سلسلة | نوع المسار (صوت أو فيديو) مع آخر طابع زمني بحد أدنى. |
maxLastTimestamp |
سلسلة | الحد الأقصى لجميع الطوابع الزمنية بين جميع المسارات (صوت أو فيديو). |
typeOfTrackWithMaxLastTimestamp |
سلسلة | نوع المسار (صوت أو فيديو) مع آخر طابع زمني بحد أقصى. |
timescaleOfMinLastTimestamp |
سلسلة | الحصول على مقياس الوقت الذي يتم فيه تمثيل "MinLastTimestamp". |
timescaleOfMaxLastTimestamp |
سلسلة | الحصول على مقياس الوقت الذي يتم تمثيل "MaxLastTimestamp" . |
LiveEventIncomingVideoStreamsOutOfSync
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
firstTimestamp |
سلسلة | تم تلقي الطابع الزمني لأحد المسارات / مستويات الجودة لنوع الفيديو. |
firstDuration |
سلسلة | مدة مجموعة البيانات مع الطابع الزمني الأول. |
secondTimestamp |
سلسلة | تم تلقي الطابع الزمني لبعض المسارات / مستوى الجودة الأخرى لنوع الفيديو. |
secondDuration |
سلسلة | مدة مجموعة البيانات مع الطابع الزمني الثاني. |
timescale |
سلسلة | مقياس الوقت للطوابع الزمنية والمدة. |
LiveEventIngestHeartbeat
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
trackType |
سلسلة | نوع المسار (صوت / فيديو). |
trackName |
سلسلة | اسم المسار (إما الذي تُقدمه أداة الترميز أو، في حالة RTMP، يتم إنشاء خادم في شكل TrackType_Bitrate). |
bitrate |
عدد صحيح | معدل البت للمسار. |
incomingBitrate |
عدد صحيح | معدل البت المحسوب استنادًا إلى مجموعة البيانات القادمة من أداة الترميز. |
lastTimestamp |
سلسلة | آخر طابع زمني تم تلقيه لمسار في آخر 20 ثانية. |
timescale |
سلسلة | مقياس الوقت الذي يتم فيه التعبير عن الطوابع الزمنية. |
overlapCount |
عدد صحيح | عدد مجموعات البيانات المُتداخلة مع الطوابع الزمنية في آخر 20 ثانية. |
discontinuityCount |
عدد صحيح | عدد حالات الانقطاع التي لوحظت في آخر 20 ثانية. |
nonIncreasingCount |
عدد صحيح | عدد مجموعات البيانات مع الطوابع الزمنية في الماضي التي تم استلامها في آخر 20 ثانية. |
unexpectedBitrate |
Bool | إذا كانت معدلات البت المتوقعة والفعلية تختلف بأكثر من الحد المسموح به في آخر 20 ثانية. يكون هذا صحيحًا إذًا وفقط إذا كان معدل البت الوارد >= 2 * معدل البت أو معدل البت الوارد< = معدل البت / 2 أو معدل النترات الواردة = 0. |
state |
سلسلة | حالة الحدث المباشر. |
healthy |
Bool | يشير إلى ما إذا كان الاستيعاب سليمًا على أساس الأعداد والعلامات. يكون وضع السلامة صحيحًا إذا كان overlapCount = 0 && discontinuityCount = 0 && nonIncreasingCount = 0 && unexpectedBitrate = false. |
lastFragmentArrivalTime |
سلسلة | آخر طابع زمني بالتوقيت العالمي المتفق عليه يُشير إلى أن الجزء وصل إلى نقطة النهاية الاستيعاب. مثال تنسيق التاريخ هو "2020-11-11 12:12:12:888999" |
ingestDriftValue |
سلسلة | يشير إلى سرعة التأخير، بالثواني في الدقيقة، لبيانات الصوت أو الفيديو الواردة خلال الدقيقة الأخيرة. القيمة أكبر من الصفر إذا كانت البيانات التي تصل إلى الحدث المباشر أبطأ من المتوقع في الدقيقة الأخيرة، وتكون القيمة صفر إذا وصلت البيانات دون تأخير، وتكون القيمة "n/a" إذا لم يتم تلقي بيانات الصوت أو الفيديو. على سبيل المثال، إذا كان لديك برنامج ترميز مساهمة يرسل محتوى مباشراً، وكان بطيئاً بسبب مشكلات المعالجة، أو زمن انتقال الشبكة، فقد يكون قادراً فقط على تقديم إجمالي 58 ثانية من الصوت أو الفيديو في فترة دقيقة واحدة. سيتم الإبلاغ عن هذا على أنه ثانيتان لكل دقيقة من الانجراف. إذا كان المشفر قادراً على اللحاق بالبيانات وإرسالها كل 60 ثانية أو أكثر من البيانات كل دقيقة، فسترى هذه القيمة مُبلغاً عنها على أنها 0. إذا كان هناك انقطاع أو انقطاع عن برنامج الترميز، فقد تظل هذه القيمة معروضة على أنها 0، لأنها لا تأخذ في الحسبان فواصل البيانات - فقط البيانات المتأخرة في الطوابع الزمنية. |
transcriptionState |
سلسلة | هذه القيمة هي "تشغيل" لرسالة كشف أخطاء الاتصال لمسار الصوت إذا تم تشغيل النسخ المباشر، وإلا سترى سلسلة فارغة. لا تنطبق هذه الحالة إلا على نوع المسار "الصوت" للنسخ المباشر. سيكون لجميع المسارات الأخرى قيمة فارغة. |
transcriptionLanguage |
سلسلة | رمز اللغة (بتنسيق BCP-47) للغة النسخ. على سبيل المثال، يشير "de-de" إلى الألمانية (ألمانيا). القيمة فارغة لرسالة كشف أخطاء الاتصال لمسار الفيديو، أو عند إيقاف تشغيل النسخ المباشر. |
LiveEventChannelArchiveHeartbeat
يوضح المثال التالي مخطط حدث 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"
}
]
عنصر البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
channelLatencyMs |
سلسلة | الوقت بالمللي ثانية (مللي ثانية) الذي يقضيه الفيديو الذي تم إدخاله في مسار الحدث المباشر قبل نشره في بيان HLS/DASH ليتمكن اللاعبون من تنزيله. |
latencyResultCode |
سلسلة | تعليمة برمجية النتيجة لحساب channelLatencyMs.
S_OK يشير إلى أنه تم استلام عرض الحدث المباشر بدون أي مشكلات. تشير التعليمات البرمجية للنتائج الأخرى إلى المواقف التي قد تتسبب في أن تكون قيمة channelLatencyMs فارغة. رمز الخطأ MPE_KEY_FRAME_INTERVAL_TOO_LARGE يشير إلى أن مصدر الفيديو الذي تم إدخاله به مجموعة كبيرة (مسافة الإطار الرئيسية) والتي من شأنها التأثير سلباً على زمن انتقال القناة. يشير تعليمة برمجية الخطأMPE_INGEST_DISCONTINUITY إلى اكتشاف حالات انقطاع في دفق المصدر، ما قد يضيف فترات انتقال طويلة إلى القناة. |
LiveEventTrackDiscontinuityDetected
يُظهر المثال التالي مخطط الحدث 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"
}
]
كائن البيانات له الخصائص التالية:
الخاصية | النوع | الوصف |
---|---|---|
trackType |
سلسلة | نوع المسار (صوت / فيديو). |
trackName |
سلسلة | اسم المسار (إما الذي تُقدمه أداة الترميز أو، في حالة RTMP، يتم إنشاء خادم في شكل TrackType_Bitrate). |
bitrate |
عدد صحيح | معدل البت للمسار. |
previousTimestamp |
سلسلة | الطابع الزمني للجزء السابق. |
newTimestamp |
سلسلة | الطابع الزمني للجزء الحالي. |
discontinuityGap |
سلسلة | الفجوة بين الطابعين الزمنيين أعلاه. |
timescale |
سلسلة | مقياس الوقت الذي يتم فيه تمثيل فجوة الطابع الزمني والانقطاع. |
خصائص الحدث الشائعة
ويحتوي الحدث على بيانات المستوى الأعلى التالية:
الخاصية | النوع | الوصف |
---|---|---|
topic |
سلسلة | موضوع «شبكة الأحداث». تحتوي هذه الخاصية على معرّف المورد لحساب خدمات الوسائط. |
subject |
سلسلة | مسار المورد لقناة خدمات الوسائط ضمن حساب خدمات الوسائط. يمنحك ربط الموضوع والموضوع معرف المورد للوظيفة. |
eventType |
سلسلة | أحد أنواع الأحداث المسجلة لمصدر الحدث. على سبيل المثال، "Microsoft.Media.JobStateChange". |
eventTime |
سلسلة | وقت إنشاء الحدث بناءً على توقيت UTC الخاص بالموفر. |
id |
سلسلة | معرّف فريد للحدث. |
data |
كائن | بيانات حدث خدمات الوسائط. |
dataVersion |
سلسلة | إصدار مخطط عنصر البيانات. يعرّف الناشر إصدار المخطط. |
metadataVersion |
سلسلة | إصدار المخطط لبيانات تعريف الحدث. تحدد «شبكة الأحداث» مخطط خصائص المستوى الأعلى. توفر «شبكة الأحداث» هذه القيمة. |