Format media yang didukung

Dokumen ini menjelaskan codec media, penampung, dan dukungan protokol jaringan yang disediakan oleh platform Android.

Sebagai developer aplikasi, Anda dapat menggunakan codec media apa pun yang tersedia di seluruh perangkat yang didukung Android, termasuk yang disediakan oleh platform Android dan yang dikhususkan bagi perangkat tertentu. Namun, praktik terbaiknya adalah menggunakan profil encoding media yang tidak dikhususkan bagi perangkat apa pun.

Tabel di bawah ini menjelaskan dukungan format media yang disertakan di platform Android. Codec yang tidak dijamin tersedia di semua versi platform Android akan ditulis dalam tanda kurung, misalnya: (Android 3.0+). Perlu diketahui bahwa perangkat seluler tertentu mungkin mendukung format atau jenis file lain yang tidak dicantumkan dalam tabel ini.

Bagian 5 dari Definisi Kompatibilitas Android menentukan format media yang harus didukung oleh perangkat agar kompatibel dengan Android 8.1.

Dukungan audio

Format dan codec audio

Format / Codec Encoder Decoder Detail Jenis File / Format Penampung yang Didukung
AAC LC Dukungan untuk konten mono/stereo/5.0/5.1 dengan frekuensi pengambilan sampel standar dari 8 hingga 48 kHz. • 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• ADTS raw AAC (.aac, dekode di Android 3.1+, enkode di Android 4.0+, ADIF tidak didukung)
• MPEG-TS (.ts, tidak dapat digeser, Android 3.0+)
HE-AACv1 (AAC+)
(Android 4.1+)
HE-AACv2 (AAC+ ditingkatkan)   Dukungan untuk konten stereo/5.0/5.1 dengan frekuensi pengambilan sampel standar dari 8 hingga 48 kHz.
AAC ELD (AAC yang ditingkatkan dengan delay rendah)
(Android 4.1+)

(Android 4.1+)
Dukungan untuk konten mono/stereo dengan frekuensi pengambilan sampel standar dari 16 hingga 48 kHz
AMR-NB 4,75 hingga 12,2 kbps dengan sampel @ 8 kHz 3GPP (.3gp)
AMR-WB 9 frekuensi dari 6,60 kbit/dtk hingga 23,85 kbit/dtk dengan sampel @ 16 kHz 3GPP (.3gp)
FLAC
(Android 4.1+)

(Android 3.1+)
Mono/Stereo (tanpa multisaluran). Frekuensi pengambilan sampel hingga 48 kHz (tetapi direkomendasikan hingga 44,1 kHz di perangkat dengan output 44,1 kHz, karena penurun sampel 48 hingga 44,1 kHz tidak menyertakan filter tingkat rendah). Direkomendasikan 16-bit; tidak ada dither yang diterapkan untuk 24-bit. hanya FLAC (.flac)
GSM   Android mendukung dekode GSM di perangkat telepon GSM(.gsm)
MIDI   MIDI Jenis 0 dan 1. DLS Versi 1 dan 2. XMF dan Mobile XMF. Dukungan untuk format nada dering RTTTL/RTX, OTA, dan iMelody • Jenis 0 dan 1 (.mid, .xmf, .mxmf)
• RTTTL/RTX (.rtttl, .rtx) • OTA (.ota) • iMelody (.imy)
MP3   Mono/Stereo 8-320 Kbps konstan (CBR) atau kecepatan bit variabel (VBR) MP3 (.mp3)
Opus
(Android 5.0+)
Matroska (.mkv)
PCM/WAVE
(Android 4.1+)
PCM linear 8- dan 16-bit (frekuensi hingga batas hardware). Frekuensi pengambilan sampel untuk rekaman PCM mentah pada 8000, 16000, dan 44100 Hz. WAVE (.wav)
Vorbis     • Ogg (.ogg)
• Matroska (.mkv, Android 4.0+)

Dukungan video

Format dan codec video

Format / Codec Encoder Decoder Detail Jenis File / Format Penampung yang Didukung
H.263 Dukungan untuk H.263 bersifat opsional di Android 7.0+ • 3GPP (.3gp)
• MPEG-4 (.mp4)
H.264 AVC
Profil Dasar Pengukuran (BP)

(Android 3.0+)
• 3GPP (.3gp)
• MPEG-4 (.mp4) • MPEG-TS (.ts, AAC hanya audio, tidak dapat digeser, Android 3.0+)
H.264 AVC
Profil Utama (MP)

