التنسيقات المعتمدة

عند تحديد التنسيقات المتوافقة مع ExoPlayer، من المهم مراعاة ما يلي: "تنسيقات الوسائط" محددة على مستويات متعددة. من أدنى مستوى إلى الأعلى، وهي:

  • تنسيق عينات الوسائط الفردية (مثل إطار فيديو أو إطار من الصوت). هذه هي نماذج التنسيقات. لاحظ أن ملف الفيديو العادي أن تتضمّن وسائط بتنسيقَين نموذجَين على الأقل واحد للفيديو (على سبيل المثال، H.264) واحدة للصوت (مثلاً، AAC).
  • تنسيق الحاوية التي تضم عينات الوسائط والمعلومات المرتبطة بها بيانات التعريف. وهذه هي تنسيقات الحاويات. يحتوي ملف الوسائط على حاوية واحدة (على سبيل المثال، MP4)، والذي يشار إليه غالبًا من خلال امتداد الملف. ملاحظة بالنسبة إلى بعض تنسيقات المحتوى الصوتي فقط (مثل MP3)، يجب اختيار التنسيقَين هي نفسها.
  • تقنيات البث التكيُّفي، مثل DASH وSmoothStreaming وHLS هذه ليست تنسيقات وسائط على هذا النحو، ولكن لا يزال من الضروري تحديد مستوى الدعم الذي يوفره ExoPlayer.

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

البث التكيُّفي

DASH

يتوافق ExoPlayer مع DASH بتنسيقات حاويات متعددة. يجب أن تكون مجموعات بث الوسائط: واضحة، بمعنى أنه يجب تحديد الفيديو والصوت والنص بطريقة AdaptationSet في بيان DASH (يُعد CEA-608 استثناءً الموضحة في الجدول أدناه). يجب أن تكون تنسيقات نماذج الصوت والفيديو المضمّنة (انظر نماذج التنسيقات للحصول على التفاصيل).

الميزة معلومات معتمَدة التعليقات
الحاويات
FMP4 نعم مجموعات البث بعد إزالة فلترها
WebM نعم مجموعات البث بعد إزالة فلترها
ماتروسكا نعم مجموعات البث بعد إزالة فلترها
MPEG-TS لا ليس هناك دعم مخطط له
الترجمة والشرح
تحويل النص إلى كلام نعم غير مضمّن أو مضمّن في FMP4 وفقًا لمعيار ISO/IEC 14496-30
WebVTT نعم غير مضمّن أو مضمّن في FMP4 وفقًا لمعيار ISO/IEC 14496-30
معيار CEA-608 نعم يتم تضمينها في FMP4 عند الإشارة إليها باستخدام أدوات وصف تسهيل الاستخدام SCTE
معيار CEA-708 نعم يتم تضمينها في FMP4 عند الإشارة إليها باستخدام أدوات وصف تسهيل الاستخدام SCTE
البيانات الوصفية
البيانات الوصفية لـ EMSG نعم مضمّنة في FMP4
حماية المحتوى
Widevine نعم "cenc" المخطط: واجهة برمجة التطبيقات 19+ "cbcs" المخطط: واجهة برمجة التطبيقات 25+
كاميرا Playجاهز SL2000 نعم Android TV ، "cenc" المخطط فقط
مفتاح محو نعم واجهة برمجة التطبيقات 21+، "cenc" المخطط فقط
تشغيل مباشر
تشغيل مباشر عادي نعم
وقت استجابة فائق السرعة (CMAF) نعم
بيانات عميل الوسائط الشائعة (CMCD) نعم دليل الدمج

البث السلس

يتيح ExoPlayer استخدام تقنية SmoothStreaming مع تنسيق حاوية FMP4. مجموعات بث الوسائط بدون التشويش، بمعنى أنه يجب تحديد الفيديو والصوت والنص بطريقة مختلفة عناصر StreamIndex في بيان SmoothStreaming لا يحتوي الصوت يجب أيضًا دعم تنسيقات نماذج الفيديو (انظر نماذج التنسيقات للحصول على التفاصيل).

الميزة معلومات معتمَدة التعليقات
الحاويات
FMP4 نعم مجموعات البث بعد إزالة فلترها
الترجمة والشرح
تحويل النص إلى كلام نعم مضمّنة في FMP4
حماية المحتوى
كاميرا Playجاهز SL2000 نعم Android TV فقط
تشغيل مباشر
تشغيل مباشر عادي نعم
بيانات عميل الوسائط الشائعة (CMCD) نعم دليل الدمج

