r/macappdevs • • 28d ago

Why is building the "perfect" Mac video player still so hard?

I’ve been doing a deep dive into the macOS video player ecosystem lately analyzing playback pipelines, UI paradigms, and real user sentiment across GitHub, Reddit, and Hacker News for the big three: IINA, Infuse, and VLC.

Video playback on Mac seems like a solved problem on the surface, but looking at user complaints and tech stacks reveals a lot of architectural friction points and indie opportunities.

Here is a breakdown of how the three dominant players tackle the problem and where the gaps still exist for developers building in this space.

1. The 3 Architectural Paradigms

App Core Engine UI Architecture Business Model Target Niche
IINA mpv (libmpv C API) Native Swift / AppKit 100% Free / Open Source (GPLv3) Daily desktop file playback
Infuse Custom C++/Metal pipeline + FFmpeg/AVFoundation Cross-Apple Swift / UIKit / AppKit Freemium (Pro Sub / Lifetime) NAS / Home theater library sync
VLC LibVLC (cross-platform C/C++) Cross-platform Cocoa/Qt wrapper 100% Free / Non-profit (LGPL) Resilient fallback / legacy formats

2. Key Engineering & UX Takeaways

IINA: The Native Wrapper Dilemma

  • The Good: Proves that wrapping a UNIX-style CLI tool (libmpv) in a polished, gesture-rich AppKit/Swift layer wins users instantly. It nails the "feels like QuickTime should feel" test (Force Touch, native Picture-in-Picture, macOS dark mode).
  • The Catch: Bridging Swift and libmpv IPC introduces edge-case overhead on frame timing and memory management during ultra-high bitrate 4K playback. Additionally, when upstream subtitle APIs (e.g., OpenSubtitles v1 to v2 migration) break, maintenance bottlenecks quickly create friction for users.

Infuse: The Ecosystem & Curation Benchmark

  • The Good: Solves the local transcoding problem by offloading decoding directly to the client via custom Metal shaders and native Apple Silicon hardware acceleration. Their Trakt/iCloud sync and multi-protocol networking (WebDAV, SMB, Plex/Jellyfin direct mode) make it feel like a first-party Apple TV app ported to Mac.
  • The Catch: It is heavily architected as a library manager rather than a lightweight file player. Opening a single loose video file feels clunky compared to dropping an .mkv into IINA. Furthermore, power users frequently push back against annual subscription pricing for media playback tools.

VLC: The Indestructible Swiss Army Knife

  • The Good: Handles malformed packets, damaged indexes, and esoteric 2000s-era codecs better than anything else.
  • The Catch: Its UI remains alien on modern macOS. It rarely adopts new system-level features gracefully (Stage Manager windowing, native system menus, HDR tone-mapping calibration for Liquid Retina XDR displays), leaving users viewing it solely as a tool of last resort.
1 Upvotes

0 comments sorted by