기사 디렉토리
머리말
이 문서는 Android 플랫폼에서 제공하는 미디어 코덱, 컨테이너 및 네트워크 프로토콜 지원에 대해 설명합니다. (구글 문서에서 발췌)
애플리케이션 개발자는 모든 Android 기기에서 사용 가능한 모든 미디어 코덱(Android 플랫폼 제공 미디어 코덱 및 기기별 미디어 코덱 포함)을 사용할 수 있습니다. 그러나 가장 좋은 방법은 장치 독립적인 미디어 인코딩 프로필을 사용하는 것입니다.
다음 표는 Android 플랫폼에 내장된 미디어 형식 지원을 설명합니다. 모든 Android 플랫폼 버전에서 사용할 수 있다고 보장되지 않는 코덱은 괄호 안에 표시됩니다(예: (Android 3.0 이상). 특정 모바일 장치는 이 표에 나열되지 않은 다른 형식이나 파일 형식을 지원할 수 있습니다.
Android 호환성 정의의 섹션 5는 기기가 Android 8.1과 호환되기 위해 지원해야 하는 미디어 형식을 지정합니다.
1. 오디오 지원
오디오 형식 및 코덱
형식/코덱 | 인코더 | 디코더 | 세부 | 지원되는 파일 유형/컨테이너 형식 |
---|---|---|---|---|
AAC LC | • | • | 8-48kHz의 표준 샘플 속도로 모노/스테레오/5.0/5.1 콘텐츠를 지원합니다. | • 3GPP(.3gp) • MPEG-4(.mp4, .m4a) • 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-48kHz의 표준 샘플 속도로 지원됩니다. | ||
AAC ELD(향상된 낮은 대기 시간 AAC) | • (안드로이드 4.1 이상) |
• (안드로이드 4.1 이상) |
16-48kHz의 표준 샘플 속도로 모노/스테레오 콘텐츠 지원 | |
AMR-NB | • | • | 4.75~12.2kbps, 샘플링 속도 8kHz | 3GPP(.3gp) |
AMR-WB | • | • | 16kHz 샘플 속도의 9가지 비트 속도(6.60-23.85kbit/s 사이) 선택 | 3GPP(.3gp) |
FLAC | • (안드로이드 4.1 이상) |
• (안드로이드 3.1 이상) |
모노/스테레오(다중 채널 아님). 최대 48kHz의 샘플링 속도가 가능합니다(단, 44.1kHz 출력 장치의 경우 48-44.1kHz 다운샘플러에 저역 통과 필터가 포함되어 있지 않으므로 44.1kHz 이하가 권장됨). 16비트가 권장되며 24비트의 경우 디더링이 적용되지 않습니다. | FLAC(.flac)만 지원됩니다. |
GSM | • | Android는 전화 장치에서 GSM 디코딩을 지원합니다. | GSM(.gsm) | |
미디 | • | MIDI 유형 0 및 1. DLS 버전 1 및 2. XMF 및 모바일 XMF. 벨소리 형식 RTTTL/RTX, OTA 및 iMelody 지원 | • 유형 0 및 1(.mid, .xmf, .mxmf) • RTTTL/RTX(.rtttl, .rtx) • OTA(.ota) • iMelody(.imy) |
|
MP3 | • | 모노/스테레오 8-320Kbps 상수(CBR) 또는 가변 비트 전송률(VBR) | MP3(.mp3) | |
작 | • (안드로이드 5.0 이상) |
마트로스카(.mkv) | ||
PCM/웨이브 | • (안드로이드 4.1 이상) |
• | 8비트 및 16비트 선형 PCM(하드웨어 캡까지의 비트 전송률). 8000, 16000 및 44100Hz에서 원시 PCM을 녹음하는 데 필요한 샘플링 속도. | 웨이브(.wav) |
보비스 | • | • Ogg(.ogg) • Matroska(.mkv, Android 4.0 이상) |
2. 비디오 지원
비디오 형식 및 코덱
형식/코덱 | 인코더 | 디코더 | 세부 | 지원되는 파일 유형/컨테이너 형식 |
---|---|---|---|---|
H.263 | • | • | Android 7.0 이상에서는 H.263 지원이 필요하지 않습니다. | • 3GPP(.3gp) • MPEG-4(.mp4) |
H.264 AVC 베이스라인 프로파일(BP) |
• (안드로이드 3.0 이상) |
• | • 3GPP(.3gp) • MPEG-4(.mp4) • MPEG-TS(.ts, AAC 오디오 전용, 탐색 불가능, Android 3.0 이상) |
|
H.264 AVC 메인 프로파일(MP) |
• (안드로이드 6.0 이상) |
• | 디코더가 필요하고 인코더가 권장됩니다. | |
H.265 HEVC | • (안드로이드 5.0 이상) |
모바일용 기본 프로필 레벨 3 및 Android TV용 기본 프로필 레벨 4.1 | • MPEG-4(.mp4) |
|
MPEG-4 SP | • | 3GPP(.3gp) | ||
VP8 | • (안드로이드 4.3 이상) |
• (안드로이드 2.3.3 이상) |
Android 4.0 이상에서만 스트리밍할 수 있습니다. | • WebM (.webm) • Matroska(.mkv, Android 4.0 이상) |
VP9 | • (안드로이드 4.4 이상) |
• WebM (.webm) • Matroska(.mkv, Android 4.0 이상) |
비디오 인코딩 권장 사항
下表列出了建议使用 H.264 Baseline Profile 编解码器进行播放的 Android 媒体框架视频编码配置文件和参数。同样的建议也适用于 Main Profile 编解码器,该编解码器仅在 Android 6.0 及更高版本中可用。
标清(低画质) | 标清(高画质) | 高清 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 媒体框架视频编码配置文件和参数。
标清(低画质) | 标清(高画质) | 高清 720p(在所有设备上均不适用) | 高清 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 |
视频解码建议
对于所有 VP8、VP9、H.264 和 H.265 编解码器,设备实现都必须支持通过标准 Android API 在同一视频流内实时进行动态视频分辨率和帧速率切换,并且能够支持设备上每个编解码器所支持的最大分辨率。
支持杜比视界解码器的实现必须遵循以下准则:
-
提供具有杜比视界功能的提取器。
-
在设备屏幕或标准视频输出端口(如 HDMI)上正确显示杜比视界内容。
-
将向后兼容的基本层(如果存在)的轨道索引设为与组合式杜比视界层的轨道索引相同。
视频流式传输要求
对于通过 HTTP 或 RTSP 流式传输的视频内容,还有一些其他要求:
- 对于 3GPP 和 MPEG-4 容器,moov Atom 必须位于任何 mdat Atom 之前,但必须位于 ftyp Atom 之后。
- 对于 3GPP、MPEG-4 和 WebM 容器,对应于相同时间偏移量的音频和视频样本的偏差不能超过 500
KB。要最大限度地减少这种音频/视频偏差,请考虑以较小的区块大小交错插入音频和视频。
三、图片支持
格式/编解码器 | 编码器 | 解码器 | 详细信息 | 支持的文件类型/容器格式 |
---|---|---|---|---|
BMP | • | BMP (.bmp) | ||
GIF | • | GIF (.gif) | ||
JPEG | • | • | 基准式 + 渐进式 | JPEG (.jpg) |
PNG | • | • | PNG (.png) | |
WebP | • (Android 4.0 及更高版本) (无损、透明度、Android 4.2.1 及更高版本) |
• (Android 4.0 及更高版本) (无损、透明度、Android 4.2.1 及更高版本) |
WebP (.webp) | |
HEIF | • (Android 8.0 及更高版本) |
HEIF(.heic;.heif) |
四、网络协议
音频和视频播放支持以下网络协议:
- RTSP(RTP、SDP)
- HTTP/HTTPS 渐进式流式传输
- HTTP/HTTPS 实时流式传输草案协议:
- 仅限 MPEG-2 TS 媒体文件
- 协议版本 3(Android 4.0 及更高版本)
- 协议版本 2 (Android 3.x)
- 在 Android 3.0 之前的版本中不支持