HLS

يتوافق ExoPlayer مع بروتوكول HLS باستخدام تنسيقات حاويات متعدّدة. لا يحتوي الصوت يجب أيضًا دعم تنسيقات نماذج الفيديو (انظر نماذج التنسيقات للحصول على التفاصيل). أر تشجيع منتجي محتوى HLS على إنشاء مجموعات بث HLS عالية الجودة كما هو موضح هنا.

الميزة معلومات معتمَدة التعليقات
الحاويات
MPEG-TS نعم
FMP4/CMAF نعم
ADTS (AAC) نعم
MP3 نعم
الترجمة والشرح
معيار CEA-608 نعم
معيار CEA-708 نعم
WebVTT نعم
البيانات الوصفية
رقم التعريف 3 نعم
SCTE-35 لا
حماية المحتوى
معيار AES-128 نعم
نموذج AES-128 لا
Widevine نعم واجهة برمجة التطبيقات +19 (مخطّط "cenc") و+25 (مخطط "cbcs")
كاميرا Playجاهز SL2000 نعم Android TV فقط
التحكّم في الخادم
تعديلات دلتا نعم
جارٍ حظر إعادة تحميل قائمة التشغيل نعم
حظر تحميل تلميحات التحميل المُسبق نعم باستثناء نطاقات البايت ذات الأطوال غير المحددة
تشغيل مباشر
تشغيل مباشر عادي نعم
بروتوكول HLS سريع الاستجابة (تفاح) نعم
البث المباشر وفق بروتوكول HTTP (HLS) (المنتدى) لا
بيانات عميل الوسائط الشائعة (CMCD) نعم دليل الدمج

تنسيقات الحاويات التقدمية

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

تنسيق الحاوية معلومات معتمَدة التعليقات
MP4 نعم
التصميم M4A نعم
FMP4 نعم
WebM نعم
ماتروسكا نعم
MP3 نعم في بعض أحداث البث التي يمكن البحث عنها فقط باستخدام وضع التقديم/الترجيع بمعدل نقل بيانات ثابت**
بيضة نعم تحتوي القائمة على Vorbis وOpus وFLAC.
تنسيق WAV نعم
MPEG-TS نعم
MPEG-PS نعم
FLV نعم لا يمكن البحث عنه*
ADTS (AAC) نعم لا يمكن البحث عنها إلا من خلال التقديم المستمر لمعدّل نقل البيانات**
FLAC نعم باستخدام مكتبة FLAC أو أداة استخراج ملفات FLAC في مكتبة ExoPlayer***
دورة AMR نعم لا يمكن البحث عنها إلا من خلال التقديم المستمر لمعدّل نقل البيانات**

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

** تحتوي أدوات استخلاص البيانات هذه على FLAG_ENABLE_CONSTANT_BITRATE_SEEKING علامة مما يتيح البحث التقريبي باستخدام افتراض ثابت لمعدل نقل البيانات. هذا النمط لا تكون الوظيفة مُفعَّلة تلقائيًا. إنّ أبسط طريقة لتفعيل هذا لجميع أدوات الاستخراج التي تتوافق معه، DefaultExtractorsFactory.setConstantBitrateSeekingEnabled، كما هو موضّح هنا.

*** تعمل أداة استخراج مكتبة FLAC على إخراج صوت أوّلي يمكن التعامل معه. من خلال إطار العمل على جميع مستويات واجهة برمجة التطبيقات. نتائج أداة استخراج ملفات FLAC في مكتبة ExoPlayer تعتمد إطارات الصوت بتنسيق FLAC ولذلك على توفُّر برنامج فك ترميز FLAC (على سبيل المثال، MediaCodec برنامج فك الترميز الذي يعالج تنسيق FLAC (مطلوب من المستوى 27 لواجهة برمجة التطبيقات) مكتبة FFmpeg مع تفعيل FLAC). يستخدم DefaultExtractorsFactory أداة استخراج الإضافات إذا تم إنشاء التطبيق باستخدام مكتبة FLAC. وبخلاف ذلك، يتم استخدام أداة استخراج مكتبة ExoPlayer.

RTSP

ويتوافق ExoPlayer مع بروتوكول RTSP للبث المباشر أو عند الطلب. التنسيقات والتنسيقات المتوافقة أنواع الشبكات مدرجة أدناه.

نماذج التنسيقات المتوافقة

  • H264 (يجب أن يشتمل وصف وسائط SDP على بيانات SPS/PPS في ملف fmtp) لإعداد برنامج فك الترميز).
  • AAC (مع بث بت ADTS)
  • AC3.

