Formati multimediali supportati

Questo documento descrive il supporto di codec multimediali, contenitori e protocolli di rete forniti dalla piattaformaAndroid.

Le tabelle seguenti descrivono il supporto del formato multimediale incorporato nella piattaforma Android. SI significa che il formato è disponibile su tutte le versioni di Android. Dove è specificata una specifica piattaforma Android, il formato è disponibile per quella versione e per tutte le versioni successive. Il formato potrebbe essere disponibile anche nelle versioni precedenti, ma questo non è garantito.

Nota che un particolare dispositivo mobile potrebbe supportare ulteriori formati o tipi di file che non sono elencati in queste tabelle. Inoltre, se si utilizza unMediaCodec direttamente, è possibile accedere a qualsiasi formato multimediale disponibile, indipendentemente dai tipi di file e dai formati contenitore supportati.

Supporto audio

Formato Encoder Decoder Dettagli Tipi di file
Formati contenitore
AAC LC Supporto per mono/stereo/5.0/5.1 con frequenze di campionamento standard da 8 a 48 kHz. – 3GPP (.3gp)
– MPEG-4 (.mp4, .m4a)
– ADTS raw AAC (.aac, decodifica in Android 3.1+, codifica in Android 4.0+, ADIF non supportato)
– MPEG-TS (.ts, non ricercabile, Android 3.0+)
HE-AACv1 (AAC+) Android 4.1+ YES
HE-AACv2 (enhanced AAC+) YES Supporto per stereo/5.0/5.1 con frequenze di campionamento standard da 8 a 48 kHz.
xHE-AAC Android 9+ Supporto per contenuti fino a 8ch con frequenze di campionamento standard da 8 a 48 kHz
AAC ELD (enhanced low delay AAC) Android 4.1+ Android 4.1+ Supporto per contenuti mono/stereo con frequenze di campionamento standard da 16 a 48 kHz
AMR-NB 4.75 a 12.2 kbps campionati @ 8kHz – 3GPP (.3gp)
– AMR (.amr)
AMR-WB 9 tassi da 6.60 kbit/s a 23.85 kbit/s campionati @ 16kHz
FLAC Android 4.1+ Android 3.1+ Mono/Stereo (no multicanale). Tassi di campionamento fino a 48 kHz (ma fino a 44.1kHz è raccomandato su dispositivi con uscita a 44.1 kHz, poiché il downsampler da 48 a 44.1 kHz non include un filtro passa basso). Consigliato a 16 bit; nessun dither applicato per 24 bit. – FLAC (.flac)
– MPEG-4 (.mp4, .m4a, Android 10+)
MIDI MIDI Type 0 e 1. DLS Version 1 e 2. XMF e Mobile XMF. Supporto per i formati di suoneria RTTTL/RTX, OTA e iMelody – Tipo 0 e 1 (.mid, .xmf, .mxmf)
– RTTTL/RTX (.rtttl, .rtx)
– OTA (.ota)
– iMelody (.imy)
MP3 Mono/Stereo 8-320Kbps costante (CBR) o bit-rate variabile (VBR) – MP3 (.mp3)
– MPEG-4 (.mp4, .m4a, Android 10+)
– Matroska (.mkv, Android 10+)
Opus Android 10+ Android 5.0+ – Ogg (.ogg)
– Matroska (.mkv)
PCM/WAVE Android 4.1+ YES 8- e 16-bit linear PCM (tassi fino al limite dell’hardware). Campionamento per registrazioni PCM grezze a 8000, 16000 e 44100 Hz. WAVE (.wav)
Vorbis – Ogg (.ogg)
– Matroska (.mkv, Android 4.0+)
– MPEG-4 (.mp4, .m4a, Android 10+)

Supporto video

Formati video

Formato Encoder Decoder Dettagli Tipi di file
Formati contenitore
H.263 Supporto per H.263 è opzionale in Android 7.0+ – 3GPP (.3gp)
– MPEG-4 (.mp4)
– Matroska (.mkv)
H.264 AVC
Baseline Profile (BP)
Android 3.0+ YES – 3GPP (.3gp)
– MPEG-4 (.mp4)
– MPEG-TS (.ts, solo audio AAC, non ricercabile, Android 3.0+)
– Matroska (.mkv)
H.264 AVC
Profilo principale (MP)
Android 6.0+ Il decoder è richiesto, l’encoder è consigliato.
H.265 HEVC Android 5.0+ Main Profile Level 3 per dispositivi mobili e Main Profile Level 4.1 per Android TV – MPEG-4 (.mp4)
– Matroska (.mkv)
MPEG-4 SP 3GPP (.3gp)
VP8 Android 4.3+ Android 2.3.3+ Streamable only in Android 4.0 and above – WebM (.webm)
– Matroska (.mkv, Android 4.0+)
VP9 Android 4.4+ – WebM (.webm)
– Matroska (.mkv)
AV1 Android 10+ Il decoder è opzionale. – MPEG-4 (.mp4)
– Matroska (.mkv)

