التعبئة الديناميكية في خدمات الوسائط الإصدار 3

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


تحذير

سيتم إيقاف Azure Media Services في 30 يونيو 2024. لمزيد من المعلومات، راجع دليل إيقاف AMS.

توفر Azure Media Services خادماً مضمناً وإمكانات التعبئة لتقديم المحتوى بتنسيقات بروتوكول دفق HLS وMPEG DASH. في خدمات وسائط Azure، تعمل نقطة النهاية المتدفقة كخادم "أصل" يرسل محتوى HLS وDASH منسقاً إلى لاعبي العميل الذين يدعمون تدفق معدل البت التكيفي باستخدام هذه التنسيقات الشائعة. تدعم نقطة نهاية البث أيضاً العديد من الميزات، مثل الحزم الديناميكية في الوقت المناسب مع حماية المحتوى أو بدونها، للوصول إلى جميع الأجهزة الرئيسية (مثل أجهزة iOS وAndroid).

تدعم معظم المتصفحات والأجهزة المحمولة في السوق اليوم بروتوكولات دفق HLS أو DASH وفهمها. على سبيل المثال، تتطلب iOS أن يتم تسليم البث بتنسيق HTTP Live Streaming (HLS) وتدعم أجهزة Android HLS وكذلك MPEG DASH على نماذج معينة (أو من خلال استخدام مشغل مستوى التطبيق Exoplayer لأجهزة Android.

في خدمات الوسائط، تمثل نقطة نهاية البث (الأصل) خدمة تعبئة وأصل ديناميكية (في الوقت المناسب) يمكنها تقديم المحتوى المباشر وعند الطلب مباشرةً إلى تطبيق مشغل العميل. يستخدم أحد بروتوكولات وسائط الدفق الشائعة المذكورة في القسم التالي. الحزم الديناميكية هي ميزة تأتي قياسية على جميع نقاط النهاية المتدفقة.

التعبئة والتغليف الديناميكي

مزايا التعبئة والتغليف في الوقت المناسب هي التالية:

  • يمكنك تخزين جميع ملفاتك بتنسيق ملف MP4 قياسي.
  • لا تحتاج إلى تخزين نسخ متعددة من تنسيقات HLS و DASH الثابتة المحزمة في تخزين كائن ثنائي كبير الحجم مما يقلل من كمية محتوى الفيديو المخزن ويقلل من تكاليف التخزين.
  • يمكنك الاستفادة على الفور من تحديثات البروتوكول الجديدة والتغييرات على المواصفات دون الحاجة إلى إعادة حزم المحتوى الثابت في الكتالوج الخاص بك.
  • يمكنك تقديم محتوى باستخدام التشفير وإدارة الحقوق الرقمية أو بدونها باستخدام نفس ملفات MP4 في التخزين.
  • يمكنك تصفية البيانات أو تغييرها ديناميكيًا باستخدام عوامل تصفية بسيطة على مستوى الأصول أو عوامل تصفية عالمية لإزالة مسارات محددة أو دقة أو لغات أو توفير مقاطع تمييز أقصر من ملفات MP4 نفسها دون إعادة ترميز المحتوى أو إعادة عرضه.

لإعداد الملفات المصدر للتسليم

للاستفادة من التعبئة والتغليف الديناميكي، قم بترميز ملف mezzanine (المصدر) في مجموعة من ملفات MP4 أحادية أو متعددة معدل البت (ISO Base Media 14496-12). سيتم تحديد موقع ملفات الفيديو المشفرة وملفات تكوين البث في أصل الإخراج. من هذه المجموعة من الملفات، يمكنك استخدام الحزم الديناميكي لتقديم الفيديو عبر بروتوكولات الوسائط المتدفقة.

عادةً ما ستستخدم برنامج الترميز القياسي لخدمات وسائط Azure لإنشاء هذا المحتوى باستخدام الإعدادات المسبقة لتشفير المحتوى أو الإعدادات المسبقة لمعدل البت التكيفي. كلاهما ينشئ مجموعة من ملفات MP4 جاهزة للبث والتعبئة الديناميكية.

بدلا من ذلك، يمكنك اختيار الترميز باستخدام خدمة خارجية أو محلية أو على الأجهزة الظاهرية الخاصة بك أو تطبيقات الوظائف بلا خادم. يمكن تحميل المحتوى المشفر خارجياً إلى أصل للبث شريطة أن يفي بمتطلبات الترميز لتنسيقات تدفق معدل البت التكيفي. يتوفر مشروع مثال لتحميل MP4 مشفر مسبقاً للبث في نماذج ‎.NET SDK - راجع دفق ملفات Mp4 الموجودة.

تدعم التعبئة الديناميكية ل Azure Media Services ملفات الفيديو والصوت بتنسيق حاوية MP4 فقط. يجب ترميز الملفات الصوتية في حاوية MP4 أيضاً عند استخدام برامج ترميز بديلة، مثل Dolby.

توفير مقاطع الفيديو للبث

لجعل مقاطع الفيديو في الأصل المشفر متاحة للعملاء للتشغيل، انشر الأصل باستخدام محدد موقع البث وأنشئ عناوين URL المناسبة لتدفق HLS و DASH. من خلال تغيير البروتوكول المستخدم في استعلام تنسيق عنوان URL، ستقدم الخدمة بيان الدفق المناسب (HLS، MPEG DASH.)

نتيجةً لذلك، ما عليك سوى تخزين الملفات ودفع ثمنها في تنسيق تخزين فردي (MP4)، وستقوم خدمات الوسائط بإنشاء وتقديم بيانات HLS أو DASH المناسبة بناءً على طلبات مشغلات العملاء لديك.

إذا كنت تخطط لحماية المحتوى الخاص بك باستخدام التشفير الديناميكي لخدمات الوسائط، فشاهد بروتوكولات الدفق وأنواع التشفير.

تسليم HLS

التعبئة الديناميكية لـ HLS

يمكن لعميل الدفق تحديد تنسيقات HLS التالية. نوصي باستخدام تنسيق CMAF للتوافق مع أحدث المشغلات وأجهزة iOS. بالنسبة للأجهزة القديمة، تتوفر تنسيقات v4 وv3 أيضاً عن طريق تغيير سلسلة استعلام التنسيق ببساطة.

البروتوكول سلسلة Format مثال
HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
HLS V4 format=m3u8-aapl https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl)
HLS V3 format=m3u8-aapl-v3 https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl-v3)