أنواع الشبكات المتوافقة

  • البث الأحادي عبر بروتوكول RTP عبر UDP (البث المتعدد غير متاح).
  • بروتوكول RTSP، أو بروتوكول RTP، عبر بروتوكول RTSP باستخدام بروتوكول التحكم في الإرسال.

نماذج التنسيقات

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

وبالإضافة إلى برامج فك ترميز نظام Android الأساسي، يمكن لشركة ExoPlayer أيضًا الاستفادة من إضافات فك ترميز البرامج. يجب إنشاؤها يدويًا وتضمينها في المشروعات التي ترغب في الاستفادة منها. نوفر حاليًا برنامجًا لفك ترميز البرامج. مكتبات AV1، VP9، FLAC، Opus، أو FFmpeg.

مكتبة FFmpeg

تتوافق مكتبة FFmpeg فك ترميز مجموعة متنوعة من تنسيقات العينات الصوتية المختلفة. يمكنك اختيار برامج فك الترميز لتضمينها عند إنشاء المكتبة، كما هو موثق في README.md في المكتبة. تشير رسالة الأشكال البيانية تعيين من تنسيق عيّنة الصوت إلى الجدول اسم برنامج فك ترميز FFmpeg.

نموذج التنسيق أسماء برامج فك الترميز
فوربيس فوربيس
Opus أوبوس
FLAC فلاك
قناة ALAC ألاك
قانون PCM pcm_muقانون
قانون PCM pcm_alaw
MP1 وMP2 وMP3 mp3
AMR-NB أمسرنب
AMR-WB أمرروب
الترميز المتقدّم للصوت ملف AAC
AC-3 ac3
معيار E-AC-3 حدث Eac3
تقنية DTS وDTS-HD قانون الألفية الجديدة لحقوق طبع ونشر المواد الرقمية
دقة عالية الدقة MLp truehd

الصور

يتوافق ExoPlayer مع تنسيقات الصور التالية. عرض مكتبات تحميل الصور حول كيفية الدمج مع المكتبات الخارجية التي قد تقدّم دعمًا مجموعة مختلفة من التنسيقات.

تنسيق الصورة معلومات معتمَدة ملاحظات
BMP نعم
ملف GIF لا لا يمكن استخدام أداة الاستخراج
JPEG نعم
صورة متحركة بتنسيق JPEG نعم الصور الثابتة والفيديوهات متاحة
JPEG بدقة فائقة للغاية نعم للرجوع إلى النطاق العادي الديناميكية (SDR) قبل الإصدار Android 14 أو الإصدارات الأحدث شاشات غير مزوّدة بتقنية HDR
PNG نعم
تنسيق WebP نعم
HEIF/HEIC نعم
صورة متحركة HEIC جزئيًا إمكانية استخدام الصور الثابتة فقط*
AVIF (المرجع) نعم تم فك ترميزها على Android 14 أو الإصدارات الأحدث فقط

* يمكن الحصول على جزء الفيديو الخاص بصور حركة HEIC باستخدام MetadataRetriever وتشغيله كملف مستقل.

تنسيقات الترجمة المستقلة

يدعم ExoPlayer ملفات الترجمة المستقلة بتنسيقات مختلفة. الترجمة يمكن تحميلها من متجر خارجي كما هو موضّح في صفحة ملفات الوسائط.

تنسيق الحاوية معلومات معتمَدة نوع MIME
WebVTT نعم أنواع MimeTypes.TEXT_VTT
TTML / SMPTE-TT نعم أنواع MimeTypes.APPLICATION_TTML
SubRip نعم أنواع MimeTypes.APPLICATION_SUBRIP
SubStationAlpha (SSA/ASS) نعم أنواع MimeTypes.TEXT_SSA

تشغيل الفيديو بنطاق عالي الديناميكية

يعالج ExoPlayer استخراج فيديو بنطاق عالي الديناميكية (HDR) في عدة نطاقات بما في ذلك Dolby Vision في MP4 وHDR10+ في Matroska/WebM. فك الترميز ويعتمد عرض محتوى HDR على الدعم من نظام Android الأساسي الخاص بك. عرض تشغيل الفيديو بنطاق عالي الديناميكية (HDR) للتعرّف على كيفية التحقق من إمكانات عرض/فك ترميز المحتوى بتقنية HDR والقيود المفروضة على يتوفر دعم النطاق العالي الديناميكية (HDR) في جميع إصدارات Android.

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