(Android 6.0+)
Decoder bersifat wajib, encoder direkomendasikan.
H.265 HEVC
(Android 5.0+)
Profil Utama Level 3 untuk perangkat seluler dan Profil Utama Level 4.1 untuk Android TV • MPEG-4 (.mp4)
MPEG-4 SP     3GPP (.3gp)
VP8
(Android 4.3+)

(Android 2.3.3+)
Streaming hanya dapat dilakukan di Android 4.0 dan yang lebih baru WebM (.webm)
• Matroska (.mkv, Android 4.0+)
VP9
(Android 4.4+)
WebM (.webm)
• Matroska (.mkv, Android 4.0+)

Rekomendasi encoding video

Tabel di bawah ini mencantumkan profil encoding video framework media Android dan parameter yang direkomendasikan untuk pemutaran menggunakan codec Profil Dasar Pengukuran H.264. Rekomendasi yang sama berlaku untuk codec Profil Utama, yang hanya tersedia di Android 6.0 dan yang lebih baru.

  SD (Kualitas rendah) SD (Kualitas tinggi) HD 720p (Tidak semua perangkat tersedia)
Resolusi video 176 x 144 px 480 x 360 px 1280 x 720 px
Frekuensi gambar video 12 fps 30 fps 30 fps
Kecepatan bit video 56 Kbps 500 Kbps 2 Mbps
Codec audio AAC-LC AAC-LC AAC-LC
Saluran audio 1 (mono) 2 (stereo) 2 (stereo)
Kecepatan bit audio 24 Kbps 128 Kbps 192 Kbps

Tabel di bawah ini mencantumkan profil encoding video framework media Android dan parameter yang direkomendasikan untuk pemutaran menggunakan codec media VP8.

  SD (Kualitas rendah) SD (Kualitas tinggi) HD 720p (Tidak semua perangkat tersedia) HD 1080p (Tidak tersedia di semua perangkat)
Resolusi video 320 x 180 px 640 x 360 px 1280 x 720 px 1920 x 1080 px
Frekuensi gambar video 30 fps 30 fps 30 fps 30 fps
Kecepatan bit video 800 Kbps 2 Mbps 4 Mbps 10 Mbps

Rekomendasi dekode video

Penerapan perangkat harus mendukung resolusi video dinamis dan peralihan frekuensi gambar melalui API Android standar dalam aliran yang sama untuk semua codec VP8, VP9, H.264, dan H.265 secara real time dan hingga resolusi maksimal yang didukung oleh setiap codec di perangkat.

Penerapan yang mendukung decoder Dolby Vision harus mengikuti pedoman berikut:

  • Menyediakan ekstraktor dengan kemampuan Dolby Vision.
  • Menampilkan konten Dolby Vision dengan benar di layar perangkat atau di port output video standar (misalnya HDMI).
  • Mengatur indeks trek lapisan dasar yang mendukung kompatibilitas mundur (jika ada) agar sama dengan indeks trek lapisan Dolby Vision gabungan.

Persyaratan streaming video

Ada persyaratan tambahan untuk konten video yang diputar dengan streaming melalui HTTP atau RTSP:

  • Untuk penampung 3GPP dan MPEG-4, atom moov harus mendahului setiap atom mdat, tetapi harus menggantikan atom ftyp.
  • Untuk penampung 3GPP, MPEG-4, dan WebM, sampel audio dan video yang berhubungan dengan beda waktu yang sama tidak boleh memiliki selisih lebih dari 500 KB. Untuk meminimalkan kecenderungan audio/video ini, sebaiknya sisipkan audio dan video dalam potongan yang berukuran lebih kecil.

Dukungan gambar

Format / Codec Encoder Decoder Detail Jenis File / Format Penampung yang Didukung
BMP     BMP (.bmp)
GIF     GIF (.gif)
JPEG Dasar+progresif JPEG (.jpg)
PNG   PNG (.png)
WebP
(Android 4.0+)
(Lossless, Transparansi, Android 4.2.1+)

(Android 4.0+)
(Lossless, Transparansi, Android 4.2.1+)
  WebP (.webp)
HEIF  
(Android 8.0+)
  HEIF (.heic; .heif)

Protokol jaringan

Protokol jaringan berikut didukung untuk pemutaran audio dan video:

  • RTSP (RTP, SDP)
  • Streaming progresif HTTP/HTTPS
  • Protokol draf streaming langsung HTTP/HTTPS:
    • Hanya file media MPEG-2 TS
    • Protokol versi 3 (Android 4.0 dan yang lebih baru)
    • Protokol versi 2 (Android 3.x)
    • Tidak didukung sebelum Android 3.0

Note: HTTPS tidak didukung sebelum Android 3.1.