इस दस्तावेज़ में, Android प्लैटफ़ॉर्म पर काम करने वाले मीडिया कोडेक, कंटेनर, और नेटवर्क प्रोटोकॉल के बारे में बताया गया है.
यहां दी गई टेबल में, Android प्लैटफ़ॉर्म में पहले से मौजूद मीडिया फ़ॉर्मैट के बारे में बताया गया है. 'हां' का मतलब है कि यह फ़ॉर्मैट, Android के सभी वर्शन पर चलने वाले हैंडहेल्ड और टैबलेट पर उपलब्ध है. अगर किसी खास Android प्लैटफ़ॉर्म के लिए फ़ॉर्मैट तय किया गया है, तो वह फ़ॉर्मैट उस वर्शन और उसके बाद के सभी वर्शन पर चलने वाले हैंडसेट और टैबलेट पर उपलब्ध होता है. यह फ़ॉर्मैट, पुराने वर्शन में भी उपलब्ध हो सकता है. हालांकि, इसकी कोई गारंटी नहीं है. हैंडसेट और टैबलेट के अलावा, दूसरे डिवाइसों पर मीडिया फ़ॉर्मैट के इस्तेमाल की सुविधा अलग-अलग हो सकती है.
ध्यान दें कि किसी मोबाइल डिवाइस पर, इन टेबल में मौजूद फ़ॉर्मैट या फ़ाइल टाइप के अलावा, अन्य फ़ॉर्मैट या फ़ाइल टाइप भी काम कर सकते हैं. इसके अलावा, अगर सीधे MediaCodec का इस्तेमाल किया जाता है, तो उपलब्ध किसी भी मीडिया फ़ॉर्मैट को ऐक्सेस किया जा सकता है. भले ही, फ़ाइल टाइप और कंटेनर फ़ॉर्मैट इस्तेमाल किए जा सकने वाले हों या नहीं.
ऑडियो से जुड़ी सहायता
फ़ॉर्मैट करें | एन्कोडर | डिकोडर | फ़ाइल टाइप के कंटेनर फ़ॉर्मैट | जानकारी | |
---|---|---|---|---|---|
एक्सट्रैक्टर | म्यूजर | ||||
AAC LC | हां | हां |
• 3GPP (.3gp) • ADTS रॉ AAC (.aac, ADIF काम नहीं करता) • MPEG-TS (.ts, Android 3.0+ पर काम नहीं करता) |
• 3GPP (.3gp) • ADTS रॉ AAC (.aac, ADIF काम नहीं करता) • MPEG-TS (पक्के तौर पर नहीं पता) (.ts, आगे-पीछे नहीं किया जा सकता, Android 3.0+) |
8 से 48 किलोहर्ट्ज़ के स्टैंडर्ड सैंपलिंग रेट के साथ, मोनो/स्टीरियो/5.0/5.1 कॉन्टेंट के लिए काम करता है. |
HE-AACv1 (AAC+) | Android 4.1 और उसके बाद के वर्शन | हां | |||
HE-AACv2 (बेहतर AAC+) | हां | स्टीरियो/5.0/5.1 कॉन्टेंट के लिए, 8 से 48 किलोहर्ट्ज़ के स्टैंडर्ड सैंपलिंग रेट का इस्तेमाल किया जा सकता है. | |||
xHE-AAC | Android 9 और उसके बाद के वर्शन | 8 चैनल वाले कॉन्टेंट के लिए काम करता है. साथ ही, इसका सैंपलिंग रेट 8 से 48 किलोहर्ट्ज़ के बीच होना चाहिए | |||
AAC ELD (बेहतर कम इंतज़ार वाला AAC) | Android 4.1 और उसके बाद के वर्शन | Android 4.1 और उसके बाद के वर्शन | 16 से 48 किलोहर्ट्ज़ के स्टैंडर्ड सैंपलिंग रेट वाले मोनो/स्टीरियो कॉन्टेंट के लिए सहायता | ||
AMR-NB | हां | हां |
• 3GPP (.3gp) • AMR (.amr) |
• 3GPP (.3gp) • AMR (.amr) |
8 केएचज़ पर सैंपल किए गए 4.75 से 12.2 केबीपीएस |
AMR-WB | हां | हां | 16 किलोहर्ट्ज़ पर सैंपल किए गए 6.60 केबीपीएस से 23.85 केबीपीएस तक के नौ रेट | ||
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. डीएलएस का वर्शन 1 और 2. XMF और Mobile XMF. रिंगटोन के लिए RTTTL/RTX, OTA, और iMelody फ़ॉर्मैट का इस्तेमाल किया जा सकता है | ||
MP3 | हां |
• MP3 (.mp3) • MPEG-4 (.mp4, .m4a, Android 10+) • Matroska (.mkv, Android 10+) |
मोनो/स्टीरियो 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) | 8- और 16-बिट लीनियर पीसीएम (हार्डवेयर की सीमा तक रेट). रॉ PCM रिकॉर्डिंग के लिए, 8000, 16000, और 44100 हर्ट्ज़ के सैंपलिंग रेट. | |
Vorbis | हां |
• Ogg (.ogg) • Matroska (.mkv, Android 4.0+) • MPEG-4 (.mp4, .m4a, Android 10+) |
• WebM (.webm) |
वीडियो से जुड़ी सहायता
वीडियो फ़ॉर्मैट
फ़ॉर्मैट करें | एन्कोडर | डिकोडर | फ़ाइल टाइप के कंटेनर फ़ॉर्मैट | जानकारी | |
---|---|---|---|---|---|
एक्सट्रैक्टर | म्यूजर | ||||
H.263 | हां | हां |
• 3GPP (.3gp) • MPEG-4 (.mp4) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
Android 7.0 और इसके बाद के वर्शन में, H.263 कोडेक का इस्तेमाल करना ज़रूरी नहीं है |
H.264 AVC बेसलाइन प्रोफ़ाइल (बीपी) |
Android 3.0 या इसके बाद का वर्शन | हां |
• 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, सिर्फ़ AAC ऑडियो, आगे-पीछे नहीं किया जा सकता, Android 3.0+ के लिए) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
|
H.264 AVC मुख्य प्रोफ़ाइल (एमपी) |
Android 6.0 और उसके बाद के वर्शन | हां | डिकोडर ज़रूरी है. एनकोडर का सुझाव दिया जाता है. | ||
H.265 HEVC | Android 5.0 या इसके बाद का वर्शन |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | मोबाइल डिवाइसों के लिए मुख्य प्रोफ़ाइल लेवल 3 और Android TV के लिए मुख्य प्रोफ़ाइल लेवल 4.1 | |
MPEG-4 SP | हां | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | ||
VP8 | Android 4.3 और उसके बाद के वर्शन | Android 2.3.3 और उसके बाद के वर्शन |
• WebM (.webm) • Matroska (.mkv, Android 4.0+) |
• 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 बेसलाइन प्रोफ़ाइल कोडेक का इस्तेमाल करके वीडियो चलाने के लिए दिया गया है. ये सुझाव, मुख्य प्रोफ़ाइल कोडेक पर भी लागू होते हैं. यह कोडेक सिर्फ़ Android 6.0 और उसके बाद के वर्शन में उपलब्ध है.
एसडी (कम क्वालिटी) | एसडी (अच्छी क्वालिटी) | एचडी 720 पिक्सल (सभी डिवाइसों पर उपलब्ध नहीं) | |
---|---|---|---|
वीडियो रिज़ॉल्यूशन | 176 x 144 पिक्सल | 480 x 360 पिक्सल | 1280 x 720 पिक्सल |
वीडियो फ़्रेम रेट | 12 फ़्रेम प्रति सेकंड | 30 FPS (फ़्रेम प्रति सेकंड) | 30 FPS (फ़्रेम प्रति सेकंड) |
वीडियो बिटरेट | 56 केबीपीएस | 500 केबीपीएस | 2 एमबीपीएस |
ऑडियो कोडेक | AAC-LC | AAC-LC | AAC-LC |
ऑडियो चैनल | 1 (मोनो) | 2 (स्टीरियो) | 2 (स्टीरियो) |
ऑडियो बिटरेट | 24 केबीपीएस | 128 केबीपीएस | 192 केबीपीएस |
नीचे दी गई टेबल में, Android मीडिया फ़्रेमवर्क की वीडियो कोडिंग प्रोफ़ाइलों और पैरामीटर की सूची दी गई है. इनका सुझाव, VP8 मीडिया कोडेक का इस्तेमाल करके वीडियो चलाने के लिए दिया गया है.
एसडी (कम क्वालिटी) | एसडी (अच्छी क्वालिटी) | एचडी 720 पिक्सल (सभी डिवाइसों पर उपलब्ध नहीं) | एचडी 1080 पिक्सल (सभी डिवाइसों पर उपलब्ध नहीं) | |
---|---|---|---|---|
वीडियो रिज़ॉल्यूशन | 320 x 180 पिक्सल | 640 x 360 पिक्सल | 1280 x 720 पिक्सल | 1920 x 1080 पिक्सल |
वीडियो फ़्रेम रेट | 30 FPS (फ़्रेम प्रति सेकंड) | 30 FPS (फ़्रेम प्रति सेकंड) | 30 FPS (फ़्रेम प्रति सेकंड) | 30 FPS (फ़्रेम प्रति सेकंड) |
वीडियो बिटरेट | 800 केबीपीएस | 2 एमबीपीएस | 4 एमबीपीएस | 10 एमबीपीएस |
वीडियो डिकोडिंग के सुझाव
डिवाइस पर लागू किए गए वर्शन में, एक ही स्ट्रीम में स्टैंडर्ड Android API की मदद से, रियल टाइम में सभी VP8, VP9, H.264, और H.265 कोडेक के लिए, डाइनैमिक वीडियो रिज़ॉल्यूशन और फ़्रेम रेट स्विचिंग की सुविधा होनी चाहिए. साथ ही, डिवाइस पर हर कोडेक के लिए, ज़्यादा से ज़्यादा रिज़ॉल्यूशन का इस्तेमाल किया जा सके.
Dolby Vision डिकोडर के साथ काम करने वाले सिस्टम को इन दिशा-निर्देशों का पालन करना होगा:
- Dolby Vision में काम करने वाला एक्सट्रैक्टर उपलब्ध कराएं.
- डिवाइस की स्क्रीन या स्टैंडर्ड वीडियो आउटपुट पोर्ट (उदाहरण के लिए, एचडीएमआई).
- अगर मौजूद हैं, तो पुराने सिस्टम के साथ काम करने वाली बुनियादी लेयर के ट्रैक इंडेक्स को, Dolby Vision लेयर के ट्रैक इंडेक्स के बराबर पर सेट करें.
वीडियो स्ट्रीमिंग से जुड़ी ज़रूरी शर्तें
एचटीटीपी या आरटीएसपी पर स्ट्रीम किए जाने वाले वीडियो कॉन्टेंट के लिए, कुछ और ज़रूरी शर्तें हैं:
- 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 8.0 या इसके बाद के वर्शन | HEIF (.heic; .heif) | ||
AVIF (बेसलाइन प्रोफ़ाइल) | Android 14 और उसके बाद के वर्शन | Android 14 और उसके बाद के वर्शन | Android 14 से, एन्कोडर और डिकोडर का इस्तेमाल करना ज़रूरी है. | AVIF (.avif) |
नेटवर्क प्रोटोकॉल
ऑडियो और वीडियो चलाने के लिए, ये नेटवर्क प्रोटोकॉल काम करते हैं:
- आरटीएसपी (आरटीपी, एसडीपी)
- एचटीटीपी/एचटीटीपीएस प्रोग्रेसिव स्ट्रीमिंग
- एचटीटीपी/एचटीटीपीएस लाइव स्ट्रीमिंग का ड्राफ़्ट प्रोटोकॉल:
- सिर्फ़ MPEG-2 टीएस मीडिया फ़ाइलें
- प्रोटोकॉल वर्शन 3, Android 4.0 और उसके बाद के वर्शन
- प्रोटोकॉल वर्शन 2 Android 3.x
- Android 3.0 से पहले के वर्शन पर काम नहीं करता
ध्यान दें: Android 3.1 से पहले के वर्शन पर एचटीटीपीएस काम नहीं करता.
एचडीआर वीडियो फ़ॉर्मैट
OEM, Android एचडीआर आर्किटेक्चर की मदद से, अपनी पसंद का कोई भी एचडीआर फ़ॉर्मैट चालू कर सकते हैं. यह एचडीआर फ़ॉर्मैट की मुख्य ज़रूरतों को पूरा करता है: 10-बिट बफ़र, मेटाडेटा (स्टैटिक, डाइनैमिक, और कोई नहीं), ट्रांसफ़र फ़ंक्शन, और कलर स्पेस मैनेजमेंट.
डेवलपर के लिए एक जैसा अनुभव देने और एचडीआर के इस्तेमाल के मुख्य उदाहरणों को हल करने के लिए, हम चाहते हैं कि OEM, एचडीआर की सुविधा वाले डिवाइसों पर कुछ बुनियादी फ़ॉर्मैट इस्तेमाल करें:
- प्रोफ़ेशनल कॉन्टेंट चलाने के लिए, हमें HDR10 की ज़रूरत होती है. जैसे, फ़िल्में स्ट्रीम करना.
- उपयोगकर्ता के बनाए गए कॉन्टेंट को कैप्चर और चलाने के लिए, हमें HLG10 की ज़रूरत है, ताकि सभी Android डिवाइसों पर एक जैसा अनुभव मिल सके.
एचडीआर की सुविधा जोड़ने वाले OEM को इन फ़ॉर्मैट के साथ काम करना चाहिए. हालांकि, वे HDR10+ या Dolby Vision जैसे अन्य फ़ॉर्मैट के साथ भी काम कर सकते हैं.
फ़ॉर्मैट करें | ट्रांसफ़र फ़ंक्शन | मेटाडेटा | कोडेक | बिट डेप्थ |
---|---|---|---|---|
HLG10 | HLG | नहीं | HEVC | 10-बिट |
HDR10 | PQ | स्टैटिक | HEVC | 10-बिट |
HDR10+ | PQ | स्टैटिक | HEVC | 10-बिट |
Dolby Vision 8.4 | HLG | डाइनैमिक | HEVC | 10-बिट |
फ़ॉर्मैट मैनेज करने के सुझाव
कैप्चर फ़ॉर्मैट | अपलोड करने का फ़ॉर्मैट | डिलीवरी का फ़ॉर्मैट |
HLG | ऐप्लिकेशन का बैकएंड, एचडीआर एचएलजी के साथ काम करता हो | एचडीआर (एचएलजी) की सुविधा वाले डिवाइस:
HLG ऐसे डिवाइस जिन पर एचडीआर काम करता है (सिर्फ़ PQ, HLG काम नहीं करता): एसडीआर (बैकएंड में एचएलजी से एसडीआर में टोन मैप) ऐसे डिवाइस जिन पर एचडीआर क्वालिटी में वीडियो देखने की सुविधा उपलब्ध नहीं है: एसडीआर (बैकएंड में एचएलजी से एसडीआर में टोन मैप) |
दूसरा इस्तेमाल का उदाहरण: डिवाइस के कैमरे से फ़ोटो कैप्चर करना या उपयोगकर्ता की गैलरी से फ़ोटो इंपोर्ट करना (ऐप्लिकेशन का बैकएंड एचडीआर के साथ काम करता है)
कैप्चर फ़ॉर्मैट | अपलोड करने का फ़ॉर्मैट | डिलीवरी का फ़ॉर्मैट |
HLG | HLG | इन-ऐप्लिकेशन कैप्चर के इस्तेमाल के उदाहरण जैसा ही |
HDR10+ | HLG
अपलोड करने से पहले, ट्रांसफ़ॉर्मर एपीआई का इस्तेमाल करके HDR10+ (PQ) से HLG में टोन मैप करना |
इन-ऐप्लिकेशन कैप्चर के इस्तेमाल के उदाहरण जैसा ही |
DV8.4 | HLG
(DV8.4 में HLG का इस्तेमाल किया जाता है और बिटस्ट्रीम, HLG की तरह काम करेगी. इसलिए, टोन मैपिंग की ज़रूरत नहीं है) |
इन-ऐप्लिकेशन कैप्चर के इस्तेमाल के उदाहरण जैसा ही |
इस्तेमाल का तीसरा उदाहरण: ऐप्लिकेशन का बैकएंड, एचडीआर के साथ काम नहीं करता
कैप्चर फ़ॉर्मैट | अपलोड करने का फ़ॉर्मैट | डिलीवरी का फ़ॉर्मैट |
कोई भी फ़ॉर्मैट | SDR
अपलोड करने से पहले, ट्रांसफ़ॉर्मर एपीआई का इस्तेमाल करके, HLG से SDR में टोन मैप करना |
SDR |