Consigli per la codifica video

La tabella sottostante elenca i profili e i parametri di codifica video di Android media framework consigliati per la riproduzione utilizzando il codec H.264 codec Baseline Profile. Le stesse raccomandazioni si applicano al codec Main Profile, che è disponibile solo in Android 6.0 e successivi.

SD (Bassa qualità) SD (Alta qualità) HD 720p (N/A su tutti dispositivi)
Risoluzione video 176 x 144 px 480 x 360 px 1280 x 720 px
Video frame rate 12 fps 30 fps 30 fps
Video bitrate 56 Kbps 500 Kbps 2 Mbps
Codec audio AAC-LC AAC-LC AAC-LC
Canali audio 1 (mono) 2 (stereo) 2 (stereo)
Bitrate audio 24 Kbps 128 Kbps 192 Kbps

La tabella sottostante elenca i profili e i parametri di codifica video di Android media framework consigliati per la riproduzione utilizzando il codec VP8.

SD (bassa qualità) SD (alta qualità) HD 720p (N/A su tutti i dispositivi) HD 1080p (N/A su tutti i dispositivi)
Risoluzione video 320 x 180 px 640 x 360 px 1280 x 720 px 1920 x 1080 px
Video frame rate 30 fps 30 fps 30 fps 30 fps
Video bitrate 800 Kbps 2 Mbps 4 Mbps 10 Mbps

Raccomandazioni per la decodifica video

Le implementazioni dei dispositivi devono supportare la risoluzione video dinamica e la commutazione del frame rate attraverso le API standard di Android all’interno dello stesso flusso per tutti i VP8, VP9, H.264, e H.265 in tempo reale e fino alla risoluzione massima supportata da ciascun codec sul dispositivo.

Le implementazioni che supportano il decoder Dolby Vision devono seguire queste linee guida:

  • Fornire un estrattore compatibile con Dolby Vision.
  • Visualizzare correttamente il contenuto Dolby Vision sullo schermo del dispositivo o su una porta di uscita video standard (ad esempio, HDMI).
  • Impostare l’indice della traccia dello o degli strati di base retrocompatibili (se presenti) in modo che sia uguale all’indice della traccia dello strato combinato Dolby Vision.

Requisiti per lo streaming video

Per il contenuto video che viene trasmesso in streaming su HTTP o RTSP, ci sono ulteriori requisiti:

  • Per i contenitori 3GPP e MPEG-4, l’atomo moov deve precedere qualsiasi atomo mdat, ma deve seguire l’atomo ftyp.
  • Per i contenitori 3GPP, MPEG-4 e WebM, i campioni audio e video corrispondenti allo stesso offset temporale non possono essere distanti più di 500 KB. Per minimizzare questa deriva audio/video, considerare l’interleaving di audio e video in chunk più piccoli.

Supporto immagini

Formato Encoder Decoder Dettagli Tipi di file
Formati contenitore
BMP BMP (.bmp)
GIF YES GIF (.gif)
JPEG YES YES Base+progressive JPEG (.jpg)
PNG PNG (.png)
WebP Android 4.0+
Sì: Android 10+
Trasparenza: Android 4.2.1+
Android 4.0+
Senza perdite: Android 4.2.1+
Trasparenza: Android 4.2.1+
La codifica senza perdite può essere ottenuta su Android 10 usando una qualità di 100. WebP (.webp)
HEIF Android 8.0+ HEIF (.heic; .heif)

Protocolli di rete

I seguenti protocolli di rete sono supportati per la riproduzione audio e video:

  • RTSP (RTP, SDP)
  • HTTP/HTTPS progressive streaming
  • HTTP/HTTPS live streaming draft protocol:
    • Solo file multimediali MPEG-2 TS
    • Protocollo versione 3 Android 4.0 e superiori
    • Protocollo versione 2 Android 3.x
    • Non supportato prima di Android 3.0

Nota: HTTPS non è supportato prima di Android 3.1.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.