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
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