ملاحظة

أوصت الإرشادات السابقة من Apple بأن الاحتياطي للشبكات ذات النطاق الترددي المنخفض هو توفير دفق صوتي فقط. في الوقت الحالي، يقوم ترميز خدمات الوسائط تلقائيا بإنشاء مسار صوتي فقط. تنص إرشادات Apple الآن على أنه لا ينبغي تضمين المسار الصوتي فقط، خاصة لتوزيع Apple TV. لمنع المشغل من التعيين الافتراضي إلى مسار صوتي فقط، نقترح استخدام علامة "audio-only=false" في عنوان URL التي تزيل الترجمة الصوتية فقط في HLS، أو ببساطة استخدام HLS-V3. على سبيل المثال، ⁧http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false)⁩.

نسبة تعبئة HLS لـ VOD

للتحكم في نسبة التعبئة لمحتوى VOD لتنسيقات HLS الأقدم، يمكنك تعيين علامة بيانات تعريف fragmentsPerHLSSegment في ملف ‎.ism للتحكم في نسبة التعبئة الافتراضية 3:1 لشرائح TS التي تم تسليمها من بيانات تنسيق v3 وv4 HLS الأقدم. يتطلب تغيير الإعداد هذا تعديل ملف ‎.ism مباشرة في التخزين لضبط نسبة التعبئة.

مثال بيان خادم ‎.ism مع تعيين fragmentsPerHLSSegment إلى 1.

   <?xml version="1.0" encoding="utf-8" standalone="yes"?>
   <smil xmlns="http://www.w3.org/2001/SMIL20/Language">
      <head>
         <meta name="formats" content="mp4" />
         <meta name="fragmentsPerHLSSegment" content="1"/>
      </head>
      <body>
         <switch>
         ...
         </switch>
      </body>
   </smil>

تسليم DASH

حزمة DASH الديناميكية

يمكن لعميل البث تحديد تنسيقات MPEG-DASH التالية:

البروتوكول سلسلة Format مثال
MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
MPEG-DASH CSF (قديم) format=mpd-time-csf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf)

تقديم بيانات التدفق السلس

التعبئة الديناميكية المتدفقة السلسة

يمكن لعميل البث تحديد تنسيقات التدفق السلس التالية:

البروتوكول الملاحظات/الأمثلة
التدفق السلس https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest
الدفق السلس 2.0 (بيان قديم) بشكل افتراضي، يحتوي تنسيق بيان التدفق السلس على علامة التكرار (r-tag). ومع ذلك، لا يدعم بعض المشغلات r-tag. يمكن للعملاء الذين يستخدمون هؤلاء اللاعبين استخدام تنسيق يعطل علامة r:

