تجيب هذه المقالة على الأسئلة المتداولة حول خدمات وسائط Azure.
إيقاف Azure Media Services
أين يمكنني العثور على مزيد من المعلومات حول إيقاف Azure Media Services؟
التطوير باستخدام عِدد SDK
أين يمكنني العثور على واجهة برمجة تطبيقات خدمات الوسائط وعِدد SDK؟
هل يجب استخدام عِدد SDK للعميل أو الكتابة مباشرةً في واجهة برمجة تطبيقات REST؟
لا نوصي بمحاولة تضمين واجهة برمجة تطبيقات REST لخدمات الوسائط مباشرةً في التعليمات البرمجية للمكتبة الخاصة بك. يتطلب إجراء ذلك بشكل صحيح لأغراض الإنتاج تنفيذ منطق إعادة محاولة Azure Resource Manager بالكامل وفهم كيفية إدارة العمليات طويلة الأمد في واجهات برمجة تطبيقات Resource Manager. تتعامل عِدد SDK للعميل للغات المختلفة - على سبيل المثال، .NET وJava وTypeScript وPython وRupe - مع هذا الأمر تلقائيًا، لتقليل فرص مشكلات منطق إعادة المحاولة أو استدعاءات واجهة برمجة التطبيقات الفاشلة.
أين يمكنني العثور على عينات خدمات الوسائط؟
راجع صفحات العينات. هناك عينات للحساباتوالأصولوالبث المباشروتدفق VODوحماية المحتوىوالترميزوالتحليلات واستخدام اللاعبين.
كيف يعمل الترحيل على مجموعات النتائج الكبيرة (مثل قائمة الأصول) في واجهة برمجة التطبيقات؟
عند استخدام فصل الصفحات، فيجب عليك دائمًا استخدام الارتباط التالي لتعداد المجموعة وعدم الاعتماد على حجم صفحة معين. للحصول على التفاصيل والأمثلة، راجع تصفية الكيانات وترتيبها وترحيلها.
الحسابات
كيف يمكنني استخدام هوية مُدارة لتشفير البيانات إلى خدمات الوسائط؟
للحصول على معلومات حول استخدام Azure CLI لإقران خدمات الوسائط مع Azure Key Vault من أجل تشفير بياناتك، راجع البرنامج التعليمي استخدام مفتاح Key Vault لتشفير البيانات في حساب خدمات الوسائط.
كيف يمكنني استخدام هوية مُدارة لمنح إمكانية الوصول إلى خدمات الوسائط إلى حساب تخزين مقيد؟
إذا كنت تريد أن تصل خدمات الوسائط إلى حساب تخزين عند تكوين حساب التخزين لحظر الطلبات من عناوين IP غير معروفة، فاتبع الخطوات الواردة في الوصول إلى التخزين بهوية مُدارة من خدمات الوسائط.
ما هي عملية نقل حساب خدمات الوسائط بين الاشتراكات؟
الأمان
ما هي أدوار Azure التي يمكنها تنفيذ إجراءات على موارد خدمات الوسائط؟
هل تدعم Media Services التحكم الدقيق في الوصول استنادا إلى الدور (RBAC)؟
تحدد Media Services الأدوار المضمنة التالية:
- مسؤول حساب خدمات الوسائط
- Media Services Media Operator
- مسؤول نهج خدمات الوسائط
- مسؤول نقاط نهاية دفق خدمات الوسائط
- مسؤول الأحداث المباشرة لخدمات الوسائط
يتم تفصيل هذه الأدوار في التحكم في الوصول المستند إلى الدور في Azure (Azure RBAC) لحسابات خدمات الوسائط.
يمكن استخدام هذه الأدوار لمنح حق الوصول الدقيق إلى حساب Media Services. للسماح لجميع الوصول إلى حساب Media Services، يمكن استخدام دور "المالك" أو "المساهم". تحتوي Media Services على واجهة برمجة تطبيقات قديمة على مسار الإهمال لا يدعم التحكم في الوصول الدقيق. يجب على العملاء الذين يحتاجون إلى التحكم في الوصول الدقيق تحديد "تمكين واجهات برمجة التطبيقات الكلاسيكية" عند إنشاء حساب Media Services باستخدام المدخل (أو استخدام إصدار واجهة برمجة التطبيقات 2020-05-01 إذا كانوا يستخدمون واجهة برمجة التطبيقات لإنشاء حسابات).
يمكن استخدام نهج Azure المضمن التالي لمنع إنشاء الحسابات التي تدعم واجهة برمجة التطبيقات القديمة: يجب حظر حسابات Azure Media Services التي تسمح بالوصول إلى واجهة برمجة التطبيقات v2 القديمة - Microsoft Azure
الأصول والتحميل والتخزين
ما هو أصل خدمات الوسائط؟
يُعد أصل خدمات الوسائط حاوية حساب مساحة تخزين Azure التي يتم استخدامها لكل ملف فيديو تقوم بتحميله. كما يحتوي على معرّف فريد يُستخدم مع التحويلات والعمليات الأخرى. راجع الأصول في خدمات وسائط Azure v3.
كيف يمكنني إنشاء أصل خدمات الوسائط؟
في كل مرة تريد فيها تحميل ملف وسائط وإجراء شيء ما به، مثل الترميز أو الدفق، يمكنك إنشاء أصل لتخزين ملف الوسائط والملفات المقترنة به. يتم إنشاء الأصول تلقائيًا لك إذا كنت تستخدم مدخل Microsoft Azure. إذا كنت لا تستخدم المدخل لتحميل الملفات، فيجب عليك إنشاء أصل أولًا.
الترميز
ما تنسيقات الترميز المتوفرة مع خدمات الوسائط؟
تتوفر تنسيقات الترميز الشائعة مع أداة ترميز خدمات الوسائط القياسية. للحصول على قائمة بجميع التنسيقات، راجع تنسيقات الترميز القياسية وبرامج ضغط الوسائط وفكها.
كيف يمكنني إنشاء وظيفة خدمات الوسائط؟
يمكنك إنشاء وظيفة في مدخل Microsoft Azure باستخدام Azure CLI أو REST أو أي من عِدد SDK. راجع نماذج خدمات الوسائط للغة التي تفضلها.
هل يمكنني استخدام خدمات الوسائط لإنشاء سلم معدل البت الذي تم إنشاؤه تلقائيًا؟
هل تدعم خدمات الوسائط الترميز المدرك للمحتوى؟
نعم. يمكن لخدمات الوسائط إجراء تحليل بتمريرين على مقطع فيديو. يمكن بعد ذلك التوصية بأفضل مجموعة معدل بت توافقي ودرجات الدقة وإعدادات الترميز استنادًا إلى محتويات الفيديو.
هل يمكنني استخدام ملف MP4 مشفر خارجيًا أو موجود في خدمات الوسائط؟
نعم. للحصول على تفاصيل وارتباطات إلى نموذج تطبيق يوضح كيفية تحميل ملف MP4 بمعدل بت فردي تم ترميزه مسبقًا وإنشاء بيان الخادم (.ism) وبيان العميل (.ismc)، راجع الإجابة على السؤال "هل يمكنني دفق ملفات MP4 الموجودة التي تم ترميزها مسبقاً أو ترميزها في حل آخر؟" في القسم حول التعبئة والتسليم. تصف هذه الإجابة أيضًا تأثير الأداء على الأصل.
هل يمكن استخدام خدمات الوسائط لترميز محتوى ملف قصير جدًا؟
لا نوصي بذلك. المحتوى القصير جدًا الذي تبلغ مدته أقل من دقيقة أو دقيقتين ليس مثاليًا لدفق معدل البت التوافقي. إذا كنت تنوي دفق الملفات القصيرة جدًا، نوصي بترميز المحتوى مسبقًا بتنسيق يتم دفقه بسهولة باستخدام معدل بت فردي.
نظرًا إلى أن معظم مشغلات معدل البت التوافقي تحتاج إلى الوقت لتخزين مقاطع متعددة من الفيديو مؤقتًا، بالإضافة إلى الوقت اللازم لتحليل النطاق الترددي للشبكة قبل "التحول" لأعلى أو لأسفل سلم معدل البت التوافقي، فمن غير المجدي غالبًا توفير الكثير من معدلات البت للمحتوى الذي تبلغ مدته أقل من 30 ثانية. بحلول الوقت الذي يقوم فيه المشغل بتأمين خوارزمية الموجِّه الخاصة به على معدل البت الصحيح للتشغيل استنادًا إلى شروط الشبكة، سيتم الانتهاء من دفق الملف.
بالإضافة إلى ذلك، تقوم بعض المشغلات افتراضيًا بالتخزين المؤقت حتى ثلاثة مقاطع من الفيديو. يمكن أن يكون طول كل مقطع من ثانيتين إلى ست ثوان. بالنسبة إلى مقاطع الفيديو ذات التنسيق القصير جدًا، من المحتمل أن يقوم المشغل بالتخزين المؤقت وبدء تشغيل أول معدل بت محدد لمجموعة معدل البت التوافقي. لهذا السبب، نوصي باستخدام ملف MP4 بمعدل بت فردي، وتحميله إلى أصل إذا كنت بحاجة إلى إنشاء بيان HLS أو DASH. للحصول على تفاصيل حول كيفية تحقيق ذلك، راجع الإجابة على السؤال "هل يمكنني دفق ملفات MP4 الموجودة التي تم ترميزها مسبقًا أو ترميزها في حل آخر؟" في القسم حول التعبئة والتغليف والتسليم.
من الضروري تسليم الملفات بتنسيق HLS أو DASH فحسب إذا كنت تريد الاستفادة من قدرات هذه البروتوكولات. بالنسبة لتدفقات معدل البت الواحد، لا يزال بإمكانهم تقديم الكثير - مثل البحث الأسرع ودعم إدارة الحقوق الرقمية (DRM) وزيادة صعوبة التنزيل عبر عنوان URL (ولكن لا يزال ممكنا!) من التنزيل التدريجي MP4 في تخزين الكائن الثنائي كبير الحجم. يُعد دعم التسمية التوضيحية لـ VTT وIMASC1 ميزة أخرى. بالإضافة إلى ذلك، فإن القدرة على الربط المتأخر لعمليات الترجمة الصوتية الإضافية، أو الدبلجة بلغات بديلة، تجعل هذا خيارًا قيمًا لبعض المواقف.
كيفية تدوير مقطع فيديو، وحذف مقطع فيديو فرعي، وخياطة مقاطع الفيديو، وإنشاء صور مصغرة وقوالب، وما إلى ذلك؟
إذا كنت تبحث عن طرق لاستخدام أداة ترميز Media Services للقيام بأشياء مثل تدوير مقطع فيديو، والحذف الفرعي لفيديو، وتقسيم مقاطع الفيديو، وإنشاء صور مصغرة وقوالب، فلدينا عدد كبير من نماذج التعليمات البرمجية في صفحة نماذج التعليمات البرمجية . تتضمن اللغات النموذجية المتوفرة Node.JS وPython و.NET وJava.
نقل مستمر مباشر
ما هو الحدث المباشر لخدمات الوسائط؟
الحدث المباشر لخدمات الوسائط هو عملية استيعاب موجزات الفيديو المباشرة وبثها من خلال بروتوكول RTMPS أو التدفق السلس. لمزيد من المعلومات، راجع الأحداث المباشرة والمخرجات المباشرة في خدمات الوسائط.
كيف يمكنني إنشاء حدث مباشر لخدمات الوسائط؟
تتمثل الخطوة الأولى في اختيار أداة ترميز محلية. لقد قدمنا أمثلة لإنشاء حدث مباشر باستخدام Wirecast وOBS. إذا كنت تفضل البدء بنظرة عامة على الأحداث المباشرة لخدمات الوسائط، فراجع أنواع الأحداث المباشرة.
كيف يمكنني إجراء كتابة مباشرة مع حدث مباشر لخدمات الوسائط؟
توفر خدمات وسائط Azure الفيديو والصوت والنص في بروتوكولات متنوعة. عندما تنشر البث المباشر باستخدام MPEG-DASH أو HLS/CMAF، فبالإضافة إلى الفيديو والصوت، تقدم الخدمات النص المكتوب بتنسيق TTML المتوافق مع IMSC1.1. لمزيد من المعلومات، راجع كتابة الحديث المباشرة.
كيف يمكنني مراقبة سلامة حدثي المباشر؟
يمكنك مراقبة الأحداث المباشرة عن طريق الاشتراك في أحداث Azure Event Grid. لمزيد من المعلومات، راجع مخطط حدث خطوط شبكة الأحداث. يمكنك إما أن:
- اشترك في أحداث Microsoft.Media.LiveEventEncoderDisconnected على مستوى الدفق وراقب عدم وجود عمليات إعادة اتصال لفترة من الوقت لإيقاف الحدث المباشر وحذفه.
- اشترك في أحداث رسالة كشف أخطاء الاتصال على مستوى المقطع الصوتي. إذا كانت جميع المقاطع الصوتية تحتوي على معدل بت وارد ينخفض إلى 0 أو لم يعد الطابع الزمني الأخير يتزايد، فيمكنك إيقاف تشغيل الحدث المباشر بأمان. تأتي أحداث رسالة كشف أخطاء الاتصال كل 20 ثانية لكل مقطع صوتي، لذلك قد تكون مطوّلة قليلًا.
هل يمكنني إعادة استخدام نفس عنوان URL للدفق عند إعادة تشغيل حدث مباشر؟
لا، لا يمكنك بسهولة استخدام نفس عنوان URL للدفق إذا قمت بإيقاف وبدء حدث مباشر. في كل مرة تقوم فيها بإنشاء إخراج (وأصل) مباشر جديد ونشره، سيتم استخدام عنوان URL جديد للدفق (GUID) لمحدد الموقع الجديد. بهذه الطريقة، تكون متأكد من أنه لن يكون هناك أي تعارض في ذاكرة التخزين المؤقت في نقطة نهاية الدفق وشبكة تسليم المحتوى (CDN). يمكنك إعداد (ومعرفة) عناوين URL للدفق مسبقًا لأنه يمكنك فرض GUID معين لمحدد موقع الدفق، ثم تحديد اسم البيان لاستخدامه للإخراج المباشر.
لنفترض أنك قررت استخدام GUID 1a7ed69e-a361-433d-8a56-29c61872744f للإخراج المباشر الذي ستقوم بإنشائه غدًا. عندما يأتي ذلك اليوم، يمكنك بدء الحدث المباشر وإنشاء إخراج مباشر. يمكنك أن تقرر استخدام "conference1" للبيان وفرض GUID لمحدد الموقع.
يمكن التنبؤ بعنوان URL للدفق وهو http://<youraccountname>-<azureregion>.streaming.media.azure.net/1a7ed69e-a361-433d-8a56-29c61872744f/conference1.ism/manifest
.
لا يمكنك إعادة استخدام نفس الإخراج المباشر أو الأصل عدة مرات. فكر في الجمع بين الأصل والإخراج المباشر كسجل شريط. بعد تسجيل الإخراج المباشر إلى الأصل، لا يمكنك إعادة استخدامه لتسجيل آخر. سيكون ثمة تعارض بين الكائنات الثنائية كبيرة الحجم أو الكتابة فوقها إذا قمت بذلك مرة أخرى. ما لم تكن تخطط لمسح الكائنات الثنائية كبيرة الحجم بالكامل في حساب التخزين، ومسح CDN تمامًا، فستكون هناك مشكلات. من المحتمل أن تظل هناك مشكلات لأن الأجزاء هي مراحل نهائية مخزنة مؤقتًا بالفعل على CDN أو في ذاكرات التخزين المؤقت لجهاز العميل (على سبيل المثال، ذاكرة التخزين المؤقت للمتصفح).
التعبئة والتغليف والتسليم
قمت بتحميل فيديو وترميزه ونشره. لماذا لا يتم تشغيل الفيديو عندما أحاول دفقه؟
أحد الأسباب الأكثر شيوعًا هو أنه ليست لديك نقطة نهاية الدفق التي تحاول تشغيلها مرة أخرى في حالة التشغيل.
ما هي نقطة نهاية دفق خدمات الوسائط؟
في خدمات الوسائط، تمثل نقطة نهاية البث خدمة تعبئة وأصل ديناميكية (في نفس الوقت) يمكنها تقديم المحتوى المباشر وعند الطلب مباشرةً إلى تطبيق مشغل العميل باستخدام أحد بروتوكولات وسائط الدفق الشائعة (HLS أو DASH) بالإضافة إلى ذلك، توفر نقطة نهاية الدفق تشفيرًا ديناميكيًا (في نفس الوقت) لأنظمة DRM الرائدة في المجال. لمزيد من المعلومات، راجع نقاط نهاية الدفق (الأصل) في خدمات وسائط Azure.
ما هو محدد موقع دفق خدمات الوسائط؟
لجعل مقاطع الفيديو متاحة للعملاء للتشغيل، يجب عليك إنشاء محدد موقع الدفق ثم إنشاء عناوين URL للدفق. تُستخدم محددات مواقع البث أيضًا لتطبيق نُهج الدفق التي تحتوي على قواعد لطريقة استهلاك ملفات الوسائط.
كيف يمكنني إنشاء محدد موقع دفق خدمات الوسائط؟
لإنشاء عنوان URL للدفق، يمكنك أولًا إنشاء محدد موقع دفق. ثم تقوم بتوصيل اسم مضيف نقطة نهاية الدفق ومسار محدد موقع الدفق.
ما هو نهج الدفق؟
تتيح لك نُهج الدفق تحديد بروتوكولات الدفق وخيارات التشفير الخاصة بمحددات مواقع الدفق. توفر خدمات الوسائط v3 بعض نُهج الدفق المحددة مسبقًا. لمزيد من المعلومات، راجع نُهج الدفق.
كيف يمكنني إنشاء نهج دفق خدمات الوسائط؟
للحصول على قائمة بالنُهج المحددة مسبقًا التي يمكنك استخدامها للبدء، راجع نُهج الدفق.
كيف يمكنني دفق محتوى بتنسيق HLS إلى أجهزة Apple؟
تأكد من أن لديك (format=m3u8-cmaf) في نهاية المسار (بعد جزء /manifest من عنوان URL) لإخبار ملقم الأصل للدفق بإرجاع محتوى HLS للاستهلاك على أجهزة Apple iOS الأصلية. للحصول على التفاصيل، راجع تسليم المحتوى.
هل يمكنني دفق ملفات MP4 الموجودة التي تم ترميزها مسبقًا أو ترميزها في حل آخر؟
نعم، يدعم ملقم أصل خدمات الوسائط (نقطة نهاية الدفق) التعبئة الديناميكية لملفات MP4 بتنسيق دفق HLS أو DASH. مع ذلك، يجب ترميز المحتوى بتنسيق GOP مغلق، مع مجموعات GOP قصيرة في نطاق المدة من ثانيتين إلى ست ثوان. نوصي بالإعدادات التالية: مجموعات GOP لمدة ثانيتين، والحد الأقصى للإطار الأساس والحد الأدنى للمسافة لمدة ثانيتين، وترميز معدل البت الثابت (وضع CBR). يمكن دعم معظم المحتوى بهذا التنسيق الذي يتم ترميزه من خلال برنامج ضغط الوسائط وفكها للفيديو H.264 أو HEVC، إلى جانب تنسيق صوت AAC. قد يتم أيضًا دعم تنسيقات الصوت الإضافية التي تم ترميزها مسبقاً، مثل Dolby DD+.
مفتاح نجاح ذلك هو إنشاء أصل، وتحميل الأصول التي تم ترميزها مسبقاً في حاوية الأصل باستخدام عِدد SDK لعميل مخزن البيانات الثنائية الكبيرة الحجم في Azure، ثم إنشاء بيان الخادم المطلوب (.ism) وملفات بيان العميل. للحصول على التفاصيل، راجع عينة مشروع .NET في دفق ملفات MP4 الموجودة.
ضع في اعتبارك أن ثمة آثارًا مترتبة على الأداء عند استخدام هذا الأسلوب، لأن أداة الترميز المضمنة في خدمات الوسائط تنشئ أيضاً فهارس ثنائية (ملفات mpi.) تحسّن وقت الوصول إلى ملفات MP4. بدون هذه الملفات، يمكن للخادم استخدام CPU أكثر قليلًا عند التحميل العالي. لمزيد من المعلومات، راجع دفق ملف MP4 بمعدل بت فردي موجود باستخدام HLS أو Dash.
عند التوسع باستخدام هذا الأسلوب، فيجب عليك مراقبة تحميل CPU لنقطة النهاية المتدفقة. إذا كنت تخطط للانتقال إلى الإنتاج باستخدام مكتبة كبيرة من ملفات MP4 التي تم ترميزها مسبقًا خارج خدمات الوسائط، فقم بتقديم تذكرة دعم لمراجعة البنية وطرح أسئلة حول طرق تحسين أداء ملقم الأصل لمحتوى MP4 الذي تم ترميزه مسبقًا.
هل ستستمر محددات مواقع البث في الإصدار 2 في العمل بعد فبراير 2024؟
ستستمر محددات مواقع البث التي تم إنشاؤها باستخدام الإصدار 2 API في العمل بعد إيقاف تشغيل الإصدار 2 API. بمجرد إنشاء بيانات Streaming Locator في قاعدة بيانات Media Services الخلفية، لا يوجد اعتماد على الإصدار 2 REST API للتدفق. لن نزيل سجلات خاصة بالإصدار 2 من قاعدة البيانات عند إيقاف تشغيل الإصدار 2 في فبراير 2024.
هناك بعض خصائص الأصول ومحددات المواقع التي تم إنشاؤها باستخدام الإصدار 2 والتي لا يمكن الوصول إليها أو تحديثها باستخدام واجهة برمجة التطبيقات الجديدة الإصدار 3. على سبيل المثال، يكشف الإصدار 2 عن واجهة برمجة تطبيقات Asset Files التي لا تحتوي على ميزة مكافئة في الإصدار 3 API. غالباً لا تمثل هذه مشكلة لمعظم عملائنا، نظراً لأنها ليست ميزة مستخدمة على نطاق واسع ولا يزال بإمكانك دفق محددات المواقع القديمة وحذفها عندما لا تكون هناك حاجة إليها.
بعد الترحيل، يجب تجنب إجراء أي استدعاءات إلى الإصدار 2 API لتعديل محددات مواقع البث أو الأصول.
حماية المحتوى
كيف يمكنني تقديم محتوى الوسائط الخاص بي باستخدام التشفير الديناميكي؟
يعمل التشفير الديناميكي على تأمين الوسائط الخاصة بك منذ الوقت الذي تغادر فيه جهاز الكمبيوتر الخاص بك طوال الطريق من خلال التخزين والمعالجة والتسليم. باستخدام خدمات الوسائط، يمكنك تقديم المحتوى المباشر الخاص بك والمشفّر عند الطلب ديناميكيًا باستخدام مقاييس التشفير المتقدمة (AES-128) أو أي من أنظمة DRM الثلاثة الرئيسة: Microsoft PlayReady وGoogle Widevine وApple FairPlay. لمزيد من المعلومات، راجع حماية المحتوى الخاص بك باستخدام التشفير الديناميكي لخدمات الوسائط.
هل يجب علي استخدام تشفير مفتاح AES-128 الواضح أو نظام DRM؟
غالبًا يتساءل العملاء عما إذا كان يجب عليهم استخدام تشفير AES أو نظام DRM. الفرق الرئيس بين النظامين هو أنه مع تشفير AES، يتم إرسال مفتاح المحتوى إلى العميل عبر TLS. يتم تشفير المفتاح أثناء النقل دون أي تشفير إضافي ("بشكل واضح"). نتيجة لذلك، يمكن لمشغل العميل الوصول إلى المفتاح المستخدم لفك تشفير المحتوى ويمكن عرضه في تتبع الشبكة على العميل في نص عادي. يعد تشفير المفتاح الواضح AES-128 مناسبًا لحالات الاستخدام التي يكون فيها المشاهد طرفاً موثوقًا به (على سبيل المثال، تشفير مقاطع فيديو الشركة الموزعة داخل شركة ليراها الموظفون).
توفر أنظمة DRM مثل PlayReady وWidevine وFairPlay مستوى إضافيًا من التشفير على المفتاح المستخدم لفك تشفير المحتوى، مقارنةً بمفتاح AES-128 الواضح. يتم تشفير مفتاح المحتوى إلى مفتاح محمي بواسطة وقت تشغيل DRM بالإضافة إلى أي تشفير على مستوى النقل يوفره TLS. تتم معالجة فك التشفير في بيئة آمنة على مستوى نظام التشغيل، إذ يكون من الصعب على المستخدم الضار الهجوم. نوصي بنظام DRM لحالات الاستخدام، إذ قد لا يكون العارض طرفًا موثوقًا به وتحتاج إلى أعلى مستوى من الأمان.
كيف يمكنني إظهار فيديو للمستخدمين الذين لديهم إذن معين فحسب، دون استخدام Azure AD؟
ليس عليك استخدام أي موفر رمز مميز معين مثل Azure Active Directory (Azure AD). يمكنك إنشاء موفر JWT خاص بك (ما يُسمى خدمة الرمز المميز الآمن أو STS) باستخدام تشفير المفتاح غير المتماثل. في STS المخصص لديك، يمكنك إضافة مطالبات استنادًا إلى منطق تسلسل عملك.
تأكد من أن مصدر الشهادة والجمهور والمطالبات تتطابق تمامًا بين ما هو موجود في JWT والقيمة ContentKeyPolicyRestriction
المستخدمة في ContentKeyPolicy
.
لمزيد من المعلومات، راجع حماية المحتوى الخاص بك باستخدام التشفير الديناميكي لخدمات الوسائط.
كيف وأين يمكنني الحصول على رمز JWT المميز قبل استخدامه لطلب ترخيص أو مفتاح؟
بالنسبة إلى الإنتاج، أنت بحاجة إلى خدمة الرمز المميز الآمن (أي خدمة ويب)، والتي تصدر رمز JWT المميز بناءً على طلبات HTTP. بالنسبة إلى الاختبار، يمكنك استخدام التعليمات البرمجية الموضحة الأسلوب GetTokenAsync
المحدد في Program.cs.
بعد مصادقة المستخدم، يقدم المشغل طلبًا إلى STS لمثل هذا الرمز المميز ويعيّنه كقيمة للرمز المميز. يمكنك استخدام واجهة برمجة تطبيقات Azure Media Player.
للحصول على مثال لتشغيل STS باستخدام مفتاح متماثل أو مفتاح غير متماثل، راجع أداة JWT. للحصول على مثال لمشغل يستند إلى Azure Media Player الذي يستخدم رمز JWT المميز هذا، راجع أداة اختبار وسائط Azure. (قم بتوسيع ارتباط player_settings للاطلاع على إدخال الرمز المميز.)
كيف يمكنني تخويل طلبات دفق الفيديوهات باستخدام تشفير AES؟
النهج الصحيح هو استخدام خدمة الرمز المميز الآمن. في STS، اعتمادًا على ملف تعريف المستخدم، أضف مطالبات مختلفة (مثل "المستخدم المتميز" أو "المستخدم الأساس" أو "مستخدم الإصدار التجريبي"). من خلال مطالبات مختلفة في JWT، يمكن للمستخدم الاطلاع على محتويات مختلفة. بالنسبة إلى المحتويات أو الأصول المختلفة، ContentKeyPolicyRestriction
سيكون لها القيمة المقابلة RequiredClaims
.
استخدم واجهات برمجة تطبيقات خدمات وسائط Azure لتكوين الترخيص/تسليم المفتاح وتشفير أصولك (كما هو موضح في هذه العينة).
لماذا يتم تشغيل الصوت فحسب ليس الفيديو عندما أستخدم وضع FairPlay دون اتصال؟
يبدو أن هذا السلوك يرجع إلى تصميم نموذج العينة. عندما يكون هناك مسار صوت بديل (وهو الحالة لـ HLS) أثناء وضع عدم الاتصال، يكون كل من iOS 10 وiOS 11 افتراضيين على مسار الصوت البديل. للتعويض عن هذا السلوك في وضع FPS دون اتصال، قم بإزالة مسار الصوت البديل من الدفق. لإجراء ذلك على خدمات الوسائط، أضف عامل تصفية البيان الديناميكي audio-only=false. بعبارة أخرى، ينتهي عنوان URL لـ HLS بـ .ism/manifest(format=m3u8-aapl,audio-only=false).
لماذا يقوم FairPlay دون اتصال بتشغيل الصوت بدون وضع الفيديو بعد إضافة audio-only=false؟
اعتمادًا على تصميم مفتاح ذاكرة التخزين المؤقت لشبكة تسليم المحتوى، قد يتم تخزين المحتوى مؤقتًا. امسح ذاكرة التخزين المؤقت.
ما هي بنية الملف التي تم تنزيلها/دون اتصال على أجهزة iOS؟
تبدو بنية الملف التي تم تنزيلها على جهاز iOS مثل لقطة الشاشة التالية. يخزن مجلد _keys تراخيص FPS التي تم تنزيلها، مع ملف مخزن واحد لكل مضيف خدمة ترخيص. يخزن مجلد .movpkg محتوى الصوت والفيديو.
يحتوي المجلد الأول الذي يحمل اسمًا ينتهي بشرطة متبوعة برقم على محتوى فيديو. القيمة الرقمية هي ذروة النطاق الترددي لتسليمات الفيديو. يحتوي المجلد الثاني الذي يحمل اسمًا ينتهي بشرطة متبوعة بـ 0 على محتوى صوتي. يحتوي المجلد الثالث المسمى Data على قائمة التشغيل الرئيسة لمحتوى FPS. وأخيرًا، يوفر boot.xml وصفًا كاملاً لمحتوى مجلد .movpkg.
فيما يلي عينة ملف boot.xml:
<?xml version="1.0" encoding="UTF-8"?>
<HLSMoviePackage xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://apple.com/IMG/Schemas/HLSMoviePackage" xsi:schemaLocation="http://apple.com/IMG/Schemas/HLSMoviePackage /System/Library/Schemas/HLSMoviePackage.xsd">
<Version>1.0</Version>
<HLSMoviePackageType>PersistedStore</HLSMoviePackageType>
<Streams>
<Stream ID="1-4DTFY3A3VDRCNZ53YZ3RJ2NPG2AJHNBD-0" Path="1-4DTFY3A3VDRCNZ53YZ3RJ2NPG2AJHNBD-0" NetworkURL="https://example.streaming.mediaservices.windows.net/e7c76dbb-8e38-44b3-be8c-5c78890c4bb4/MicrosoftElite01.ism/QualityLevels(127000)/Manifest(aac_eng_2_127,format=m3u8-aapl)">
<Complete>YES</Complete>
</Stream>
<Stream ID="0-HC6H5GWC5IU62P4VHE7NWNGO2SZGPKUJ-310656" Path="0-HC6H5GWC5IU62P4VHE7NWNGO2SZGPKUJ-310656" NetworkURL="https://example.streaming.mediaservices.windows.net/e7c76dbb-8e38-44b3-be8c-5c78890c4bb4/MicrosoftElite01.ism/QualityLevels(161000)/Manifest(video,format=m3u8-aapl)">
<Complete>YES</Complete>
</Stream>
</Streams>
<MasterPlaylist>
<NetworkURL>https://example.streaming.mediaservices.windows.net/e7c76dbb-8e38-44b3-be8c-5c78890c4bb4/MicrosoftElite01.ism/manifest(format=m3u8-aapl,audio-only=false)</NetworkURL>
</MasterPlaylist>
<DataItems Directory="Data">
<DataItem>
<ID>CB50F631-8227-477A-BCEC-365BBF12BCC0</ID>
<Category>Playlist</Category>
<Name>master.m3u8</Name>
<DataPath>Playlist-master.m3u8-CB50F631-8227-477A-BCEC-365BBF12BCC0.data</DataPath>
<Role>Master</Role>
</DataItem>
</DataItems>
</HLSMoviePackage>
كيف يمكنني تقديم تراخيص ثابتة (مُمكَّنة دون اتصال) لبعض العملاء أو المستخدمين والتراخيص غير الثابتة (معطّل دون اتصال) للآخرين؟ هل يجب علي تكرار المحتوى واستخدام مفتاح محتوى منفصل؟
نظرًا إلى أن خدمات وسائط v3 تسمح لأحد الأصول أن يكون له مثيلات StreamingLocator
متعددة، يمكنك الحصول على:
- مثيل
ContentKeyPolicy
واحد معlicense_type = "persistent"
،ContentKeyPolicyRestriction
مع مطالبة على"persistent"
، ومثيلهStreamingLocator
. - مثيل
ContentKeyPolicy
آخر معlicense_type="nonpersistent"
،ContentKeyPolicyRestriction
مع مطالبة على"nonpersistent
، ومثيلهStreamingLocator
. - مثيلان
StreamingLocator
لهما قيمContentKey
مختلفة.
اعتمادًا على منطق تسلسل العمل الخاص بخدمة STS المخصصة، يتم إصدار مطالبات مختلفة في رمز JWT المميز. باستخدام الرمز المميز، يمكن الحصول على الترخيص المقابل فحسب ويمكن تشغيل عنوان URL المقابل فحسب.
ما هو التعيين بين مستويات أمان Widevine وخدمات وسائط DRM؟
تحدد نظرة عامة على تصميم Widevine DRM في Google ثلاث مستويات أمان. مع ذلك، فإن مستندات وسائط خدمة Azure على عينة ترخيص Widevine توضح خمسة مستويات أمان (متطلبات قوة العميل للتشغيل).
تحدد Google Widevine كلا مجموعتي مستويات الأمان. الاختلاف في مستوى الاستخدام: البنية أو واجهة برمجة التطبيقات. يتم استخدام مستويات الأمان الخمسة في واجهة برمجة تطبيقات Widevine. تقوم خدمة ترخيص Widevine لخدمات وسائط Azure بإلغاء تسلسل العنصر content_key_specs
، الذي يحتوي على security_level
، ويمرره إلى خدمة التسليم العمومية Widevine. يوضح الجدول أدناه التعيين بين مجموعتين من مستويات الأمان.
مستويات الأمان المحددة في بنية Widevine | مستويات الأمان المستخدمة في واجهة برمجة تطبيقات Widevine |
---|---|
مستوى الأمان 1: يتم تنفيذ جميع معالجات المحتوى والتشفير والتحكم داخل بيئة التنفيذ الموثوق بها (TEE). في بعض نماذج التنفيذ، قد يتم تنفيذ معالجة الأمان في شرائح مختلفة. |
security_level=5: يجب التعامل مع التشفير وفك التشفير وجميع معالجات الوسائط (المضغوطة وغير المضغوطة) داخل TEE المدعوم من الأجهزة. security_level=4: يجب إجراء تشفير المحتوى وفك ترميزه داخل TEE المدعوم من الأجهزة. |
مستوى الأمان 2: يتم تنفيذ التشفير (ولكن ليس معالجة الفيديو) داخل TEE. يتم إرجاع المخازن المؤقتة التي تم فك تشفيرها إلى مجال التطبيق ومعالجتها من خلال أجهزة فيديو أو برامج منفصلة. مع ذلك، في المستوى 2، لا تزال تتم معالجة معلومات التشفير داخل TEE فحسب. | security_level=3: يجب إجراء عمليات مواد المفتاح والتشفير داخل TEE المدعوم من الأجهزة. |
مستوى الأمان 3: لا يوجد TEE على الجهاز. يمكن اتخاذ التدابير المناسبة لحماية معلومات التشفير والمحتوى المشفر على نظام التشغيل المضيف. قد يتضمن تنفيذ المستوى 3 أيضًا محرك تشفير الأجهزة، لكن هذا يعزز الأداء فحسب ليس الأمان. |
security_level=2: مطلوب تشفير البرامج وأداة فك تشفير مبهمة. security_level=1: مطلوب تشفير الصندوق الأبيض المستند إلى البرامج. |
المراقبة
كيف يمكنني مراقبة موارد خدمات الوسائط الخاصة بي؟
استخدم Azure Monitor لتعقب ما يحدث مع موارد خدمات الوسائط. لمزيد من المعلومات، راجع مراقبة خدمات الوسائط. يتم سرد كيفية إدراج الدلائل في نهاية الصفحة.
كيف يمكنني مراقبة الأحداث المباشرة لخدمات الوسائط الخاصة بي؟
استخدم Azure Event Grid لمراقبة الحدث المباشر بدون خدمة تحقق. راجع إنشاء أحداث خدمات الوسائط ومراقبتها باستخدام Event Grid باستخدام مدخل Microsoft Azure.
المشغلات
أي مشغلات الوسائط التي يمكنني استخدامها مع خدمات وسائط Azure؟
تعمل Media Services مع العديد من اللاعبين. راجع قائمة مشغلات الوسائط المتوافقة أو جرب عينات لاعب الطرف الثالث.
توفّر عالٍ
هل تدعم خدمات الوسائط قابلية الوصول العالية؟
للحصول على معلومات حول خدمات الوسائط وقابلية الوصول العالية، راجع قابلية الوصول العالية مع خدمات الوسائط والفيديو عند الطلب (VOD).
الترحيل من v2
كيف يمكنني الترحيل من خدمات الوسائط v2 إلى خدمات الوسائط v3؟
لقد أنشأنا دليلًا شاملًا للترحيل من v2 إلى v3. مهتمون بمعرفة تجربة الترحيل واحتياجاتك، لذلك لا تتردد في تقديم الملاحظات عبر مشكلة GitHub أو تذكرة الدعم.
استكشاف الأخطاء وإصلاحها
كيف يمكنني معرفة معنى رمز الخطأ هذا؟
لقد وثقَّنا رموز الخطأ في المراجع التالية: رموز خطأ نقطة نهاية الدفق ورموز خطأ الحدث المباشر ورموز خطأ الوظيفة. إذا لم تتمكن من العثور على إجابات هناك، فيُرجى إنشاء تذكرة دعم.
كيف يمكنني إعادة ضبط بيانات اعتماد حسابي؟
تقديرات الفواتير والتكلفة
كم تكلفة خدمات الوسائط؟
راجع دليل تسعير خدمات الوسائط.
الحصص والقيود
ما هي الحصص والحدود المتوفرة لخدمات الوسائط؟
بيانات العملاء والتوافق
هل تخزن خدمات الوسائط أي بيانات عملاء خارج منطقة الخدمة؟
يرفق العملاء حسابات التخزين الخاصة بهم بحسابات خدمات وسائط Azure الخاصة بهم. يتم تخزين جميع بيانات الأصول في حسابات التخزين المرتبطة هذه، ويتحكم العميل في موقع النسخ المتماثل لهذا التخزين ونوعه.
يتم تخزين البيانات الإضافية المرتبطة بحساب خدمات الوسائط (بما في ذلك مفاتيح تشفير المحتوى ومفاتيح التحقق من الرمز المميز وعناوين URL لـ JobInputHttp وبيانات تعريف الكيان الأخرى) في التخزين المملوك لـ Microsoft داخل المنطقة المحددة لحساب خدمات الوسائط.
بسبب متطلبات موقع البيانات في جنوب البرازيل وجنوب شرق آسيا، يتم تخزين بيانات الحساب الإضافية بطريقة ذات تكرار مرتفع ويتم تضمينها في منطقة واحدة. بالنسبة إلى جنوب شرق آسيا، يتم تخزين جميع بيانات الحساب الإضافية في سنغافورة. بالنسبة إلى جنوب البرازيل، يتم تخزين جميع البيانات في البرازيل. في مناطق أخرى غير جنوب البرازيل وجنوب شرق آسيا، قد يتم أيضًا تخزين بيانات الحساب الإضافية في التخزين المملوك لـ Microsoft في المنطقة المقترنة.
هل توفر خدمات الوسائط قابلية وصول عالية أو نسخة متماثلة للبيانات؟
تمثل خدمات وسائط Azure خدمة إقليمية ولا توفر قابلية وصول عالية أو نسخة متماثلة للبيانات. نشجع العملاء الذين يحتاجون إلى هذه الميزات على إنشاء حل باستخدام حسابات خدمات الوسائط في مناطق متعددة. تتوفر عينة توضح كيفية إنشاء حل لقابلية وصول عالية مع فيديو خدمات الوسائط عند الطلب كدليل.