支持的媒体格式

支持的媒体格式

本文档介绍了 Android 平台支持的媒体编解码器、容器和网络协议。

下表描述了 Android 平台内置的媒体格式支持。“是”表示该格式适用于运行所有 Android 版本的手机和平板电脑。如果指定了特定的 Android 平台,则该格式适用于运行该版本及所有更高版本的手机和平板电脑。该格式可能也适用于更早的版本,但无法保证。在手机和平板电脑以外的外形规格上,媒体格式支持可能有所不同。

请注意,特定移动设备可能支持这些表格中未列出的其他格式或文件类型。此外,如果您直接使用 MediaCodec,则无论支持的文件类型和容器格式如何,您都可以访问任何可用的媒体格式。

音频支持

格式

编码器

解码器

文件类型容器格式

详情

提取器

混合器

AAC LC

• 3GPP (.3gp)

• MPEG-4 (.mp4, .m4a)• ADTS 原始 AAC (.aac,不支持 ADIF)• MPEG-TS (.ts,不可搜索,Android 3.0+)

• 3GPP (.3gp)

• MPEG-4 (.mp4, .m4a)• ADTS 原始 AAC (.aac,不支持 ADIF)• MPEG-TS (不确定) (.ts,不可搜索,Android 3.0+)

支持 8 到 48 kHz 标准采样率的单声道/立体声/5.0/5.1 内容。

HE-AACv1 (AAC+)

Android 4.1 及更高版本

HE-AACv2 (增强型 AAC+)

支持 8 到 48 kHz 标准采样率的立体声/5.0/5.1 内容。

xHE-AAC

Android 9 及更高版本

支持 8 到 48 kHz 标准采样率的最高 8 声道内容

AAC ELD (增强型低延迟 AAC)

Android 4.1 及更高版本

Android 4.1 及更高版本

支持 16 到 48 kHz 标准采样率的单声道/立体声内容

AMR-NB

• 3GPP (.3gp)• AMR (.amr)

• 3GPP (.3gp)• AMR (.amr)

4.75 到 12.2 kbps,采样率 8kHz

AMR-WB

9 种速率,从 6.60 kbit/s 到 23.85 kbit/s,采样率 16kHz

FLAC

Android 4.1 及更高版本

Android 3.1 及更高版本

• FLAC (.flac)• MPEG-4 (.mp4, .m4a, Android 10+)• Matroska (.mkv)

单声道/立体声(无多声道)。采样率最高 48 kHz(但对于具有 44.1 kHz 输出的设备,建议最高 44.1 kHz,因为 48 到 44.1 kHz 的降采样器不包含低通滤波器)。建议 16 位;24 位不应用抖动。

MIDI

• 类型 0 和 1 (.mid, .xmf, .mxmf)• RTTTL/RTX (.rtttl, .rtx)• OTA (.ota)• iMelody (.imy)

MIDI 类型 0 和 1。DLS 版本 1 和 2。XMF 和 Mobile XMF。支持铃声格式 RTTTL/RTX、OTA 和 iMelody

MP3

• MP3 (.mp3)• MPEG-4 (.mp4, .m4a, Android 10+)• Matroska (.mkv, Android 10+)

单声道/立体声 8-320Kbps 固定 (CBR) 或可变比特率 (VBR)

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(速率最高可达硬件限制)。原始 PCM 录制的采样率为 8000、16000 和 44100 Hz。

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基准 配置文件 (BP)

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主要 配置文件 (MP)

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 开始,编码器和解码器是强制性的。

视频编码建议

下表列出了使用 H.264 基准配置文件编解码器进行播放时推荐的 Android 媒体框架视频编码配置文件和参数。相同的建议也适用于主配置文件编解码器,该编解码器仅在 Android 6.0 及更高版本中可用。

标清(低质量)

标清(高质量)

HD 720p(所有设备均不适用)

视频分辨率

176 x 144 像素

480 x 360 像素

1280 x 720 像素

视频帧率

12 fps

30 fps

30 fps

视频比特率

56 Kbps

500 Kbps

2 Mbps

音频编解码器

AAC-LC

AAC-LC

AAC-LC

音频声道

1(单声道)

2(立体声)

2(立体声)

音频比特率

24 Kbps

128 Kbps

192 Kbps

下表列出了使用 VP8 媒体编解码器进行播放时推荐的 Android 媒体框架视频编码配置文件和参数。

标清(低质量)

标清(高质量)

HD 720p(所有设备均不适用)

HD 1080p(所有设备均不适用)

视频分辨率

320 x 180 像素

640 x 360 像素

1280 x 720 像素

1920 x 1080 像素

视频帧率

30 fps

30 fps

30 fps

30 fps

视频比特率

800 Kbps

2 Mbps

4 Mbps

10 Mbps

视频解码建议

设备实现必须通过标准 Android API 在同一流中实时支持所有 VP8、VP9、H.264 和 H.265 编解码器的动态视频分辨率和帧速率切换,最高可达设备上每个编解码器支持的最大分辨率。