https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=fmp4-v20)

ملاحظة

يتطلب البث السلس وجود كل من الصوت والفيديو في التدفق.

سير عمل الدفق عند الطلب

تُظهر الخطوات التالية سير عمل دفق خدمات الوسائط الشائع، حيث يتم استخدام الحزم الديناميكية جنبًا إلى جنب مع التشفير القياسي في خدمات وسائط Azure.

  1. قم بتحميل ملف إدخال، مثل MP4 أو QuickTime/MOV أو تنسيق ملف معتمد آخر. يشار إلى هذا الملف أيضاً باسم الملف mezzanine أو المصدر. للحصول على قائمة التنسيقات المدعومة، راجع التنسيقات المدعومة من قبل الترميز القياسي.

  2. قم بترميز ملف mezzanine في مجموعة معدل البت التكيفي H.264/AAC MP4.

    إذا كان لديك بالفعل ملفات مشفرة وتريد فقط نسخ الملفات ودفقها، فاستخدم: CopyVideo وCopyAudio APIs. سيتم إنشاء ملف MP4 جديد مع بيان دفق (ملف ‎.ism) نتيجة لذلك.

    بالإضافة إلى ذلك، يمكنك فقط إنشاء ملف ‎.ism و‎.ismc على ملف مشفر مسبقًا، طالما أنه تم ترميزه باستخدام الإعدادات الصحيحة لتدفق معدل البت التكيفي (هذا عادةً ما يكون GOPs مدته ثانيتان، ومسافات الإطار الرئيسي قدرها 2 ثانية كحد أدنى وحد أقصى، وترميز وضع معدل البت الثابت (CBR).)

    راجع نموذج دفق Mp4 .NET SDK الموجود للحصول على تفاصيل حول كيفية إنشاء ‎.ism (بيان الخادم) و‎.ismc (بيانات العميل) للبث من ملف MP4 موجود مرمز مسبقاً.

  3. انشر أصل الإخراج الذي يحتوي على مجموعة MP4 لمعدل البت التكيفي. يمكنك النشر عن طريق إنشاء محدد موقع دفق.

  4. قم بإنشاء عناوين URL التي تستهدف تنسيقات مختلفة (HLS وMPEG-DASH والدفق السلس). ستهتم نقطة نهاية الدفق بخدمة البيان الصحيح والطلبات لجميع هذه التنسيقات المختلفة.

مسار التنزيل موجود في الصورة أعلاه فقط لإظهار أنه يمكنك تنزيل ملف MP4 مباشرة من خلال نقطة نهاية الدفق (الأصل) (يمكنك تحديد نهج الدفق القابل للتنزيل على محدد موقع الدفق).
الرابط الديناميكي لا يغير الملف. يمكنك اختياريًا استخدام واجهات برمجة تطبيقات تخزين البيانات الثنائية الكبيرة في Azure للوصول إلى MP4 مباشرةً للتنزيل التدريجي إذا كنت ترغب في تجاوز ميزات نقطة نهاية البث (الأصل).

ترميز إلى معدل البت التكيفي MP4

تعرض المقالات التالية أمثلة حول كيفية ترميز فيديو باستخدام خدمات الوسائط:

راجع قائمة تنسيقات الإدخال المعيارية وبرامج الترميز المدعومة.

سير عمل البث المباشر

يمكن تعيين حدث مباشر إما على المرور العابر (ترسل أداة الترميز المباشرة المحلية دفقًا متعدد معدل البت) أو ترميزًا مباشرًا (ترسل أداة الترميز المباشر المحلية دفقًا معدل البت واحدًا).

فيما يلي سير عمل شائع للبث المباشر باستخدام التعبئة الديناميكية:

  1. قم بإنشاء حدث مباشر.
  2. احصل على عنوان URL الذي تم استيعابه، وقم بتكوين أداة الترميز المحلية لاستخدام عنوان URL لإرسال موجز المساهمة.
  3. احصل على عنوان URL للمعاينة واستخدمه للتحقق من تلقي الإدخال من الترميز.
  4. قم بإنشاء أصل جديد.
  5. قم بإنشاء إخراج مباشر، واستخدام اسم الأصل الذي قمت بإنشائه.
    يقوم الإخراج المباشر بأرشفة الدفق إلى الأصل.
  6. قم بإنشاء محدد موقع الدفق باستخدام أنواع سياسة الدفق المضمنة.
    إذا كنت تنوي تشفير المحتوى الخاص بك، فراجع نظرة عامة على حماية المحتوى.
  7. سرد المسارات على محدد موقع البث للحصول على عناوين URL لاستخدامها.
  8. احصل على اسم المضيف لنقطة نهاية البث التي تريد الدفق منها.
  9. قم بإنشاء عناوين URL التي تستهدف تنسيقات مختلفة (HLS وMPEG-DASH والدفق السلس). تهتم نقطة نهاية الدفق بخدمة البيان الصحيح وطلبات التنسيقات المختلفة.

