Frustrated that your favorite media player stopped working after upgrading to macOS Tahoe?
Open MPlayer is a modern, native alternative built specifically for macOS 15.0+. No more crashes, no more compatibility issuesβjust smooth, reliable video playback with a beautiful native interface.
A modern, native macOS media player built with Swift and SwiftUI. Designed for macOS Tahoe (15.0) and later.
- π¬ Native AVFoundation playback engine
- π¨ Modern SwiftUI interface
- π Drag-and-drop file support
- β¨οΈ Keyboard shortcuts
- π Dark mode support
- β‘ Playback speed control (0.25x - 2.0x)
- πΌοΈ Picture-in-Picture mode
- π HTTP/HTTPS streaming support
- π― Gesture controls (swipe to seek, volume)
- πΎ Smart resume (remembers playback position)
- π Auto-conversion for MKV/AVI/WebM files
- π Subtitle support (SRT, VTT)
- π΅ Multiple audio track selection
- ποΈ Video filters and adjustments
- Video: MP4, MOV, M4V (native AVFoundation support)
- Video with conversion: MKV, AVI, WebM, FLV, WMV (requires FFmpeg)
- Audio: MP3, AAC, FLAC, WAV, M4A
- Subtitles: SRT, VTT (planned)
To play MKV and other non-native formats, install FFmpeg:
brew install ffmpegThe app will automatically convert these files to MP4 on-the-fly for playback.
- macOS Tahoe (15.0) or later
- Xcode 15.0+ (for building from source)
cd open-mplayer
./install.shThis will build the app and install it to /Applications/OpenMPlayer.app.
Download the latest release from the Releases page.
-
Clone the repository
git clone https://github.com/yourusername/open-mplayer.git cd open-mplayer -
Open in Xcode
open OpenMPlayer.xcodeproj
-
Build and Run
- Select your Mac as the target device
- Press
Cmd + Rto build and run - Or use
Cmd + Bto build only
-
Create Release Build
xcodebuild -project OpenMPlayer.xcodeproj \ -scheme OpenMPlayer \ -configuration Release \ -derivedDataPath ./buildThe app will be located at:
./build/Build/Products/Release/OpenMPlayer.app -
Install to Applications
cp -r ./build/Build/Products/Release/OpenMPlayer.app /Applications/
- Drag and drop a video file onto the app window
- File menu:
File > Open...(Cmd + O) - URL streaming:
File > Open URL...(Cmd + U) - Right-click a video file and select "Open With > OpenMPlayer"
Space- Play/Pauseβ/β- Seek backward/forward 5 secondsβ/β- Volume up/down[/]- Decrease/increase playback speed\- Reset to normal speed (1.0x)F- Toggle fullscreenCmd + O- Open fileCmd + U- Open URLCmd + W- Close windowCmd + Q- Quit app
- Click the play/pause button or press
Space - Drag the timeline scrubber to seek
- Adjust volume with the slider or arrow keys
- Click speed menu to change playback rate
- Click PiP button to enter Picture-in-Picture mode
- Double-click video for fullscreen
- Horizontal swipe on video - Seek forward/backward
- Vertical swipe on video - Adjust volume
- Visual feedback shows seek amount or volume level
OpenMPlayer/
βββ Sources/
β βββ App/
β β βββ OpenMPlayerApp.swift # App entry point
β βββ UI/
β β βββ PlayerView.swift # Main player interface
β β βββ ControlsView.swift # Playback controls
β β βββ VideoPlayerLayerView.swift # Video rendering layer
β βββ PlaybackEngine/
β βββ PlayerController.swift # AVFoundation wrapper
β βββ MediaConverter.swift # FFmpeg integration
β βββ PlaybackHistory.swift # Smart resume
βββ Resources/
β βββ Assets.xcassets/ # App icons and images
β βββ Info.plist # App configuration
β βββ OpenMPlayer.entitlements # App permissions
β βββ open-mplayer-logo.png # Original logo file
βββ install.sh # Quick install script
βββ IMPLEMENTATION_PLAN.md # Feature implementation guide
βββ AGENTS.md # Agent collaboration guide
# Run tests
xcodebuild test -project OpenMPlayer.xcodeproj -scheme OpenMPlayer
# Build debug version
xcodebuild -project OpenMPlayer.xcodeproj \
-scheme OpenMPlayer \
-configuration Debug- Swift 5.9+
- SwiftUI for all UI components
- Async/await for asynchronous operations
- Follow Apple's Swift API Design Guidelines
- Ensure you're running macOS Tahoe (15.0) or later
- Check Console.app for crash logs
- Try rebuilding with
xcodebuild clean build
- Verify the file format is supported
- Check file permissions
- Try converting the file with HandBrake or FFmpeg
- Close other applications
- Check Activity Monitor for CPU/memory usage
- Try reducing video quality or resolution
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See AGENTS.md for architecture and collaboration guidelines.
MIT License - see LICENSE file for details.
- Built with Apple's AVFoundation and SwiftUI frameworks
- Inspired by VLC Media Player and IINA
- Created as a native macOS Tahoe-compatible alternative
- π Report bugs
- π‘ Request features
- π§ Contact: kevin@laurenscodes.space



