Introduction
IINA is a modern, open-source media player built from the ground up for macOS. Unlike ports of cross-platform players, IINA uses native macOS APIs for its interface while relying on the battle-tested mpv core for media decoding. The result is a player that feels like a first-class macOS citizen with support for virtually every audio and video format.
What IINA Does
- Plays nearly all video and audio formats through the mpv decoding engine
- Provides native macOS integration including Dark Mode, Touch Bar controls, and Picture-in-Picture
- Supports streaming from online sources via youtube-dl and yt-dlp integration
- Offers customizable keyboard shortcuts and mpv configuration pass-through
- Handles subtitle loading, searching, and rendering with ASS/SSA styling support
Architecture Overview
IINA is written in Swift and uses Cocoa frameworks for its UI layer. Media playback is delegated to libmpv, which handles demuxing, decoding, and rendering. The two layers communicate through mpv's client API, allowing IINA to send commands and observe properties in real time. Video output uses macOS Metal or OpenGL backends depending on system capabilities.
Self-Hosting & Configuration
- Install via Homebrew Cask or download the .dmg directly from iina.io
- Requires macOS 10.11 or later; recommended macOS 12+ for full feature support
- Advanced users can pass custom mpv options through IINA's configuration panel
- Browser extensions are available for opening web video links directly in IINA
- Plugin system (beta) allows extending IINA with JavaScript-based extensions
Key Features
- Native macOS UI with Force Touch, trackpad gestures, and system media key support
- Music mode that collapses the window to a mini player for audio-only playback
- Built-in online subtitle search and automatic subtitle matching
- Supports hardware-accelerated decoding via VideoToolbox on Apple Silicon and Intel
- Thumbnail preview on the timeline scrubber for quick navigation
Comparison with Similar Tools
- VLC — Cross-platform and feature-rich but does not integrate with macOS UI conventions as deeply
- mpv — The core engine IINA uses; mpv is terminal-focused while IINA adds a native GUI
- Elmedia Player — Polished macOS player but is proprietary with a paid pro tier
- Infuse — Optimized for media libraries and Apple TV; IINA is free and open source
- QuickTime Player — Ships with macOS but supports far fewer formats and has no subtitle search
FAQ
Q: Does IINA run on Apple Silicon natively? A: Yes. IINA provides a universal binary that runs natively on both Apple Silicon and Intel Macs.
Q: Can IINA play streaming URLs? A: Yes. With yt-dlp installed, IINA can open URLs from YouTube and many other streaming sites directly.
Q: Is IINA available on Windows or Linux? A: No. IINA is macOS-only by design. For cross-platform alternatives, consider mpv or VLC.
Q: How do I customize mpv options in IINA? A: Open IINA Preferences, go to the Advanced tab, and add mpv options there. You can also edit the mpv config file directly.