للحصول على معلومات حول البث المباشر في خدمات الوسائط الإصدار 3، راجع نظرة عامة على البث المباشر.

برامج ترميز الفيديو المدعومة من التعبئة الديناميكية

تدعم التعبئة الديناميكية ملفات الفيديو بتنسيق ملف حاوية MP4 وتحتوي على فيديو مشفر بـ H.264 (MPEG-4 AVC أو AVC1) أو H.265 (HEVC أو hev1 أو hvc1).

ملاحظة

وقد تم اختبار دقة تصل إلى 4K ومعدلات الإطارات التي تصل إلى 60 إطاراً/ ثانية مع التعبئة الديناميكية.

برامج ترميز الصوت المدعومة بالتعبئة الديناميكية

تدعم التعبئة الديناميكية أيضاً الملفات الصوتية المخزنة بتنسيق حاوية ملفات MP4 التي تحتوي على دفق صوت مشفر في أحد برامج الترميز التالية:

  • AAC (AAC-LC أو HE-AAC v1 أو HE-AAC v2).

  • Dolby Digital Plus (AC-3 أو E-AC3 محسن). يجب تخزين الصوت المشفر بتنسيق حاوية MP4 للعمل مع التعبئة الديناميكية.

  • Dolby Atmos

    يتم دعم محتوى Streaming Dolby Atmos لمعايير، مثل بروتوكول MPEG-DASH باستخدام تنسيق البث الشائع (CSF) أو تنسيق تطبيق الوسائط المشتركة (CMAF) MP4 المجزأ، وعبر HTTP Live Streaming (HLS) باستخدام CMAF.

  • DTS
    برامج ترميز DTS المدعومة بتنسيقات التعبئة DASH-CSF وDASH-CMAF وHLS-M2TS وHLS-CMAF هي:

    • إحاطة DTS الرقمية (dtsc)
    • DTS-HD High Resolution وDTS-HD Master Audio (dtsh)
    • DTS Express (dtse)
    • DTS-HD Lossless (بلا ذاكرة أساسية) (dtsl)

تدعم التعبئة الديناميكية مسارات صوت متعددة مع DASH أو HLS (الإصدار 4 أو أحدث) لتدفق الأصول التي تحتوي على مسارات صوت متعددة مع برامج ترميز ولغات متعددة.

بالنسبة لجميع برامج ترميز الصوت أعلاه، يجب تخزين الصوت المشفر بتنسيق حاوية MP4 للعمل مع التعبئة الديناميكية. لا تدعم الخدمة تنسيقات ملفات الدفق الأولية على تخزين blob (على سبيل المثال، لن يتم دعم ما يلي - ‎.dts، و‎.ac3.)

يتم دعم الملفات التي تتضمن ‎.mp4 ملحق ‎.mp4a فقط لتعبئة الصوت.

التقييدات

قيود iOS على صوت AAC 5.1

لا تدعم أجهزة Apple iOS برنامج ترميز صوت 5.1 AAC. يجب ترميز الصوت متعدد القنوات باستخدام برامج ترميز Dolby Digital أو Dolby Digital Plus.

للحصول على معلومات مفصلة، راجع مواصفات تأليف HLS لأجهزة apple.

ملاحظة

لا تدعم خدمات الوسائط ترميز Dolby Digital أو Dolby Digital Plus أو Dolby Digital Plus باستخدام تنسيقات صوت Dolby Atmos متعددة القنوات.

صوت Dolby Digital

لا تدعم التعبئة الديناميكية لخدمات الوسائط حالياً الملفات التي تحتوي على صوت Dolby Digital (AC3) (حيث يعتبر هذا برنامج ترميز قديم من قبل Dolby).

بيانات التطبيق

في التعبئة الديناميكية لخدمات الوسائط، يتم إنشاء بيانات عميل الدفق لـ HLS وMPEG-DASH والدفق السلس ديناميكياً استناداً إلى استعلام التنسيق في عنوان URL.

