Skip to content

Playback and Codecs

Axl Nunez edited this page Jul 24, 2026 · 1 revision

Playback and Codecs

Moonfin selects the best playback backend for each platform. Mobile, desktop, and web use media_kit (libmpv), Android TV uses a native Media3 and ExoPlayer backend with hardware codec probing and audio passthrough, Apple TV uses a native MPVKit backend, and Samsung TV (Tizen) uses the native AVPlay player.

Backend by platform

Platform Backend Notes
Android, iOS, macOS, Windows, Linux, Web media_kit (libmpv) Broad codec coverage without relying on platform-specific frameworks
Android TV / Google TV Native Media3 and ExoPlayer Hardware codec probing, audio passthrough, HDR detection
Apple TV (tvOS) Native MPVKit Dolby Vision Profile 7 decode
Tizen (Samsung TV) Native AVPlay (video_player_tizen) See the limitations in Installation

Codec support

The libmpv path gives broad codec coverage without relying on platform-specific frameworks:

Category Supported Formats
Video H.264, HEVC (H.265), VP8, VP9, AV1, MPEG-2, MPEG-4, VC-1
Audio AAC, MP3, FLAC, Opus, Vorbis, AC3 (Dolby Digital), EAC3 (Dolby Digital Plus), DTS, TrueHD, PCM (16-/24-bit), ALAC
Containers MP4, MKV, WebM, AVI, MOV, TS / M2TS, WMV / ASF
Subtitles SRT, ASS / SSA, VTT / WebVTT, TTML, SUB; bitmap (PGS, DVB, VobSub) on desktop
HDR Dolby Vision, HDR10+, HDR10, HLG - automatic detection and signaling
HW Accel VA-API, QSV, NVENC, VideoToolbox, V4L2, RKMPP

Audio passthrough

On the TV backends (Android TV via Media3 and Apple TV via MPVKit), Moonfin also supports bitstream audio passthrough for AC3, EAC3, DTS, DTS-HD, TrueHD, and Atmos to AV receivers, with per-format toggles, alongside Dolby Vision Profile 7 direct play.

Tuning playback

On desktop and Android you can supply your own mpv.conf for custom shaders, scaling algorithms, and tone mapping. See Custom mpv Configuration.

Clone this wiki locally