يوضّح هذا المستند برامج الترميز الخاصة بالوسائط والحاويات وبروتوكولات الشبكة التي يتيحها نظام Android الأساسي.
توضّح الجداول أدناه توافق تنسيقات الوسائط المضمّنة في نظام Android الأساسي. تعني "نعم" أنّ التنسيق متاح على الأجهزة المحمولة والأجهزة اللوحية التي تعمل بجميع إصدارات Android. في حال تحديد نظام Android أساسي معيّن، يتوفّر التنسيق على الهواتف والأجهزة اللوحية التي تعمل بهذا الإصدار وجميع الإصدارات الأحدث. قد يكون التنسيق متاحًا أيضًا في الإصدارات السابقة، ولكن لا يمكننا ضمان ذلك. قد يختلف مدى توفّر تنسيقات الوسائط على أشكال الأجهزة الأخرى غير الهواتف والأجهزة اللوحية.
يُرجى العِلم أنّ جهازًا جوّالاً معيّنًا قد يتيح استخدام تنسيقات أو أنواع ملفات إضافية غير مُدرَجة في هذه الجداول. بالإضافة إلى ذلك، إذا كنت تستخدم MediaCodec مباشرةً، يمكنك الوصول إلى أي من تنسيقات الوسائط المتاحة بغض النظر عن أنواع الملفات وتنسيقات الحاويات المتوافقة.
الدعم الصوتي
| التنسيق | برنامج الترميز | جهاز فك الترميز | أنواع الملفات وتنسيقات الحاويات | التفاصيل | |
|---|---|---|---|---|---|
| أداة الاستخراج | Muxer | ||||
| AAC LC | نعم | نعم |
• 3GPP (.3gp) • ADTS raw AAC (.aac، غير متاح مع ADIF) • MPEG-TS (.ts، لا يمكن البحث فيه، الإصدار 3.0 من نظام التشغيل Android أو الإصدارات الأحدث) |
• 3GPP (.3gp) • ADTS raw AAC (.aac، لا يتوافق مع ADIF) • MPEG-TS (غير متأكّد) (.ts، لا يمكن البحث فيه، الإصدار 3.0 من نظام التشغيل Android أو الإصدارات الأحدث) |
إتاحة المحتوى أحادي القناة أو الثنائي القناة أو 5.0 أو 5.1 بمعدّلات بيانات في الملف الصوتي تتراوح بين 8 و48 كيلوهرتز |
| HE-AACv1 (AAC+) | Android 4.1 أو إصدار أحدث | نعم | |||
| HE-AACv2 (الترميز المتقدّم للصوت المحسّن+) | نعم | إتاحة محتوى استريو/5.0/5.1 بمعدّلات بيانات في الملف الصوتي تتراوح بين 8 و48 كيلو هرتز | |||
| xHE-AAC | الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث | إتاحة محتوى يصل إلى 8 قنوات بمعدّلات بيانات في الملف الصوتي تتراوح بين 8 و48 كيلوهرتز | |||
| AAC ELD (الترميز المتقدّم للصوت مع تأخير منخفض محسّن) | Android 4.1 أو إصدار أحدث | Android 4.1 أو إصدار أحدث | إتاحة المحتوى الأحادي/الاستيريو بمعدّلات بيانات في الملف الصوتي عادية تتراوح بين 16 و48 كيلوهرتز | ||
| AMR-NB | نعم | نعم |
• 3GPP (.3gp) • AMR (.amr) |
• 3GPP (.3gp) • AMR (.amr) |
من 4.75 إلى 12.2 كيلوبت في الثانية، تم أخذ عينات بمعدل 8 كيلوهرتز |
| AMR-WB | نعم | نعم | 9 معدّلات تتراوح بين 6.60 كيلوبت في الثانية و23.85 كيلوبت في الثانية بمعدّل بيانات في الملف الصوتي يبلغ 16 كيلوهرتز | ||
| FLAC | Android 4.1 أو إصدار أحدث | Android 3.1 أو إصدار أحدث |
• FLAC (.flac) • MPEG-4 (.mp4 و.m4a وAndroid 10 والإصدارات الأحدث) • Matroska (.mkv) |
أحادي/استيريو (بدون قنوات متعددة) معدّلات البيانات التي تصل إلى 48 كيلوهرتز (ولكن يُنصح باستخدام معدّل يصل إلى 44.1 كيلوهرتز على الأجهزة التي يبلغ معدّل إخراجها 44.1 كيلوهرتز، لأنّ أداة خفض معدّل البيانات من 48 إلى 44.1 كيلوهرتز لا تتضمّن فلتر تمرير منخفض). يُنصح باستخدام 16 بت، ولا يتم تطبيق التمويه على 24 بت. | |
| MIDI | نعم |
• النوعان 0 و1 (.mid و.xmf و.mxmf) • RTTTL/RTX (.rtttl و.rtx) • OTA (.ota) • iMelody (.imy) |
النوعان 0 و1 من MIDI الإصداران 1 و2 من DLS XMF وMobile XMF التوافق مع تنسيقات نغمات الرنين RTTTL/RTX وOTA وiMelody | ||
| MP3 | نعم |
• MP3 (.mp3) • MPEG-4 (.mp4 و.m4a وAndroid 10 والإصدارات الأحدث) • Matroska (.mkv وAndroid 10 والإصدارات الأحدث) |
صوت أحادي/استيريو بمعدل نقل بيانات ثابت (CBR) أو متغيّر (VBR) يتراوح بين 8 و320 كيلوبت في الثانية | ||
| Opus | Android 10 والإصدارات الأحدث | Android 5.0 والإصدارات الأحدث |
• Ogg (.ogg) • MPEG-4 (.mp4) • Matroska (.mkv) |
• Ogg (.ogg) • WebM (.webm) |
|
| PCM/WAVE | Android 4.1 أو إصدار أحدث | نعم | WAVE (.wav) | PCM خطي بمعدل 8 و16 بت (بمعدلات تصل إلى الحد الأقصى للأجهزة) معدّلات البيانات في الملفات الصوتية بتنسيق PCM الخام عند 8000 و16000 و44100 هرتز | |
| Vorbis | نعم |
• Ogg (.ogg) • Matroska (.mkv، الإصدار 4.0 من نظام التشغيل Android والإصدارات الأحدث) • MPEG-4 (.mp4، .m4a، الإصدار 10 من نظام التشغيل Android والإصدارات الأحدث) |
• WebM (.webm) | ||
إتاحة استخدام الفيديو
أشكال إعلانات الفيديو
| التنسيق | برنامج الترميز | جهاز فك الترميز | أنواع الملفات وتنسيقات الحاويات | التفاصيل | |
|---|---|---|---|---|---|
| أداة الاستخراج | Muxer | ||||
| H.263 | نعم | نعم |
• 3GPP (.3gp) • MPEG-4 (.mp4) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
يتوفّر دعم H.263 بشكل اختياري في الإصدار 7.0 من نظام التشغيل Android والإصدارات الأحدث |
| H.264 AVC الملف الشخصي الأساسي (BP) |
Android 3.0 والإصدارات الأحدث | نعم |
• 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts، صوت AAC فقط، لا يمكن البحث فيه، الإصدار 3.0 من نظام التشغيل Android أو إصدار أحدث) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
|
| H.264 AVC جودة عادية (MP) |
Android 6.0 أو إصدار أحدث | نعم | يجب توفّر برنامج فك الترميز، ويُنصح بتوفّر برنامج الترميز. | ||
| H.265 HEVC | Android 5.0 والإصدارات الأحدث |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | المستوى 3 من الملف الشخصي الرئيسي للأجهزة الجوّالة والمستوى 4.1 من الملف الشخصي الرئيسي لأجهزة Android TV | |
| MPEG-4 SP | نعم | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | ||
| VP8 | Android 4.3 أو إصدار أحدث | Android 2.3.3 والإصدارات الأحدث |
• WebM (.webm) • Matroska (.mkv، الإصدار 4.0 من نظام التشغيل Android أو الإصدارات الأحدث) |
• WebM (.webm) | يمكن تشغيلها على Android 4.0 والإصدارات الأحدث فقط |
| VP9 | الأجهزة التي تعمل بنظام Android 4.4 والإصدارات الأحدث |
• WebM (.webm) • Matroska (.mkv) • MPEG-4 (.mp4) |
• WebM (.webm) | ||
| AV1 | Android 14 والإصدارات الأحدث | Android 10 والإصدارات الأحدث |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | يجب توفُّر أداة الترميز وأداة فك الترميز بدءًا من نظام التشغيل Android 14. |
| APV | Android 16+ | Android 16+ | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | يجب توفُّر أداة الترميز وأداة فك الترميز بدءًا من Android 16. |
اقتراحات بشأن ترميز الفيديوهات
يسرد الجدول أدناه ملفات تعريف ترميز الفيديو ومعلماته في إطار وسائط Android المقترَحة لتشغيل الفيديو باستخدام برنامج الترميز H.264 Baseline Profile. تنطبق الاقتراحات نفسها على برنامج الترميز Main Profile، الذي يتوفّر فقط في الإصدار 6.0 من نظام التشغيل Android والإصدارات الأحدث.
| الدقة العادية (جودة منخفضة) | الدقة العادية (جودة عالية) | دقة عالية 720p (غير متوفّرة على جميع الأجهزة) | |
|---|---|---|---|
| دقة الفيديو | 176 × 144 بكسل | 480 × 360 بكسل | 1280 × 720 بكسل |
| عدد اللقطات في الثانية للفيديو | 12 لقطة في الثانية | 30 إطارًا في الثانية | 30 إطارًا في الثانية |
| معدّل نقل بيانات الفيديو | 56 كيلوبت في الثانية | 500 كيلوبت في الثانية | 2 ميغابت في الثانية |
| ترميز الصوت | AAC-LC | AAC-LC | AAC-LC |
| القنوات الصوتية | 1 (أحادي) | 2 (استريو) | 2 (استريو) |
| معدل نقل البيانات الصوت | 24 كيلوبت في الثانية | 128 كيلوبت في الثانية | 192 كيلوبت في الثانية |
يسرد الجدول أدناه ملفات تعريف ترميز الفيديو ومَعلمات إطار عمل الوسائط في Android الموصى بها لتشغيل الفيديو باستخدام برنامج ترميز الوسائط VP8.
| الدقة العادية (جودة منخفضة) | الدقة العادية (جودة عالية) | دقة عالية 720p (غير متوفّرة على جميع الأجهزة) | دقة عالية 1080p (غير متاحة على جميع الأجهزة) | |
|---|---|---|---|---|
| دقة الفيديو | 320 × 180 بكسل | 640 × 360 بكسل | 1280 × 720 بكسل | 1920 x 1080 بكسل |
| عدد اللقطات في الثانية للفيديو | 30 إطارًا في الثانية | 30 إطارًا في الثانية | 30 إطارًا في الثانية | 30 إطارًا في الثانية |
| معدّل نقل بيانات الفيديو | 800 كيلوبت في الثانية | 2 ميغابت في الثانية | 4 ميغابت في الثانية | 10 ميغابت في الثانية |
اقتراحات بشأن فك ترميز الفيديوهات
يجب أن تتيح عمليات تنفيذ الأجهزة إمكانية التبديل الديناميكي لدقة الفيديو وعدد اللقطات في الثانية من خلال واجهات برمجة التطبيقات العادية لنظام Android ضمن البث نفسه لجميع برامج الترميز VP8 وVP9 وH.264 وH.265 في الوقت الفعلي وبدقة تصل إلى الحد الأقصى الذي يتيحه كل برنامج ترميز على الجهاز.
يجب أن تلتزم عمليات التنفيذ التي تتوافق مع برنامج الترميز Dolby Vision بالإرشادات التالية:
- توفير أداة استخراج متوافقة مع Dolby Vision
- عرض محتوى Dolby Vision بشكل صحيح على شاشة الجهاز أو على منفذ إخراج فيديو عادي (مثل HDMI)
- اضبط فهرس المسار الخاص بطبقات الأساس المتوافقة مع الأنظمة القديمة (إذا كانت متوفرة) ليكون مطابقًا لفهرس المسار الخاص بطبقة Dolby Vision المدمجة.
متطلبات بث الفيديو
بالنسبة إلى محتوى الفيديو الذي يتم بثه عبر HTTP أو RTSP، هناك متطلبات إضافية:
- بالنسبة إلى حاويات 3GPP وMPEG-4، يجب أن يسبق العنصر
moovأي عناصرmdat، ولكن يجب أن يتبع العنصرftyp. - بالنسبة إلى حاويات 3GPP وMPEG-4 وWebM، يجب ألا يزيد الفرق بين عيّنات الصوت والفيديو التي تتوافق مع الإزاحة الزمنية نفسها عن 500 كيلوبايت. للحدّ من هذا التفاوت بين الصوت والفيديو، ننصحك بدمج الصوت والفيديو في أجزاء أصغر حجمًا.
إتاحة استخدام الصور
| التنسيق | برنامج الترميز | جهاز فك الترميز | التفاصيل | أنواع الملفات تنسيقات الحاويات |
|---|---|---|---|---|
| BMP | نعم | BMP (.bmp) | ||
| GIF | نعم | ملف GIF (.gif) | ||
| JPEG | نعم | نعم | الأساسية والمتدرّجة | JPEG (.jpg) |
| PNG | نعم | نعم | PNG (.png) | |
| تنسيق WebP |
Android 4.0 والإصدارات الأحدث بدون فقدان جودة الصوت: Android 10 والإصدارات الأحدث الشفافية: Android 4.2.1 والإصدارات الأحدث |
Android 4.0 أو الإصدارات الأحدث بدون فقدان البيانات: Android 4.2.1 أو الإصدارات الأحدث الشفافية: Android 4.2.1 أو الإصدارات الأحدث |
يمكن تحقيق الترميز بدون فقدان البيانات على Android 10 باستخدام جودة تبلغ 100. | WebP (.webp) |
| HEIF |
Android 10 والإصدارات الأحدث (من خلال MediaCodec أو HeifWriter، وليس من خلال Bitmap.compress)
|
Android 9.0 والإصدارات الأحدث | الجهاز اختياري. يمكنك الاطّلاع على ImageDecoder.isMimeTypeSupported("image/heif") لمعرفة ما إذا كان الجهاز متوافقًا مع 8 بت. يتطلّب فك الترميز بمعدل 10 بت استخدام ملف HEVC Main10 الشخصي الاختياري. |
HEIF (.heic; .heif) |
| AVIF (الملف الشخصي للمرجع) |
Android 14 والإصدارات الأحدث (عبر MediaCodec؛ غير متوفّر في Bitmap.compress)
|
الإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث | يتوفّر فك الترميز بمعدل 8 بت على الإصدار 12 من نظام التشغيل Android والإصدارات الأحدث. وفك الترميز بمعدل 10 بت اختياري، لذا يُرجى التحقّق من ImageDecoder.isMimeTypeSupported("image/avif") لمعرفة ما إذا كان متاحًا (حتى إذا كانت القيمة false، سيظل فك الترميز بمعدل 8 بت متاحًا). |
AVIF (.avif) |
بروتوكولات الشبكة
تتوفّر بروتوكولات الشبكة التالية لتشغيل الصوت والفيديو:
- RTSP (RTP, SDP)
- البث التقدّمي عبر HTTP/HTTPS
- مسودة بروتوكول البث المباشر باستخدام HTTP/HTTPS:
- ملفات وسائط MPEG-2 TS فقط
- الإصدار 3 من البروتوكول على نظام التشغيل Android 4.0 والإصدارات الأحدث
- الإصدار 2 من البروتوكول لنظام التشغيل Android 3.x
- غير متاح قبل الإصدار 3.0 من نظام التشغيل Android
ملاحظة: لا يتوافق بروتوكول HTTPS مع الإصدارات الأقدم من Android 3.1.
تنسيقات الفيديو بنطاق عالي الديناميكية (HDR)
يمكن لمصنّعي المعدات الأصلية تفعيل أي تنسيق HDR يختارونه باستخدام بنية HDR في Android، التي توفّر الاحتياجات الأساسية لتنسيقات HDR: مخازن مؤقتة 10 بت، وبيانات وصفية (ثابتة وديناميكية وبدون بيانات)، ووظيفة نقل، ومعالجة مساحة الألوان.
لضمان اتساق تجربة المطوّرين وتلبية حالات الاستخدام الرئيسية للنطاق العالي الديناميكية (HDR)، نطلب من الشركات المصنّعة للأجهزة الأصلية توفير بعض التنسيقات الأساسية على الأجهزة التي تتوافق مع النطاق العالي الديناميكية (HDR):
- بالنسبة إلى تشغيل المحتوى الاحترافي، مثل بث الأفلام، نشترط استخدام HDR10.
- بالنسبة إلى تسجيل المحتوى من إنشاء المستخدمين وتشغيله، نشترط استخدام HLG10 لتوفير تجربة متسقة على جميع أجهزة Android.
على مصنّعي المعدات الأصلية الذين يضيفون إمكانية استخدام النطاق العالي الديناميكية (HDR) توفير هذه التنسيقات، ولكن يمكنهم أيضًا توفير تنسيقات إضافية، مثل HDR10+ أو Dolby Vision.
| التنسيق | دالة النقل | البيانات الوصفية | برنامج الترميز | عمق البت |
|---|---|---|---|---|
| HLG10 | HLG | لا | HEVC | 10 بت |
| HDR10 | PQ | ثابت | HEVC | 10 بت |
| +HDR10 | PQ | ثابت | HEVC | 10 بت |
| Dolby Vision 8.4 | HLG | ديناميكي | HEVC | 10 بت |
اقتراحات بشأن التعامل مع التنسيقات
| تنسيق الالتقاط | تنسيق التحميل | تنسيق العرض |
| HLG | دعم النطاق العالي الديناميكية (HDR) وHLG في الخلفية | الأجهزة المتوافقة مع تقنية HDR (HLG):
HLG الأجهزة المتوافقة مع تقنية HDR (لا تتوافق مع تقنية HLG، بل مع تقنية PQ فقط): SDR (تحويل النطاق الديناميكي العالي إلى نطاق ديناميكي عادي في الخلفية) الأجهزة غير المتوافقة مع تقنية HDR: تقنية SDR (يتم تحويل الألوان من HLG إلى SDR في الخلفية) |
حالة الاستخدام 2: التقاط الصور باستخدام تطبيق الكاميرا الأصلي أو استيرادها من معرض المستخدم (تتيح الخلفية البرمجية للتطبيق تقنية HDR)
| تنسيق الالتقاط | تنسيق التحميل | تنسيق العرض |
| HLG | HLG | كما هو الحال في حالة استخدام ميزة "التقاط المحتوى داخل التطبيق" |
| +HDR10 | HLG
تحويل درجة اللون من HDR10+ (PQ) إلى HLG قبل التحميل باستخدام واجهات برمجة التطبيقات الخاصة بمحوّل الترميز |
كما هو الحال في حالة استخدام ميزة "التقاط المحتوى داخل التطبيق" |
| DV8.4 | HLG
(يستخدم الإصدار DV8.4 تنسيق HLG، وسيتصرف دفق البيانات على أنّه HLG، وبالتالي لن يكون هناك حاجة إلى ربط الدرجات اللونية) |
كما هو الحال في حالة استخدام ميزة "التقاط المحتوى داخل التطبيق" |
حالة الاستخدام 3: لا يتيح الخلفية البرمجية للتطبيق عرض محتوى HDR
| تنسيق الالتقاط | تنسيق التحميل | تنسيق العرض |
| أي تنسيق | SDR
تحويل الألوان من HLG إلى SDR قبل التحميل باستخدام واجهات برمجة التطبيقات الخاصة بمحوّل الترميز |
SDR |