يتضمن ملف البيان بيانات التعريف المتدفقة، مثل نوع المسار (الصوت أو الفيديو أو النص) واسم المسار ووقت البدء والانتهاء معدل البت (الصفات) ولغات التعقب ونافذة العرض التقديمي (نافذة منزلقة ذات مدة ثابتة) ومبرمج الفيديو (FourCC). كما يرشد المشغل إلى استرداد الجزء التالي من خلال توفير معلومات حول أجزاء الفيديو القابلة للتشغيل التالية المتوفرة وموقعها. الأجزاء (أو الأقسام ) هي "المجموعات" الفعلية لمحتوى الفيديو.

أمثلة

HLS

فيما يلي مثال على ملف بيان HLS، يسمى أيضا قائمة تشغيل HLS الرئيسية:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="aac_eng_2_128041_2_1",LANGUAGE="eng",DEFAULT=YES,AUTOSELECT=YES,URI="QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)"
#EXT-X-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d,mp4a.40.2",AUDIO="audio"
QualityLevels(381048)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d",URI="QualityLevels(381048)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015,mp4a.40.2",AUDIO="audio"
QualityLevels(721495)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015",URI="QualityLevels(721495)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2",AUDIO="audio"
QualityLevels(1154816)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e",URI="QualityLevels(1154816)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f,mp4a.40.2",AUDIO="audio"
QualityLevels(2217354)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f",URI="QualityLevels(2217354)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020,mp4a.40.2",AUDIO="audio"
QualityLevels(3579827)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020",URI="QualityLevels(3579827)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=139017,CODECS="mp4a.40.2",AUDIO="audio"
QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)

MPEG-DASH