支持杜比视界解码器的实现必须遵循以下准则

提供支持杜比视界功能的提取器。

在设备屏幕或标准视频输出端口(例如 HDMI)上正确显示杜比视界内容。

将向后兼容的基层(如果存在)的轨道索引设置为与合并的杜比视界层的轨道索引相同。

视频流式传输要求

对于通过 HTTP 或 RTSP 流式传输的视频内容,有额外的要求

对于 3GPP 和 MPEG-4 容器,moov 原子必须在任何 mdat 原子之前,但必须在 ftyp 原子之后。

对于 3GPP、MPEG-4 和 WebM 容器,对应相同时间偏移的音频和视频样本之间的间隔不得超过 500 KB。为了最大程度地减少这种音视频漂移,请考虑以更小的块大小交错音频和视频。

图像支持

格式

编码器

解码器

详情

文件类型容器格式

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)

网络协议

音频和视频播放支持以下网络协议

RTSP (RTP, SDP)

HTTP/HTTPS 渐进式流式传输

HTTP/HTTPS 直播 草案协议

仅支持 MPEG-2 TS 媒体文件

协议版本 3 Android 4.0 及更高版本

协议版本 2 Android 3.x

Android 3.0 之前不支持

注意:Android 3.1 之前不支持 HTTPS。

HDR 视频格式

原始设备制造商 (OEM) 可以使用 Android HDR 架构启用他们选择的任何 HDR 格式,该架构提供了 HDR 格式的核心需求:10 位缓冲区、元数据(静态、动态和无)、传输函数和色彩空间处理。

为了确保开发人员的一致性并解决关键的 HDR 用例,我们要求原始设备制造商在支持 HDR 的设备上支持一些基本格式

对于专业内容播放,例如流媒体电影,我们要求支持 HDR10。

对于用户生成的内容捕获和播放,我们要求支持 HLG10,以提供在所有 Android 设备上一致的体验。

添加 HDR 支持的原始设备制造商必须支持这些格式,但也可以支持其他格式,如 HDR10+ 或杜比视界。

格式

传输函数

元数据

编解码器

位深度

HLG10

HLG

HEVC

10 位

HDR10

PQ

静态

HEVC

10 位

HDR10+

PQ

静态

HEVC

10 位

杜比视界 8.4

HLG

动态

HEVC

10 位

格式处理建议

捕获格式

上传格式

交付格式

HLG

应用后端支持 HDR HLG

支持 HDR 的设备 (HLG)HLG

设备支持 HDR(不支持 HLG,仅支持 PQ)

SDR(在后端将 HLG 色调映射到 SDR)

不支持 HDR 的设备:SDR(在后端将 HLG 色调映射到 SDR)

用例 2:原生摄像头捕获或从用户图库导入(应用后端支持 HDR)

捕获格式

上传格式

交付格式

HLG

HLG

与应用内捕获用例相同

HDR10+

HLG在上传之前,使用转换器 API 将 HDR10+ (PQ) 色调映射到 HLG

与应用内捕获用例相同

DV8.4

HLG(DV8.4 使用 HLG,且比特流将表现为 HLG,因此无需色调映射)

与应用内捕获用例相同

用例 3:应用后端不支持 HDR

捕获格式

上传格式

交付格式

任何格式

SDR在上传之前,使用转换器 API 将 HLG 色调映射到 SDR

SDR

相关阅读

365bet官网体育投注 编程调试什么意思

编程调试什么意思

365bet官网体育投注 19种方法来在《上古卷轴5:天际》中轻松赚钱

19种方法来在《上古卷轴5:天际》中轻松赚钱

365bet官网体育投注 一文看懂DPDK

一文看懂DPDK

365提款验证地址是什么 他22岁身家过亿,他23岁月薪5000..两位95后高人气网红,揭露人生最残酷真相..

他22岁身家过亿,他23岁月薪5000..两位95后高人气网红,揭露人生最残酷真相..

365提款验证地址是什么 最值得入手的小米蓝牙耳机:降噪、音质、续航全方位体验

最值得入手的小米蓝牙耳机:降噪、音质、续航全方位体验

365提款验证地址是什么 “佩鲁斯的荣誉”可以加多少力量?测试dnf60版本佩鲁斯项链buff叠加次数

“佩鲁斯的荣誉”可以加多少力量?测试dnf60版本佩鲁斯项链buff叠加次数

365提款验证地址是什么 微周刊 | 丽博观古·处州遗存——(14) 处州廊桥 ②

微周刊 | 丽博观古·处州遗存——(14) 处州廊桥 ②

365bet导航 《极限竞速地平线5》史低价格介绍

《极限竞速地平线5》史低价格介绍

365提款验证地址是什么 安卓模拟器运行卡顿原因七大解决方法-常见问题客服中心

安卓模拟器运行卡顿原因七大解决方法-常见问题客服中心