В этом документе описываются медиакодеки, контейнеры и поддержка сетевых протоколов, предоставляемые платформой Android.
В таблицах ниже описана поддержка медиаформатов, встроенная в платформу Android. ДА означает, что формат доступен на портативных устройствах и планшетах под управлением всех версий Android. Если указана конкретная платформа Android, формат доступен на телефонах и планшетах, работающих под управлением этой версии и всех более поздних версий. Этот формат также может быть доступен в более ранних версиях, но это не гарантируется. В форм-факторах, отличных от мобильных телефонов и планшетов, поддержка форматов мультимедиа может отличаться.
Обратите внимание, что конкретное мобильное устройство может поддерживать дополнительные форматы или типы файлов, не указанные в этих таблицах. Кроме того, если вы используете MediaCodec напрямую, вы можете получить доступ к любому из доступных форматов мультимедиа независимо от поддерживаемых типов файлов и форматов контейнеров.
Аудио поддержка
Формат | Кодер | Декодер | Подробности | Типы файлов Форматы контейнеров |
---|---|---|---|---|
ААС ЛК | ДА | ДА | Поддержка контента моно/стерео/5.0/5.1 со стандартной частотой дискретизации от 8 до 48 кГц. | • 3GPP (.3gp) • ADTS raw AAC (.aac, декодирование в Android 3.1+, кодирование в Android 4.0+, ADIF не поддерживается). • MPEG-TS (.ts, поиск недоступен, Android 3.0+) |
HE-AACv1 (AAC+) | Андроид 4.1+ | ДА | ||
HE-AACv2 (расширенный AAC+) | ДА | Поддержка контента стерео/5.0/5.1 со стандартной частотой дискретизации от 8 до 48 кГц. | ||
xHE-AAC | Андроид 9+ | Поддержка до 8 каналов контента со стандартной частотой дискретизации от 8 до 48 кГц. | ||
AAC ELD (улучшенный AAC с малой задержкой) | Андроид 4.1+ | Андроид 4.1+ | Поддержка моно/стерео контента со стандартной частотой дискретизации от 16 до 48 кГц. | |
АМР-НБ | ДА | ДА | От 4,75 до 12,2 кбит/с, дискретизация при 8 кГц | • 3GPP (.3gp) • АМР (.amr) |
УПП-ВБ | ДА | ДА | 9 скоростей от 6,60 кбит/с до 23,85 кбит/с с дискретизацией при 16 кГц | |
ФЛАК | Андроид 4.1+ | Андроид 3.1+ | Моно/Стерео (без многоканального режима). Частота дискретизации до 48 кГц (но на устройствах с выходом 44,1 кГц рекомендуется до 44,1 кГц, поскольку понижающий преобразователь от 48 до 44,1 кГц не включает фильтр нижних частот). рекомендуется 16-битная версия; для 24-битного режима дизеринг не применяется. | • FLAC (.flac) • MPEG-4 (.mp4, .m4a, Android 10+) |
МИДИ | ДА | Тип MIDI 0 и 1. DLS версии 1 и 2. XMF и Mobile XMF. Поддержка форматов рингтонов RTTTL/RTX, OTA и iMelody. | • Введите 0 и 1 (.mid, .xmf, .mxmf). • RTTTL/RTX (.rtttl, .rtx) • ОТА (.ota) • iMelody (.imy) | |
МП3 | ДА | Моно/стерео 8–320 Кбит/с с постоянной (CBR) или переменной скоростью передачи данных (VBR) | • MP3 (.mp3) • MPEG-4 (.mp4, .m4a, Android 10+) • Матроска (.mkv, Android 10+) | |
Опус | Андроид 10+ | Андроид 5.0+ | • Огг (.ogg) • Матроска (.mkv) | |
ПКМ/ВОЛНА | Андроид 4.1+ | ДА | 8- и 16-битный линейный PCM (скорость до предела аппаратного обеспечения). Частоты дискретизации для необработанных записей PCM: 8000, 16000 и 44100 Гц. | ВОЛНА (.wav) |
Ворбис | ДА | • Огг (.ogg) • Матроска (.mkv, Android 4.0+) • MPEG-4 (.mp4, .m4a, Android 10+) |
Видео поддержка
Видео форматы
Формат | Кодер | Декодер | Подробности | Типы файлов Форматы контейнеров |
---|---|---|---|---|
H.263 | ДА | ДА | Поддержка H.263 не является обязательной в Android 7.0+. | • 3GPP (.3gp) • MPEG-4 (.mp4) • Матроска (.mkv) |
H.264 АВК Базовый профиль (BP) | Андроид 3.0+ | ДА | • 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, только звук AAC, поиск недоступен, Android 3.0+) • Матроска (.mkv) | |
H.264 АВК Основной профиль (МП) | Андроид 6.0+ | ДА | Требуется декодер, рекомендуется кодер. | |
H.265 HEVC | Андроид 5.0+ | Основной профиль уровня 3 для мобильных устройств и основной профиль уровня 4.1 для Android TV | • MPEG-4 (.mp4) • Матроска (.mkv) | |
МПЕГ-4 СП | ДА | 3GPP (.3gp) | ||
ВП8 | Андроид 4.3+ | Андроид 2.3.3+ | Потоковая передача доступна только на Android 4.0 и выше. | • ВебМ (.webm) • Матроска (.mkv, Android 4.0+) |
ВП9 | Андроид 4.4+ | • ВебМ (.webm) • Матроска (.mkv) | ||
АВ1 | Андроид 14+ | Андроид 10+ | Кодировщик и декодер являются обязательными, начиная с Android 14. | • MPEG-4 (.mp4) • Матроска (.mkv) |
Рекомендации по кодированию видео
В таблице ниже перечислены профили и параметры кодирования видео Android Media Framework, рекомендуемые для воспроизведения с использованием кодека базового профиля H.264. Те же рекомендации касаются кодека Main Profile, который доступен только в Android 6.0 и более поздних версиях.
SD (низкое качество) | SD (высокое качество) | HD 720p (нет данных на всех устройствах) | |
---|---|---|---|
Разрешение видео | 176 х 144 пикселей | 480 х 360 пикселей | 1280 х 720 пикселей |
Частота кадров видео | 12 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду |
Битрейт видео | 56 Кбит/с | 500 Кбит/с | 2 Мбит/с |
Аудиокодек | ААС-LC | ААС-LC | ААС-LC |
Аудиоканалы | 1 (моно) | 2 (стерео) | 2 (стерео) |
Битрейт аудио | 24 Кбит/с | 128 Кбит/с | 192 Кбит/с |
В таблице ниже перечислены профили и параметры кодирования видео Android Media Framework, рекомендуемые для воспроизведения с использованием медиакодека VP8.
SD (низкое качество) | SD (высокое качество) | HD 720p (нет данных на всех устройствах) | HD 1080p (нет данных на всех устройствах) | |
---|---|---|---|---|
Разрешение видео | 320 х 180 пикселей | 640 х 360 пикселей | 1280 х 720 пикселей | 1920 х 1080 пикселей |
Частота кадров видео | 30 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду |
Битрейт видео | 800 Кбит/с | 2 Мбит/с | 4 Мбит/с | 10 Мбит/с |
Рекомендации по декодированию видео
Реализации устройств должны поддерживать динамическое разрешение видео и переключение частоты кадров через стандартные API-интерфейсы 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) | ||
гифка | ДА | GIF (.gif) | ||
JPEG | ДА | ДА | Базовый+прогрессивный | JPEG (.jpg) |
PNG | ДА | ДА | PNG (.png) | |
ВебП | Андроид 4.0+ Без потерь: Android 10+ Прозрачность: Android 4.2.1+ | Андроид 4.0+ Без потерь: Android 4.2.1+ Прозрачность: Android 4.2.1+ | Кодирование без потерь может быть достигнуто на Android 10 с качеством 100. | ВебП (.webp) |
ХИФ | Андроид 8.0+ | HEIF (.heic; .heif) | ||
AVIF (базовый профиль) | Андроид 14+ | Андроид 14+ | Кодировщик и декодер являются обязательными, начиная с Android 14. | АВИФ (.avif) |
Сетевые протоколы
Для воспроизведения аудио и видео поддерживаются следующие сетевые протоколы:
- РТСП (РТП, СДП)
- Прогрессивная потоковая передача HTTP/HTTPS
- Проект протокола прямой трансляции HTTP/HTTPS:
- Только медиафайлы MPEG-2 TS
- Протокол версии 3 Android 4.0 и выше
- Протокол версии 2 Android 3.x
- Не поддерживается до Android 3.0.
Примечание. HTTPS не поддерживается до Android 3.1.
HDR-форматы видео
OEM-производители могут включить любой формат HDR по своему выбору с помощью архитектуры Android HDR, которая обеспечивает основные потребности форматов HDR: 10-битные буферы, метаданные (статические, динамические и отсутствие), функцию передачи и обработку цветового пространства.
Чтобы обеспечить согласованность действий разработчиков и рассмотреть ключевые варианты использования HDR, мы требуем, чтобы OEM-производители поддерживали несколько базовых форматов на устройствах, поддерживающих HDR:
- Для воспроизведения профессионального контента, например потокового воспроизведения фильмов, нам требуется HDR10.
- Для захвата и воспроизведения пользовательского контента нам требуется, чтобы HLG10 обеспечивал единообразную работу на устройствах Android.
OEM-производители, добавляющие поддержку HDR, должны поддерживать эти форматы, но также могут поддерживать дополнительные форматы, такие как HDR10+ или Dolby Vision.
Формат | Передаточная функция | Метаданные | Кодек | Битовая глубина |
---|---|---|---|---|
HLG10 | ГВУ | Нет | HEVC | 10-битный |
HDR10 | ПК | Статический | HEVC | 10-битный |
HDR10+ | ПК | Статический | HEVC | 10-битный |
Долби Видение 8.4 | ГВУ | Динамический | HEVC | 10-битный |
Рекомендации по работе с форматом
Формат захвата | Формат загрузки | Формат доставки |
ГВУ | Серверная часть приложения поддерживает HDR HLG | Устройства, поддерживающие HDR (HLG): ГВУ Устройства поддерживают HDR (HLG не поддерживает только PQ): SDR (карта тонов от HLG до SDR на серверной стороне) Устройства, которые не поддерживают HDR: SDR (карта тонов от HLG до SDR на серверной стороне) |
Вариант использования 2: захват с помощью встроенной камеры или импорт из галереи пользователя (серверная часть приложения поддерживает HDR)
Формат захвата | Формат загрузки | Формат доставки |
ГВУ | ГВУ | То же, что и вариант использования захвата данных в приложении. |
HDR10+ | ГВУ Карта тонов из HDR10+ (PQ) в HLG перед загрузкой с использованием API-интерфейсов преобразователя. | То же, что и вариант использования захвата данных в приложении. |
ДВ8.4 | ГВУ (DV8.4 использует HLG, и битовый поток будет вести себя как HLG, поэтому преобразование тонов не требуется) | То же, что и вариант использования захвата данных в приложении. |
Вариант использования 3. Серверная часть приложения не поддерживает HDR.
Формат захвата | Формат загрузки | Формат доставки |
Любой формат | СДР Карта тонов из HLG в SDR перед загрузкой с использованием API преобразователя | СДР |
В этом документе описываются медиакодеки, контейнеры и поддержка сетевых протоколов, предоставляемые платформой Android.
В таблицах ниже описана поддержка медиаформатов, встроенная в платформу Android. ДА означает, что формат доступен на портативных устройствах и планшетах под управлением всех версий Android. Если указана конкретная платформа Android, формат доступен на телефонах и планшетах, работающих под управлением этой версии и всех более поздних версий. Этот формат также может быть доступен в более ранних версиях, но это не гарантируется. В форм-факторах, отличных от мобильных телефонов и планшетов, поддержка форматов мультимедиа может отличаться.
Обратите внимание, что конкретное мобильное устройство может поддерживать дополнительные форматы или типы файлов, не указанные в этих таблицах. Кроме того, если вы используете MediaCodec напрямую, вы можете получить доступ к любому из доступных форматов мультимедиа независимо от поддерживаемых типов файлов и форматов контейнеров.
Аудио поддержка
Формат | Кодер | Декодер | Подробности | Типы файлов Форматы контейнеров |
---|---|---|---|---|
ААС ЛК | ДА | ДА | Поддержка контента моно/стерео/5.0/5.1 со стандартной частотой дискретизации от 8 до 48 кГц. | • 3GPP (.3gp) • ADTS raw AAC (.aac, декодирование в Android 3.1+, кодирование в Android 4.0+, ADIF не поддерживается). • MPEG-TS (.ts, поиск недоступен, Android 3.0+) |
HE-AACv1 (AAC+) | Андроид 4.1+ | ДА | ||
HE-AACv2 (расширенный AAC+) | ДА | Поддержка контента стерео/5.0/5.1 со стандартной частотой дискретизации от 8 до 48 кГц. | ||
xHE-AAC | Андроид 9+ | Поддержка до 8 каналов контента со стандартной частотой дискретизации от 8 до 48 кГц. | ||
AAC ELD (улучшенный AAC с малой задержкой) | Андроид 4.1+ | Андроид 4.1+ | Поддержка моно/стерео контента со стандартной частотой дискретизации от 16 до 48 кГц. | |
АМР-НБ | ДА | ДА | От 4,75 до 12,2 кбит/с, дискретизация при 8 кГц | • 3GPP (.3gp) • АМР (.amr) |
УПП-ВБ | ДА | ДА | 9 скоростей от 6,60 кбит/с до 23,85 кбит/с с дискретизацией при 16 кГц | |
ФЛАК | Андроид 4.1+ | Андроид 3.1+ | Моно/Стерео (без многоканального режима). Частота дискретизации до 48 кГц (но на устройствах с выходом 44,1 кГц рекомендуется до 44,1 кГц, поскольку понижающий преобразователь от 48 до 44,1 кГц не включает фильтр нижних частот). рекомендуется 16-битная версия; для 24-битного режима дизеринг не применяется. | • FLAC (.flac) • MPEG-4 (.mp4, .m4a, Android 10+) |
МИДИ | ДА | Тип MIDI 0 и 1. DLS версии 1 и 2. XMF и Mobile XMF. Поддержка форматов рингтонов RTTTL/RTX, OTA и iMelody. | • Введите 0 и 1 (.mid, .xmf, .mxmf). • RTTTL/RTX (.rtttl, .rtx) • ОТА (.ota) • iMelody (.imy) | |
МП3 | ДА | Моно/стерео 8–320 Кбит/с с постоянной (CBR) или переменной скоростью передачи данных (VBR) | • MP3 (.mp3) • MPEG-4 (.mp4, .m4a, Android 10+) • Матроска (.mkv, Android 10+) | |
Опус | Андроид 10+ | Андроид 5.0+ | • Огг (.ogg) • Матроска (.mkv) | |
ПКМ/ВОЛНА | Андроид 4.1+ | ДА | 8- и 16-битный линейный PCM (скорость до предела аппаратного обеспечения). Частоты дискретизации для необработанных записей PCM: 8000, 16000 и 44100 Гц. | ВОЛНА (.wav) |
Ворбис | ДА | • Огг (.ogg) • Матроска (.mkv, Android 4.0+) • MPEG-4 (.mp4, .m4a, Android 10+) |
Видео поддержка
Видео форматы
Формат | Кодер | Декодер | Подробности | Типы файлов Форматы контейнеров |
---|---|---|---|---|
H.263 | ДА | ДА | Поддержка H.263 не является обязательной в Android 7.0+. | • 3GPP (.3gp) • MPEG-4 (.mp4) • Матроска (.mkv) |
H.264 АВК Базовый профиль (BP) | Андроид 3.0+ | ДА | • 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, только звук AAC, поиск недоступен, Android 3.0+) • Матроска (.mkv) | |
H.264 АВК Основной профиль (МП) | Андроид 6.0+ | ДА | Требуется декодер, рекомендуется кодер. | |
H.265 HEVC | Андроид 5.0+ | Основной профиль уровня 3 для мобильных устройств и основной профиль уровня 4.1 для Android TV | • MPEG-4 (.mp4) • Матроска (.mkv) | |
МПЕГ-4 СП | ДА | 3GPP (.3gp) | ||
ВП8 | Андроид 4.3+ | Андроид 2.3.3+ | Потоковая передача доступна только на Android 4.0 и выше. | • ВебМ (.webm) • Матроска (.mkv, Android 4.0+) |
ВП9 | Андроид 4.4+ | • ВебМ (.webm) • Матроска (.mkv) | ||
АВ1 | Андроид 14+ | Андроид 10+ | Кодировщик и декодер являются обязательными, начиная с Android 14. | • MPEG-4 (.mp4) • Матроска (.mkv) |
Рекомендации по кодированию видео
В таблице ниже перечислены профили и параметры кодирования видео Android Media Framework, рекомендуемые для воспроизведения с использованием кодека базового профиля H.264. Те же рекомендации касаются кодека Main Profile, который доступен только в Android 6.0 и более поздних версиях.
SD (низкое качество) | SD (высокое качество) | HD 720p (нет данных на всех устройствах) | |
---|---|---|---|
Разрешение видео | 176 х 144 пикселей | 480 х 360 пикселей | 1280 х 720 пикселей |
Частота кадров видео | 12 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду |
Битрейт видео | 56 Кбит/с | 500 Кбит/с | 2 Мбит/с |
Аудиокодек | ААС-LC | ААС-LC | ААС-LC |
Аудиоканалы | 1 (моно) | 2 (стерео) | 2 (стерео) |
Битрейт аудио | 24 Кбит/с | 128 Кбит/с | 192 Кбит/с |
В таблице ниже перечислены профили и параметры кодирования видео Android Media Framework, рекомендуемые для воспроизведения с использованием медиакодека VP8.
SD (низкое качество) | SD (высокое качество) | HD 720p (нет данных на всех устройствах) | HD 1080p (нет данных на всех устройствах) | |
---|---|---|---|---|
Разрешение видео | 320 х 180 пикселей | 640 х 360 пикселей | 1280 х 720 пикселей | 1920 х 1080 пикселей |
Частота кадров видео | 30 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду |
Битрейт видео | 800 Кбит/с | 2 Мбит/с | 4 Мбит/с | 10 Мбит/с |
Рекомендации по декодированию видео
Реализации устройств должны поддерживать динамическое разрешение видео и переключение частоты кадров через стандартные API-интерфейсы 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) | ||
гифка | ДА | GIF (.gif) | ||
JPEG | ДА | ДА | Базовый+прогрессивный | JPEG (.jpg) |
PNG | ДА | ДА | PNG (.png) | |
ВебП | Андроид 4.0+ Без потерь: Android 10+ Прозрачность: Android 4.2.1+ | Андроид 4.0+ Без потерь: Android 4.2.1+ Прозрачность: Android 4.2.1+ | Кодирование без потерь может быть достигнуто на Android 10 с качеством 100. | ВебП (.webp) |
ХИФ | Андроид 8.0+ | HEIF (.heic; .heif) | ||
AVIF (базовый профиль) | Андроид 14+ | Андроид 14+ | Кодировщик и декодер являются обязательными, начиная с Android 14. | АВИФ (.avif) |
Сетевые протоколы
Для воспроизведения аудио и видео поддерживаются следующие сетевые протоколы:
- РТСП (РТП, СДП)
- Прогрессивная потоковая передача HTTP/HTTPS
- Проект протокола прямой трансляции HTTP/HTTPS:
- Только медиафайлы MPEG-2 TS
- Протокол версии 3 Android 4.0 и выше
- Протокол версии 2 Android 3.x
- Не поддерживается до Android 3.0.
Примечание. HTTPS не поддерживается до Android 3.1.
HDR-форматы видео
OEM-производители могут включить любой формат HDR по своему выбору с помощью архитектуры Android HDR, которая обеспечивает основные потребности форматов HDR: 10-битные буферы, метаданные (статические, динамические и отсутствие), функцию передачи и обработку цветового пространства.
Чтобы обеспечить согласованность действий разработчиков и рассмотреть ключевые варианты использования HDR, мы требуем, чтобы OEM-производители поддерживали несколько базовых форматов на устройствах, поддерживающих HDR:
- Для воспроизведения профессионального контента, например потокового воспроизведения фильмов, нам требуется HDR10.
- Для захвата и воспроизведения пользовательского контента нам требуется, чтобы HLG10 обеспечивал единообразную работу на устройствах Android.
OEM-производители, добавляющие поддержку HDR, должны поддерживать эти форматы, но также могут поддерживать дополнительные форматы, такие как HDR10+ или Dolby Vision.
Формат | Передаточная функция | Метаданные | Кодек | Битовая глубина |
---|---|---|---|---|
HLG10 | ГВУ | Нет | HEVC | 10-битный |
HDR10 | ПК | Статический | HEVC | 10-битный |
HDR10+ | ПК | Статический | HEVC | 10-битный |
Долби Видение 8.4 | ГВУ | Динамический | HEVC | 10-битный |
Рекомендации по работе с форматом
Формат захвата | Формат загрузки | Формат доставки |
ГВУ | Серверная часть приложения поддерживает HDR HLG | Устройства, поддерживающие HDR (HLG): ГВУ Устройства поддерживают HDR (HLG не поддерживает только PQ): SDR (карта тонов от HLG до SDR на серверной стороне) Устройства, которые не поддерживают HDR: SDR (карта тонов от HLG до SDR на серверной стороне) |
Вариант использования 2: захват с помощью встроенной камеры или импорт из галереи пользователя (серверная часть приложения поддерживает HDR)
Формат захвата | Формат загрузки | Формат доставки |
ГВУ | ГВУ | То же, что и вариант использования захвата данных в приложении. |
HDR10+ | ГВУ Карта тонов из HDR10+ (PQ) в HLG перед загрузкой с использованием API-интерфейсов преобразователя. | То же, что и вариант использования захвата данных в приложении. |
ДВ8.4 | ГВУ (DV8.4 использует HLG, и битовый поток будет вести себя как HLG, поэтому преобразование тонов не требуется) | То же, что и вариант использования захвата данных в приложении. |
Вариант использования 3. Серверная часть приложения не поддерживает HDR.
Формат захвата | Формат загрузки | Формат доставки |
Любой формат | СДР Карта тонов из HLG в SDR перед загрузкой с использованием API преобразователя | СДР |
В этом документе описываются медиакодеки, контейнеры и поддержка сетевых протоколов, предоставляемые платформой Android.
В таблицах ниже описана поддержка медиаформатов, встроенная в платформу Android. ДА означает, что формат доступен на портативных устройствах и планшетах под управлением всех версий Android. Если указана конкретная платформа Android, формат доступен на телефонах и планшетах, работающих под управлением этой версии и всех более поздних версий. Этот формат также может быть доступен в более ранних версиях, но это не гарантируется. В форм-факторах, отличных от мобильных телефонов и планшетов, поддержка форматов мультимедиа может отличаться.
Обратите внимание, что конкретное мобильное устройство может поддерживать дополнительные форматы или типы файлов, не указанные в этих таблицах. Кроме того, если вы используете MediaCodec напрямую, вы можете получить доступ к любому из доступных форматов мультимедиа независимо от поддерживаемых типов файлов и форматов контейнеров.
Аудио поддержка
Формат | Кодер | Декодер | Подробности | Типы файлов Форматы контейнеров |
---|---|---|---|---|
ААС ЛК | ДА | ДА | Поддержка контента моно/стерео/5.0/5.1 со стандартной частотой дискретизации от 8 до 48 кГц. | • 3GPP (.3gp) • ADTS raw AAC (.aac, декодирование в Android 3.1+, кодирование в Android 4.0+, ADIF не поддерживается). • MPEG-TS (.ts, поиск недоступен, Android 3.0+) |
HE-AACv1 (AAC+) | Андроид 4.1+ | ДА | ||
HE-AACv2 (расширенный AAC+) | ДА | Поддержка контента стерео/5.0/5.1 со стандартной частотой дискретизации от 8 до 48 кГц. | ||
xHE-AAC | Андроид 9+ | Поддержка до 8 каналов контента со стандартной частотой дискретизации от 8 до 48 кГц. | ||
AAC ELD (улучшенный AAC с малой задержкой) | Андроид 4.1+ | Андроид 4.1+ | Поддержка моно/стерео контента со стандартной частотой дискретизации от 16 до 48 кГц. | |
АМР-НБ | ДА | ДА | От 4,75 до 12,2 кбит/с, дискретизация при 8 кГц | • 3GPP (.3gp) • АМР (.amr) |
УПП-ВБ | ДА | ДА | 9 скоростей от 6,60 кбит/с до 23,85 кбит/с с частотой дискретизации 16 кГц | |
ФЛАК | Андроид 4.1+ | Андроид 3.1+ | Моно/Стерео (без многоканального режима). Частота дискретизации до 48 кГц (но на устройствах с выходом 44,1 кГц рекомендуется до 44,1 кГц, поскольку понижающий преобразователь от 48 до 44,1 кГц не включает фильтр нижних частот). рекомендуется 16-битная версия; для 24-битного режима дизеринг не применяется. | • FLAC (.flac) • MPEG-4 (.mp4, .m4a, Android 10+) |
МИДИ | ДА | Тип MIDI 0 и 1. DLS версии 1 и 2. XMF и Mobile XMF. Поддержка форматов рингтонов RTTTL/RTX, OTA и iMelody. | • Введите 0 и 1 (.mid, .xmf, .mxmf). • RTTTL/RTX (.rtttl, .rtx) • ОТА (.ota) • iMelody (.imy) | |
МП3 | ДА | Моно/стерео 8–320 Кбит/с с постоянной (CBR) или переменной скоростью передачи данных (VBR) | • MP3 (.mp3) • MPEG-4 (.mp4, .m4a, Android 10+) • Матроска (.mkv, Android 10+) | |
Опус | Андроид 10+ | Андроид 5.0+ | • Огг (.ogg) • Матроска (.mkv) | |
ПКМ/ВОЛНА | Андроид 4.1+ | ДА | 8- и 16-битный линейный PCM (скорость до предела аппаратного обеспечения). Частоты дискретизации для необработанных записей PCM: 8000, 16000 и 44100 Гц. | ВОЛНА (.wav) |
Ворбис | ДА | • Огг (.ogg) • Матроска (.mkv, Android 4.0+) • MPEG-4 (.mp4, .m4a, Android 10+) |
Видео поддержка
Видео форматы
Формат | Кодер | Декодер | Подробности | Типы файлов Форматы контейнеров |
---|---|---|---|---|
H.263 | ДА | ДА | Поддержка H.263 не является обязательной в Android 7.0+. | • 3GPP (.3gp) • MPEG-4 (.mp4) • Матроска (.mkv) |
H.264 АВК Базовый профиль (BP) | Андроид 3.0+ | ДА | • 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, только звук AAC, поиск недоступен, Android 3.0+) • Матроска (.mkv) | |
H.264 АВК Основной профиль (МП) | Андроид 6.0+ | ДА | Требуется декодер, рекомендуется кодер. | |
H.265 HEVC | Андроид 5.0+ | Основной профиль уровня 3 для мобильных устройств и основной профиль уровня 4.1 для Android TV | • MPEG-4 (.mp4) • Матроска (.mkv) | |
МПЕГ-4 СП | ДА | 3GPP (.3gp) | ||
ВП8 | Андроид 4.3+ | Андроид 2.3.3+ | Потоковая передача доступна только на Android 4.0 и выше. | • ВебМ (.webm) • Матроска (.mkv, Android 4.0+) |
ВП9 | Андроид 4.4+ | • ВебМ (.webm) • Матроска (.mkv) | ||
АВ1 | Андроид 14+ | Андроид 10+ | Кодировщик и декодер являются обязательными, начиная с Android 14. | • MPEG-4 (.mp4) • Матроска (.mkv) |
Рекомендации по кодированию видео
В таблице ниже перечислены профили и параметры кодирования видео Android Media Framework, рекомендуемые для воспроизведения с использованием кодека базового профиля H.264. Те же рекомендации касаются кодека Main Profile, который доступен только в Android 6.0 и более поздних версиях.
SD (низкое качество) | SD (высокое качество) | HD 720p (нет данных на всех устройствах) | |
---|---|---|---|
Разрешение видео | 176 х 144 пикселей | 480 х 360 пикселей | 1280 х 720 пикселей |
Частота кадров видео | 12 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду |
Битрейт видео | 56 Кбит/с | 500 Кбит/с | 2 Мбит/с |
Аудиокодек | ААС-LC | ААС-LC | ААС-LC |
Аудиоканалы | 1 (моно) | 2 (стерео) | 2 (стерео) |
Битрейт аудио | 24 Кбит/с | 128 Кбит/с | 192 Кбит/с |
В таблице ниже перечислены профили и параметры кодирования видео Android Media Framework, рекомендуемые для воспроизведения с использованием медиакодека VP8.
SD (низкое качество) | SD (высокое качество) | HD 720p (нет данных на всех устройствах) | HD 1080p (нет данных на всех устройствах) | |
---|---|---|---|---|
Разрешение видео | 320 х 180 пикселей | 640 х 360 пикселей | 1280 х 720 пикселей | 1920 х 1080 пикселей |
Частота кадров видео | 30 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду | 30 кадров в секунду |
Битрейт видео | 800 Кбит/с | 2 Мбит/с | 4 Мбит/с | 10 Мбит/с |
Рекомендации по декодированию видео
Реализации устройств должны поддерживать динамическое разрешение видео и переключение частоты кадров через стандартные API-интерфейсы 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) | ||
гифка | ДА | GIF (.gif) | ||
JPEG | ДА | ДА | Базовый+прогрессивный | JPEG (.jpg) |
PNG | ДА | ДА | PNG (.png) | |
ВебП | Андроид 4.0+ Без потерь: Android 10+ Прозрачность: Android 4.2.1+ | Андроид 4.0+ Без потерь: Android 4.2.1+ Прозрачность: Android 4.2.1+ | Кодирование без потерь может быть достигнуто на Android 10 с качеством 100. | ВебП (.webp) |
ХИФ | Андроид 8.0+ | HEIF (.heic; .heif) | ||
AVIF (базовый профиль) | Андроид 14+ | Андроид 14+ | Кодировщик и декодер являются обязательными, начиная с Android 14. | АВИФ (.avif) |
Сетевые протоколы
Для воспроизведения аудио и видео поддерживаются следующие сетевые протоколы:
- РТСП (РТП, СДП)
- Прогрессивная потоковая передача HTTP/HTTPS
- Проект протокола прямой трансляции HTTP/HTTPS:
- Только медиафайлы MPEG-2 TS
- Протокол версии 3 Android 4.0 и выше
- Протокол версии 2 Android 3.x
- Не поддерживается до Android 3.0.
Примечание. HTTPS не поддерживается до Android 3.1.
HDR-форматы видео
OEM-производители могут включить любой формат HDR по своему выбору с помощью архитектуры Android HDR, которая обеспечивает основные потребности форматов HDR: 10-битные буферы, метаданные (статические, динамические и отсутствие), функцию передачи и обработку цветового пространства.
Чтобы обеспечить согласованность действий разработчиков и рассмотреть ключевые варианты использования HDR, мы требуем, чтобы OEM-производители поддерживали несколько базовых форматов на устройствах, поддерживающих HDR:
- Для воспроизведения профессионального контента, например потокового воспроизведения фильмов, нам требуется HDR10.
- Для захвата и воспроизведения пользовательского контента нам требуется, чтобы HLG10 обеспечивал единообразную работу на устройствах Android.
OEM-производители, добавляющие поддержку HDR, должны поддерживать эти форматы, но также могут поддерживать дополнительные форматы, такие как HDR10+ или Dolby Vision.
Формат | Передаточная функция | Метаданные | Кодек | Битовая глубина |
---|---|---|---|---|
HLG10 | ГВУ | Нет | HEVC | 10-битный |
HDR10 | ПК | Статический | HEVC | 10-битный |
HDR10+ | ПК | Статический | HEVC | 10-битный |
Долби Видение 8.4 | ГВУ | Динамический | HEVC | 10-битный |
Рекомендации по работе с форматом
Формат захвата | Формат загрузки | Формат доставки |
ГВУ | Серверная часть приложения поддерживает HDR HLG | Устройства, поддерживающие HDR (HLG): ГВУ Устройства поддерживают HDR (HLG не поддерживает только PQ): SDR (карта тонов от HLG до SDR на серверной стороне) Устройства, которые не поддерживают HDR: SDR (карта тонов от HLG до SDR на серверной стороне) |
Вариант использования 2: захват с помощью встроенной камеры или импорт из галереи пользователя (серверная часть приложения поддерживает HDR)
Формат захвата | Формат загрузки | Формат доставки |
ГВУ | ГВУ | То же, что и вариант использования захвата данных в приложении. |
HDR10+ | ГВУ Карта тонов из HDR10+ (PQ) в HLG перед загрузкой с использованием API-интерфейсов преобразователя. | То же, что и вариант использования захвата данных в приложении. |
ДВ8.4 | ГВУ (DV8.4 использует HLG, и битовый поток будет вести себя как HLG, поэтому преобразование тонов не требуется) | То же, что и вариант использования захвата данных в приложении. |
Вариант использования 3. Серверная часть приложения не поддерживает HDR.
Формат захвата | Формат загрузки | Формат доставки |
Любой формат | СДР Карта тонов из HLG в SDR перед загрузкой с использованием API преобразователя | СДР |