فيما يلي مثال على ملف بيان MPEG-DASH، يسمى أيضاً وصف عرض تقديمي للوسائط MPEG-DASH (MPD):

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT1M10.315S" minBufferTime="PT7S">
   <Period>
      <AdaptationSet id="1" group="5" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="audio" mimeType="audio/mp4" codecs="mp4a.40.2" lang="en">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60160000" r="10" />
               <S d="41386666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="5_A_aac_eng_2_128041_2_1_1" bandwidth="128041" audioSamplingRate="48000" />
      </AdaptationSet>
      <AdaptationSet id="2" group="1" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="video" mimeType="video/mp4" codecs="avc1.640020" maxWidth="1280" maxHeight="720" startWithSAP="1">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(video=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(video=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60060000" r="10" />
               <S d="42375666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="1_V_video_1" bandwidth="3579827" width="1280" height="720" />
         <Representation id="1_V_video_2" bandwidth="2217354" codecs="avc1.64001F" width="960" height="540" />
         <Representation id="1_V_video_3" bandwidth="1154816" codecs="avc1.64001E" width="640" height="360" />
         <Representation id="1_V_video_4" bandwidth="721495" codecs="avc1.640015" width="480" height="270" />
         <Representation id="1_V_video_5" bandwidth="381048" codecs="avc1.64000D" width="320" height="180" />
      </AdaptationSet>
   </Period>
</MPD>

الدفق السلس

فيما يلي مثال لملف بيان "الدفق السلس":

<?xml version="1.0" encoding="UTF-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="2" Duration="703146666" TimeScale="10000000">
   <StreamIndex Chunks="12" Type="audio" Url="QualityLevels({bitrate})/Fragments(aac_eng_2_128041_2_1={start time})" QualityLevels="1" Language="eng" Name="aac_eng_2_128041_2_1">
      <QualityLevel AudioTag="255" Index="0" BitsPerSample="16" Bitrate="128041" FourCC="AACL" CodecPrivateData="1190" Channels="2" PacketSize="4" SamplingRate="48000" />
      <c t="0" d="60160000" r="11" />
      <c d="41386666" />
   </StreamIndex>
   <StreamIndex Chunks="12" Type="video" Url="QualityLevels({bitrate})/Fragments(video={start time})" QualityLevels="5">
      <QualityLevel Index="0" Bitrate="3579827" FourCC="H264" MaxWidth="1280" MaxHeight="720" CodecPrivateData="0000000167640020ACD9405005BB011000003E90000EA600F18319600000000168EBECB22C" />
      <QualityLevel Index="1" Bitrate="2217354" FourCC="H264" MaxWidth="960" MaxHeight="540" CodecPrivateData="000000016764001FACD940F0117EF01100000303E90000EA600F1831960000000168EBECB22C" />
      <QualityLevel Index="2" Bitrate="1154816" FourCC="H264" MaxWidth="640" MaxHeight="360" CodecPrivateData="000000016764001EACD940A02FF9701100000303E90000EA600F162D960000000168EBECB22C" />
      <QualityLevel Index="3" Bitrate="721495" FourCC="H264" MaxWidth="480" MaxHeight="270" CodecPrivateData="0000000167640015ACD941E08FEB011000003E90000EA600F162D9600000000168EBECB22C" />
      <QualityLevel Index="4" Bitrate="381048" FourCC="H264" MaxWidth="320" MaxHeight="180" CodecPrivateData="000000016764000DACD941419F9F011000003E90000EA600F14299600000000168EBECB22C" />
      <c t="0" d="60060000" r="11" />
      <c d="42375666" />
   </StreamIndex>
</SmoothStreamingMedia>

تسمية المسارات في البيان

إذا تم تحديد اسم مسار صوت في ملف ‎.ism، تضيف خدمات الوسائط عنصر Label داخل AdaptationSet لتحديد المعلومات النصية للمسار الصوتي المحدد. مثال على بيان DASH للإخراج:

<AdaptationSet codecs="mp4a.40.2" contentType="audio" lang="en" mimeType="audio/mp4" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  <Label>audio_track_name</Label>
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="131152" id="German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg">
    <BaseURL>German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg.mp4</BaseURL>
  </Representation>
</AdaptationSet>

يمكن للمشغل استخدام عنصر Label للعرض على واجهة المستخدم الخاصة به.

إشارات المقاطع الصوتية لوصف الصوت

يمكنك إضافة مقطع صوتي للسرد إلى الفيديو لمساعدة العملاء ضعاف البصر على متابعة تسجيل الفيديو من خلال الاستماع إلى السرد. تحتاج إلى إضافة تعليق توضيحي لمسار صوتي كوصف صوتي في البيان. للقيام بذلك، أضف معلمات "إمكانية وصول ذوي الاحتياجات الخاصة" و"الدور" إلى ملف ‎.ism. تقع على عاتقك مسؤولية تعيين هذه المعلمات بشكل صحيح للإشارة إلى مقطع صوتي كوصف صوتي. على سبيل المثال، أضف <param name="accessibility" value="description" /> و <param name="role" value="alternate" إلى ملف .ism لمسار صوتي معين.s

بيان الدفق السلس

إذا كنت تقوم بتشغيل دفق سلس للبث، فسيحمل البيان قيماً في سمات Accessibility وRole لهذا المقطع الصوتي. على سبيل المثال، ستتم إضافة Role="alternate" Accessibility="description" في العنصر StreamIndex للإشارة إلى أنه وصف صوتي.

بيان DASH

بالنسبة لبيان DASH، ستتم إضافة العنصرين التاليين للإشارة إلى وصف الصوت:

<Accessibility schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>

قائمة تشغيل HLS

بالنسبة لـ HLS v7 وما فوق (format=m3u8-cmaf)، ستحمل قائمة التشغيل AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" الخاصة بها عند الإشارة إلى مسار الوصف الصوتي.

تصفية البيانات الديناميكية

للتحكم في عدد المسارات والتنسيقات ومرات البت ونوافذ وقت العرض التقديمي التي يتم إرسالها إلى المشغلات، يمكنك استخدام التصفية الديناميكية مع حزمة خدمات الوسائط الديناميكية. لمزيد من المعلومات، راجع التصفية المسبقة للبيانات باستخدام أداة الحزم الديناميكية.

التشفير الديناميكي لإدارة الحقوق الرقمية

يمكنك استخدام التشفير الديناميكي لتشفير المحتوى المباشر أو عند الطلب ديناميكياً باستخدام AES-128 أو أي من أنظمة إدارة الحقوق الرقمية الرئيسية الثلاثة (DRM): Microsoft PlayReady وGoogle Widevine وApple FairPlay. توفر خدمات الوسائط أيضاً خدمة لتسليم مفاتيح AES وتراخيص إدارة الحقوق الرقمية (PlayReady وWidevine وFairPlay) للعملاء المصرح لهم. لمزيد من المعلومات، راجع التشفير الديناميكي.

ملاحظة

Widevine هي خدمة تقدمها شركة .Google Inc وتخضع لشروط الخدمة ونهج الخصوصية الخاصة بشركة Google، Inc.

الحصول على التعليمات والدعم

يمكنك الاتصال بخدمات الوسائط بأسئلة أو اتباع تحديثاتنا بإحدى الطرق التالية: