OKVideoMac
The current release candidate is 0.9.0 (Build 155) with reorganized Settings, conditional TMDB details, DASH, live previews and playback/stability repairs. See release notes and readiness. Formal publication checks are in progress.
The latest stable release is 0.8.7 (Build 140), covering live catch-up, native Picture in Picture, playback information, startup/player controls and history/detail fixes. Developer ID, Apple Accepted, staple, Gatekeeper, installation and all 16 public asset checks passed. See release notes and formal verification.
0.8.4 (Build 137) fixes the SwiftUI/AppKit toolbar ownership path associated with the 0.8.3 startup crash. The user confirmed successful macOS 27.0.1 testing; see release notes and formal verification.
English | 简体中文
**A native macOS IPTV/VOD player for Apple Silicon with Xtream, M3U/XMLTV, selected TVBox/CatVod/CatPaw-style providers, and libmpv playback.**
Built with Swift and SwiftUI/AppKit. Android is an optional compatibility layer for selected Java/Dex providers.
The latest stable release is 0.8.7 (Build 140), Developer ID signed and Apple-notarized.
Native macOS · Xtream · IPTV/VOD · M3U/XMLTV · libmpv · Multi-provider Search · QuickJS/Node Spiders
Download
Download the latest stable release →
0.8.7 (Build 140) · macOS 12.0+ · Apple Silicon (arm64) only.
Download the Developer ID signed and Apple-notarized v0.8.7 DMG. Stapling, Gatekeeper, final DMG and fresh-install smoke checks passed.
Open the DMG and drag OKVideoMac.app to Applications. You do not need to disable Gatekeeper or SIP. Checksums, release notes, source archives, SBOMs and notices accompany the release.
OKVideoMac is a player and provider client. It does not include third-party video sources, accounts, cookies, parsing services or DRM keys.
New in 0.8.7
- Programme-aware catch-up for supported M3U/TVBox/FongMi sources and Native Xtream archives, date EPG and return to live.
- Native Picture in Picture, responsive player controls, playback information in Settings and a native startup shell.
- Reliable History/Favorites single-click selection during playback, existing double-click playback, retained detail pages and refreshed Quark history identity.
0.8.6 history
Consent-based remote crash uploads in official DMGs, private packaging configuration and clear unconfigured status for source builds. Reports stay local until the user opts in from Settings → Advanced. See verification.
0.8.5 history
Local crash recovery and coordinated shutdown, bounded Android SDK file checks, and native window creation after all browser windows close. Danmaku keeps filled, colored glyphs with a soft black shadow whose logical size matches at 1x and Retina 2x. This rendering change was already included in the October 11 local test build; ordinary subtitle tracks have no new changes in 0.8.5. See the release-note addendum. This build has no remote crash-upload endpoint. See verification.
0.8.4 history
- Remove synchronous AppKit toolbar write-back during SwiftUI toolbar teardown.
- Keep a real home title while configuration is loading or unavailable, with separate Search and Detail toolbars.
- Preserve native sidebar materials, the zero-width split and macOS 12 compatibility; add startup and window lifecycle regressions.
Earlier 0.8.2 changes
- Back up private AVD data and its compatibility fingerprint together.
- Recover matching original data after rebuild failure or interruption; retain backups and failed new data.
- Freeze the selected image, preflight AVD-volume space and preserve terminal errors.
Earlier 0.8.1 changes
- Fix Bluetooth audio-device-change crashes after failed CoreAudio initialization.
- Add optional daily update checks with Sparkle 2.10.0; users confirm downloading and installation. Playback-aware prompts and exclusive restart ownership protect active playback and shutdown.
- Restore previous/next controls and autoplay when a different episode has duplicate uploads. Ambiguous adjacent resources require a manual choice.
- Publish a signed stable update feed and require an exact 34-executable bundle inventory.
Earlier 0.8.0 changes from 0.7.3
- Selected TVBox configuration and authorization: cancellable configuration
- CatPaw search and details: bounded 30-second search caching, reuse of an
- Player controls and seeking: responsive controls independent of full-screen
- Automatic episode continuation: unambiguous numbered video files can follow
- Android Runtime recovery: owned emulators recover after private ADB binding
The formal 0.8.0 release is available. See the 0.8.0 release notes for the before/after comparison, release validation for distribution checks, and readiness record for regression coverage.
New in 0.7.3
- Native Full Guide: browse bounded XMLTV and Native Xtream programme data
- Native danmaku: load source-provided XML/JSON comments, import Bilibili XML,
- History and Favorites: source-aware native lists, safer resume and deletion,
- Browsing and playback reliability: resumable category/search pagination,
- Interface polish: consistent native hover and selection across poster, live,
These features were released in 0.7.3 and are not new in 0.8.0. See the 0.7.3 release notes for their scope and limitations.
New in 0.6.1
- Android storage categories: view managed components, installation cache,
- Safe managed-component uninstall: remove recognized Android components managed
- Keep your Android data: user data and login state, backing/encryption files,
- Recovery and documentation: interrupted maintenance can be resumed; English
Native Xtream was introduced in 0.6.0, including authentication, Movies, Series,
Movie/Series search and Basic Live. The 0.6.1 release did not yet include Xtream
EPG, catch-up/timeshift or direct_source. See the
0.6.1 release notes.
Screenshots
![]() Multi-provider search |
![]() Detail and episode navigation |
![]() Live channel browser |
![]() VOD playback |
![]() Live TV playback |
These 0.6.1 captures use the English interface and fictional scenic demo data; they contain no third-party catalogue, account, credential or private URL. See the screenshot manifest for the complete bilingual file map and image-processing notes.
Why OKVideoMac
- Native Mac experience. A SwiftUI/AppKit interface designed for Apple
- libmpv playback. VOD and live playback use libmpv/FFmpeg, with seeking,
- Flexible provider runtimes. Native Xtream and CMS JSON plus selected TVBox/CatVod
csp_ Spider paths. The
compatibility boundary is explicit rather than advertised as universal.
- Search and library. Isolated multi-provider search, details, favorites,
- Live TV on macOS. Import M3U, TXT, or JSON channel lists, use multiple
- Managed Android Runtime. When a supported Java/Dex Spider really needs
- Release engineering. Public DMGs are Developer ID signed, notarized,
Compatibility at a glance
| Capability | Status | Notes |
| --- | --- | --- |
| Native macOS UI | Supported | SwiftUI/AppKit; no Android UI shell |
| Apple Silicon | Supported | arm64, macOS 12.0 or later |
| VOD and libmpv playback | Supported | Media behavior still depends on the source/server |
| Live TV and programme guide | Supported | M3U/TXT/JSON import, XMLTV and Native Xtream short EPG/Full Guide |
| Native Xtream | Supported | Authentication, Movies, Series, search, Basic Live and short EPG; server differences apply |
| Native CMS JSON | Supported | Home, category, filter, detail, search, and play handoff |
| QuickJS Spider | Selected | Compatible scripts matching the implemented API |
| Node Spider | Selected | CatVod/CatPaw-style video-interface subset |
| Java/Dex csp_ Spider | Experimental | Requires Managed Runtime or a confirmed External SDK |
| Managed Android Runtime | Available | Recommended Android mode; installed only when needed |
| Managed component storage / uninstall | Available | Categorized usage; preserves user data and external SDKs |
| External Android SDK | Available | Explicit advanced-user choice; never auto-selected from PATH |
| Intel Mac | Not supported | No Intel or Universal Binary release is provided |
Compatibility depends on the source format, runtime, API shape, parsing requirements, and media behavior—not only on an ecosystem name. See the full compatibility guide.
Android Runtime: optional and on demand
Most of OKVideoMac does not need Android. Native providers, QuickJS and Node Spiders, live TV, XMLTV, search, and ordinary playback run directly on macOS.
Only selected Java/Dex csp_ Android Spider sources use the optional Android
Bridge:
- Managed Runtime (recommended): on the first real Dex request, OKVideoMac
ANDROID_HOME, or
manually created AVD is required.
- External SDK (advanced): users who already have a compatible Android SDK
PATH, or environment variables
expose another SDK.
Android Compatibility can show categorized storage usage and safely uninstall Android components managed by OKVideoMac when they are no longer needed. Android user data and login state, private ADB identity, user-data backups, runtime selection, and external Android SDKs are preserved. The confirmation shows estimated reclaim based on the recognized installation; it does not promise a fixed amount of space. See Android storage and uninstall.
Managed installation is transactional and separate from Emulator session management. Full behavior, storage, repair, licensing, and current real-machine validation limits are documented in Android Bridge Setup.
Quick start
open it, and move the app to Applications.- Launch OKVideoMac and add a provider configuration or live playlist that
- Browse, search, open a detail page, or import an M3U/TXT/JSON live list.
- If a selected Java/Dex provider needs Android, follow the in-app Managed
Provider and Spider support
| Source / runtime | Level | Current scope |
| --- | --- | --- |
| Native Xtream | Supported | Authentication, Movies, Series, search, live/EPG and declared programme archives; direct_source is unsupported |
| Native CMS JSON | Supported | Main provider path |
| CMS XML / native type 4 | Partial | Narrower coverage than CMS JSON |
| TVBox/CatVod-style QuickJS | Selected | home, category, detail, search, play, and selected helpers |
| CatVod/CatPaw-style Node .js.md5 | Selected | Supported video-interface subset; not the complete CatPawOpen protocol |
| Java/Dex Android csp_ | Experimental | Selected CatVod-style methods through the optional Bridge |
| M3U / TXT / JSON live lists | Supported | Dedicated live importer; top-level TVBox lives is not wired to it |
| XMLTV EPG | Supported | Remote HTTP(S), gzip, cache, and channel matching |
| Parser type 0 / 1 | Partial / Supported | WKWebView sniffing / JSON parsing |
| Parser types 2 / 3 / 4 | Unsupported | Fields may parse, but there is no complete execution path |
OKVideoMac implements selected TVBox-, CatVod-, and CatPaw-style interfaces; it is not an official client for those projects and does not promise that every public or private provider will work.
Privacy and content sources
- No video catalogue, IPTV service, provider account, cookie, parser service,
- You choose the configurations, scripts, playlists, and media you are
- Logs and diagnostics are designed to redact credentials and private paths,
- OKVideoMac does not implement DRM bypass. Please use the project only with
System requirements
- macOS 12.0 Monterey or later;
- Apple Silicon (
arm64); Intel Macs are not supported; - network access for remote providers/media and, if selected, Managed Runtime
- sufficient free disk space only when the optional Managed Android Runtime is
FAQ
Is this TVBox for macOS?
OKVideoMac is an independent, native macOS TVBox-style provider client—not an official TVBox app and not an Android wrapper. It implements selected compatible configuration and Spider paths, so people looking for a TVBox for Mac should check the compatibility table before assuming a particular source will work.
Does OKVideoMac include video or live-TV sources?
No. It is a player/provider client. You supply configurations and playlists that you are authorized to use; no third-party catalogue, account, cookie, parsing service, or DRM key is bundled.
Do I need Android Studio or an Android SDK?
Not for normal use, and not for Managed Runtime. If a selected Java/Dex Android Spider needs Android, OKVideoMac can download and manage the required environment after you confirm. External SDK remains an optional advanced mode.
Why does a Java/Dex csp_ Spider need Android?
That provider contains Android bytecode. OKVideoMac runs the supported subset through a private Android Bridge; Native, QuickJS, Node, live-TV, and XMLTV paths do not use it.
Does it support CatVod macOS or CatPaw macOS providers?
It supports selected CatVod/FongMi-style QuickJS APIs and a selected CatVod/CatPaw-style Node video subset. Java/Dex support is Experimental. It is not complete TVBox, CatVod, CatPaw, or CatPawOpen ecosystem compatibility.
Does it run on Intel Macs?
No. Current releases target Apple Silicon only; the app and optional Android Runtime are not shipped as an Intel or Universal Binary stack.
Known limitations
- Java/Dex compatibility remains Experimental. The Managed API 35 profile has
- QuickJS, Node, cloud, and web-sniffing paths cover selected interfaces and
- TVBox/FongMi
livesand supported catch-up rules are described in the live catch-up scope. Parser types 2/3/4 and DRM
- Playback ultimately depends on libmpv, codecs, headers/cookies, the media
- A large legacy database may cause a one-time startup pause.
Development and architecture
The repository separates core models/networking, SQLite persistence, macOS UI, native playback bridges, provider runtimes, Managed Runtime installation, and Android Emulator sessions. Installation and session lifecycle are deliberately separate state machines.
Release builds require the repository's controlled scripts and fail-closed checks; a local Debug compile is not a public release artifact.Release integrity
The 0.8.5 / Build 138 DMG passed Release packaging, Developer ID, Apple Accepted, staple, Gatekeeper, installation and 16 public asset checks. Tag v0.8.5 pins b7fd9026bfee95d2d815dbb39e985225c3004e67. See verification. Historical signed assets and tags remain unchanged.
Documentation
- Detailed project documentation
- Compatibility guide
- Android Bridge Setup
- Build from source
- Architecture
- Android storage and uninstall
- 0.8.0 release notes
- 0.8.0 release validation
- 0.8.0 readiness and Git preparation
- 0.7.3 release notes
- 0.6.1 release notes
- Changelog
- Security policy
License
OKVideoMac is distributed under the GNU General Public License v3.0. Third-party components remain subject to their respective licenses and notices.




