مخططات Azure Event Grid لأحداث Media Services

شعار خدمات الوسائط الإصدار 3


تحذير

سيتم إيقاف 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 سلسلة إصدار المخطط لبيانات تعريف الحدث. تحدد «شبكة الأحداث» مخطط خصائص المستوى الأعلى. توفر «شبكة الأحداث» هذه القيمة.

راجع أيضاً