Android プラットフォームでサポートされているマルチメディア形式

序文

このドキュメントでは、Android プラットフォームで提供されるメディア コーデック、コンテナ、およびネットワーク プロトコルのサポートについて説明します。(グーグルドキュメントより抜粋)

アプリケーション開発者は、任意の Android デバイスで利用可能な任意のメディア コーデックを使用できます (Android プラットフォームが提供するメディア コーデックやデバイス固有のメディア コーデックを含む)。ただし、ベスト プラクティスは、デバイスに依存しないメディア エンコーディング プロファイルを使用することです。

次の表では、Android プラットフォームに組み込まれているメディア形式のサポートについて説明します。すべての Android プラットフォーム バージョンで使用できることが保証されていないコーデックは、括弧内に示されています (例: (Android 3.0 以降))。特定のモバイル デバイスは、この表に記載されていない他の形式またはファイル タイプをサポートしている可能性があることに注意してください。

Android 互換性定義のセクション 5 では、Android 8.1 との互換性を保つためにデバイスがサポートする必要があるメディア形式を指定しています。

1.音声サポート

オーディオ形式とコーデック

フォーマット/コーデック エンコーダー デコーダ 詳細 サポートされているファイルの種類/コンテナー形式
AACLC モノ/ステレオ/5.0/5.1 コンテンツをサポートし、標準サンプル レートは 8 ~ 48 kHz です。 • 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+)
(Android 4.1 以降)
HE-AACv2 (拡張 AAC+)   ステレオ/5.0/5.1 コンテンツは、8 ~ 48 kHz の標準サンプル レートでサポートされます。
AAC ELD (拡張低レイテンシー AAC)
(Android 4.1 以降)

(Android 4.1 以降)
16 ~ 48 kHz の標準サンプル レートでモノラル/ステレオ コンテンツをサポート
AMR-NB 4.75~12.2kbps、サンプリングレート8kHz 3GPP (.3gp)
AMR-WB 16 kHz のサンプル レートで 9 ビット レート (6.60 ~ 23.85 kbit/s の間) の選択 3GPP (.3gp)
フラック
(Android 4.1 以降)

(Android 3.1 以降)
モノ/ステレオ (マルチチャンネルではありません)。最大 48 kHz のサンプリング レートが可能です (ただし、44.1 kHz の出力を持つデバイスの場合、48 ~ 44.1 kHz のダウンサンプラーにはローパス フィルターが含まれていないため、44.1 kHz を超えることは推奨されません)。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 ~ 320 Kbps 固定 (CBR) または可変ビット レート (VBR) MP3 (.mp3)
オーパス
(Android 5.0 以降)
マトロスカ (.mkv)
PCM/ウェーブ
(Android 4.1 以降)
8 ビットおよび 16 ビットのリニア PCM (ハードウェア上限までのビットレート)。生の PCM を 8000、16000、および 44100 Hz で録音するために必要なサンプリング レート。 ウェーブ (.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)

(Android 3.0 以降)
• 3GPP (.3gp)
• MPEG-4 (.mp4) • MPEG-TS (.ts、AAC オーディオのみ、シーク不可、Android 3.0 以降)
H.264 AVC
メイン プロファイル (MP)

(Android 6.0 以降)
デコーダーが必要で、エンコーダーが推奨されます。
H.265 HEVC
(Android 5.0 以降)
モバイル用のメイン プロファイル レベル 3 および Android TV 用のメイン プロファイル レベル 4.1 • MPEG-4 (.mp4)
MPEG-4 SP     3GPP (.3gp)
VP8
(Android 4.3 以降)

(Android 2.3.3 以降)
Android 4.0 以降でのみストリーミングできます WebM (.webm)
• Matroska (.mkv、Android 4.0 以降)
VP9
(Android 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 之前的版本中不支持

おすすめ

転載: blog.csdn.net/qq_35831940/article/details/118909572