macOS 27 · Apple Silicon

Plays anything.
Enhances everything.

A native macOS video player built on libmpv and Apple's MetalFX. Real-time super resolution, AI frame interpolation, and on-device subtitles with translation — all running locally on your Mac's GPU and Neural Engine.

Download 1.0 View source

Self-contained app — nothing else to install. 26 MB · Apple Silicon · macOS 27+

interstellar.mkv — SuperRes Video Player MetalFX active
1920×10802880×1620
24 real + 24 synth fps
libmpv · hwdec auto-copy
星に手を伸ばすのをやめてはいけない
00:42 / 02:18
Everything it does

Eight things happening
between the file and your eyes.

Every stage runs on-device. No uploads, no accounts, no subscription — just your Mac's GPU and Neural Engine doing the work.

libmpv
engine
MKV WebM AVI HEVC FLAC MP4

Plays every format libmpv

MKV, WebM, AVI, MOV, MP4, FLAC — anything FFmpeg understands, through the same engine that powers mpv and IINA. No conversion step, no transcoding, no "this file is damaged" dialog.

1 + 2 + 3 + 4
decoded frame synthesized midpoint

AI Frame Interpolation Metal 4 Vision

Vision computes a dense optical-flow field between every pair of decoded frames. That flow drives Apple's MTLFXFrameInterpolator to synthesize true midpoints at 2×, or a custom motion-compensated warp kernel at 3×. A 24 fps film becomes 48 or 72 fps of motion — and the stats readout tells you exactly how many frames are real versus synthesized, so you can see it working rather than take it on faith.

Low-resolution source frame: soft edges, smeared window detail, unreadable small text. The same frame reconstructed by MetalFX: crisp edges, distinct windows, legible text.
drag-style comparison · same frame source 2.0× MetalFX

Super Resolution MetalFX

Real-time upscaling at 1.3×, 1.5× or 2.0× through Apple's MetalFX Spatial Scaler — the same technology games use to render below native and reconstruct the difference. Watch the billboard subtext and the window grids either side of the divider: the low-resolution frame smears them into mush, while the reconstructed frame keeps the edges separate.

Classic
denoise +
sharpen
Neural
MetalFX ML
supersample
Max
Real-ESRGAN
Core ML

Image Enhancer 3 tiers

Cleans up compression artifacts and reconstructs detail without changing resolution. Classic is nearly free; Neural runs live on Apple Silicon; Max uses Real-ESRGAN via Core ML and is export-only.

00:12,480 Never stop reaching

AI Subtitles on-device

Transcription via the modern SpeechAnalyzer API — long-form audio with per-word timing, grouped into cues by a CJK-aware heuristic. Language models download on demand. Export as .srt.

JA · SOURCE
星に手を
伸ばす
ZH-HANT · OUT
伸手
摘星
Apple Intelligence · batches of 15 cues

Subtitle Translation Apple Intelligence

Rewrites generated cues into another language entirely on-device through the Foundation Models framework — Japanese audio to Traditional Chinese subtitles, with per-line retry when a batch comes back garbled.

Exporting enhanced video… HEVC · 2880×1620
Super Resolution 2.0× Interpolation 2× Enhancer: Max AAC audio

Enhanced export HEVC

Re-render a whole file offline with every enhancement baked in, encoded to HEVC .mp4. Unlike playback — which skips interpolation when optical flow can't keep up in real time — export computes flow for every frame pair. A Test 10s button renders a short clip so you can compare settings before committing to a full pass.

input1920 × 1080 @ 23.976
output2880 × 1620 @ 47.95
real fps23.9
synth fps23.9
engineMTLFXFrameInterpolator

Live pipeline stats verify it

A readout showing input and output resolution, real versus synthesized frames per second, and which interpolation engine is actually active. Enhancement features are easy to fake; this one exists so you can confirm they aren't.

Under the hood

One frame's journey.

Decoding happens on a dedicated queue and never touches the draw thread — which is why changing settings mid-playback doesn't stutter.

libmpv
demux · decode
audio · A/V sync
Pixel buffer
software render API
dedicated queue
Metal texture
zero-copy wrap
CVMetalTextureCache
Enhance
optical flow →
interpolate → upscale
Display
full-screen triangle
aspect-fit viewport
Getting started

Three steps, no dependencies.

The player engine and its media tools are bundled inside the app. There is nothing to brew install.

1
Download SuperResVideoPlayer.zip from the releases page and unzip it.
2
Drag SuperResVideoPlayer.app into your Applications folder.
3
Right-click the app → Open, then confirm. This build is ad-hoc signed rather than notarized, so a plain double-click is blocked the first time — you only need to do this once. If macOS claims the app is damaged, clear the quarantine flag: xattr -dc /Applications/SuperResVideoPlayer.app

Requirements

  • Apple Silicon Mac — MetalFX requires an Apple-family GPU.
  • macOS 27 or later.
  • Apple Intelligence enabled, for subtitle translation only.
  • The Max enhancer engine needs an optional Real-ESRGAN Core ML model, installed once with convert-model.sh. Classic and Neural need nothing.

Honest limitations

  • Interpolation repurposes game technology — motion vectors come from optical flow and depth is a flat constant, so expect occasional ghosting around fast motion, especially at 3×.
  • Export ignores rotation metadata and doesn't tag HDR primaries — fine for standard SDR, wrong for rotated phone footage.
  • Translation is on-device-LLM grade: good for following along, not fansub grade.
  • Video is processed as 8-bit; HDR sources are tone-mapped to SDR.
  • Subtitles need an audio track — video-only files say so clearly.