Video WallpaperGet it free
macOS 14+v1.14.2Free tier, forever

Your desktop, alive.
Your Mac, still fast.

Paste a YouTube link and it is on screen in about a second. Or play Apple’s aerials, or your own folder. Either way it stops decoding once your windows have covered the desktop, which is most of the working day — because a wallpaper that costs you a fullscreen app’s worth of CPU is not worth having.

Free forever on one display. Pro lights all of them from $49 once.

Platform
macOS 14 Sonoma or later
Hardware
Apple silicon and Intel Macs
Ships as
Menu bar app and CLI, one binary
Finder100%
Projects
Screens

How it works

Decoded once. Sent everywhere.

Paste a YouTube link or point it at a folder. One decode runs, and the same frame goes to every display you own — so the third monitor costs about what the first one did.

A wallpaper app that opens a player per screen opens a hardware decoder per screen, each holding a pool of full-size frames. On three displays and a 4K clip that measured 1.4 GB of video memory. This one shares a single frame, which is the whole reason a second display is nearly free.

YouTubeor a folder4KDecodedonceBuilt-inStudio DisplayLG UltraFineCPUflat, whatever you plug in

Measured, not claimed

~50×

less work once your windows cover the desktop — from about a core’s worth across all three processes down to roughly 2%.

decode for every display, however many you have. One screen and three screens measured within a few percent of each other.

0

network requests, accounts and trackers. Licences verify on your Mac, offline.

Sampled with ps CPU time across the app, the VideoToolbox decoder process and WindowServer, over 25-second windows, on a MacBook Pro driving a 120 Hz Retina display and two 1080p monitors. A live wallpaper is not cheap while you can see it — most of that cost is WindowServer compositing, not this app — and decoding stops only once every display it lights is covered, because one decoder feeds all of them. Cover two of three screens and it is still working for the third. Figures vary by clip; every number, and how to reproduce it, is in the docs.

What it does

Most of the work went into it doing nothing

Playing video on a desktop is easy. Playing it for months without your Mac noticing is the part that took the engineering.

Any YouTube link, playing in a second

Paste a link and it streams straight away — nothing waits for a download. A copy is fetched quietly behind it, so the next time it plays from disk and works with no network. Above 1080p YouTube only ships formats no Mac decodes on its own; Pro plays those anyway, in software, and converts the copy it keeps.

~1s to first frame

It stops when nothing can see it

Each window watches its own occlusion state, and once every display the wallpaper lights is fully covered, decoding stops and WindowServer falls back to idle. On a laptop that is the moment you maximise a window; on a three-monitor desk it is when the last one is covered, because a single decoder feeds them all.

~1 core visible → ~2% covered

One decode, every display

The same clip is decoded once and drawn on every screen from the same frame, at each display's own size and refresh rate. The flip side is stated plainly: covering some of your screens saves nothing, because that one decoder is still feeding the rest.

1 display and 3 measured within a few percent

It never holds your Mac awake

AVPlayer keeps the display awake during playback by default — a wallpaper doing that would light your Mac up all night. Switched off, and playback pauses when the display sleeps or Low Power Mode kicks in.

sleeps when your Mac does

Apple's aerials, all of them

macOS ships the whole aerial catalog but System Settings only fetches the one you click. One command pulls all ~160, resumably, into a folder you own.

sh fetch-aerials.sh

Runs all the time, on purpose

A LaunchAgent starts it at login and brings it back within ten seconds if it ever crashes. Choosing Quit keeps it quit until next login — a crash should heal itself, but Quit should mean quit.

RunAtLoad + KeepAlive

A CLI that is not an afterthought

The app and the command line are the same binary. Set the folder, set the interval, activate a licence, or list what it would play — and a running instance picks up changes live, with no restart.

videowallpaper --help

Before you install

What it is not

  • While you can see it, it costs roughly a core. Decoding and compositing 4K video across a 120 Hz Retina panel is not cheap, and most of that is WindowServer rather than this app. Covered, it is about 2%.
  • Covering one screen of several saves nothing. One decoder feeds every display, so it only stops when the last visible desktop is covered. That is the trade for a third monitor costing a fifth more rather than three times as much.
  • It does not ship the aerials.The downloader fetches them from Apple, and they are Apple’s. Roughly 65 GB for the full set, or bring your own folder.
  • It does not put a different clip on each display. Every screen shows the same frame — that is exactly what makes one decode enough.
  • macOS 14 or newer. The shared decode needs CADisplayLink, which AppKit only vends from Sonoma.

Try it on one display. Keep it, or don’t.

The free tier is the whole app on your main display, forever — no trial clock, no account, no card.