How to upscale windows and video on a Mac
OpenDuckFrame is a free, open-source Mac app for real-time video upscaling. Open File → Quality Workbench, choose a window, display or local video, and start with Lanczos or an available MetalFX scaler. Compare Original and Enhanced at the same output size. The app requires Apple silicon and macOS 14 or later; some engines have additional requirements.
When should you use upscaling instead of frame generation?
Upscaling enlarges existing pictures to a higher resolution. Frame generation adds in-between pictures for more continuous motion. If a low-resolution video looks unclear when enlarged, test scaling first. If camera movement looks discontinuous, test interpolation separately.
Not every scaler uses an AI model. OpenDuckFrame's Lanczos option is spatial scaling without a learned model; MetalFX provides system spatial scaling. Enhancement does not guarantee the recovery of real detail that the source never contained, or increase a game's simulation or logic update rate.
Choose an available scaling engine
- Lanczos: spatial scaling without a learned model. Use it as a starting point for a comparison.
- MetalFX: system spatial scaling, subject to the Mac's Metal capability. Check its availability in the app.
- Apple low-latency super resolution: requires macOS 26 or later. The current workbench also checks for 720p input and supported 1.5× scaling.
- Experimental video and animation engines: Apple video super resolution, Anime4K and Real-CUGAN have distinct input-size, scale-factor or optional-runtime limits. A visible entry does not mean the current Mac and input can use it.
Start with an available Lanczos or MetalFX option to establish a comparable result.
Set up real-time upscaling
- Download and open the app. Use the GitHub release linked in the official download section. The community build is not Apple notarized. Check the source before deciding whether to allow its first launch through macOS.
- Select a source. Open File → Quality Workbench (⇧⌘E). Choose a browser window for web video, a player or streaming-app window for its pictures, or Video file to read a local file directly.
- Select an output and test scaling alone. Choose the output display and an available scaling engine. Interpolation and scaling have separate controls. Enable one enhancement first so you can identify what changes the picture.
- Start and compare. Switch between Original, Enhanced and Comparison views at the same output size. Inspect subtitles, edges, faces and moving pictures, then check actual output in the FPS overlay.
- Save settings for the source. Save a profile once quality and processing cost suit the content. Check again after changing source resolution or application.
Window and display capture require Screen Recording permission. Local video-file playback does not need that capture permission. For display capture, avoid including the enhancement output in the captured area, which can produce visual feedback.

Troubleshoot softness, artifacts and low output rates
- Soft detail or unnatural edges: compare engines at the same output size, temporarily disabling interpolation to isolate the stage that changes the picture.
- The Mac cannot keep up: lower the source resolution, use a lighter quality mode, or reduce simultaneous enhancements. A scaling multiplier is not a promise of more frames per second.
- An engine is unavailable: check system, input-size and runtime requirements. Start with a currently available option.
- No picture or problems after full screen: check permission and reselect the source. Protected content, window sizes and fullscreen transitions can affect capture or output.
This guide covers real-time enhancement while viewing. Judge the picture at equal output dimensions, together with latency and stability.
Sources: the project's quick start and scaling and super-resolution requirements. Use the current documentation and the app's availability state for supported configurations.