عند تحديد التنسيقات المتوافقة مع 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.