Skip to content

Codec profile optimisation for Aether (AVPlayer) #4

@DrHurt

Description

@DrHurt

Summary of codecs, containers, protocols supported by Apple's AVPlayer

**Video Containers:**

MP4 (including via HLS), MOV, M4V codecs supported:
Video: H264/AVC, H265/HEVC, AV1
Audio: AAC, AC3, EAC3, FLAC, ALAC
*direct playback - codecs restricted by container so most media in above containers will direct play.

MPEG-TS:
h264 direct play (used for IPTV apps, live streams)
HEVC require MP4 HLS

MKV & WEBM
HLS pathway for codecs supported via HLS

AVI & others:
contain old, uncommon codecs & mostly unsupported
need software support

**Video codec details:**
HEVC:
Main & Main 10
SDR, HLG, HDR10(+), DV 5, 8.1, 8.4

AVC:
Main & High
SDR, HDR10

AV1:
Main and High
SDR, HDR10(+), DV 10, 10.1, 10.4

VP9: (not worth it)
SDR, HDR10
Only direct play in webm containers on Safari (YouTube) so not worth it
Not supported via HLS, but supported via videotoolbox HW decode

MPEG4: (not worth it)
only SP & limited to 640x480

**Audio (without video) containers & codecs:**
Compressed: mp3 (mpeg-1 III), m4a (aac, alac),
Lossless: wav, aiff, flac -- note container (file extension) & codec have same name.

All above will audio containers will direct play as codecs are limited by container and Apple supports them all.

Opus & Vorbis audio will only direct play in CAF container (theoretical, not used in practice). Opus also supported in WEBM videos.

In my testing, both are NOT supported in HLS so if found in other containers (with or without video), will need to fall back to HLS FLAC bridge

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions