Video WallpaperGet it free

Install · v1.3.1

Three commands, then forget about it

There is no installer package and no download button, because the app is one Swift file and building it yourself is faster than trusting a binary from a stranger. The free tier needs no account, no card and no trial clock.

1

Build and install

One command clones, compiles, assembles the .app into /Applications, registers it to start at login and starts it. Re-run it any time to update — it stops the old copy first.

git clone https://github.com/deepakmarathe/video-wallpaper-macos.git && cd video-wallpaper-macos && sh build-app.sh
2

Get some videos

macOS ships the whole Apple aerial catalog but System Settings only fetches the one you click. This pulls all of them, resumably, into your Application Support folder. Or point the app at any folder of .mov / .mp4 / .m4v you already have.

sh fetch-aerials.sh          # ~160 clips, ~65 GB, resumable
3

Make it yours

Everything is in the menu bar item, and the same settings are reachable from the command line. A running instance picks up changes live.

videowallpaper --config                 # what it is doing now
videowallpaper --set-interval 300       # swap every 5 minutes
videowallpaper --set-folder ~/Movies/Wallpapers

Requirements

macOSStatusNotes
macOS 27SupportedDeveloped and tested on this release.
macOS 26 (Tahoe)SupportedSame APIs; the display-native pipeline is unchanged.
macOS 15 (Sequoia)SupportedAVSampleBufferDisplayLayer path is identical.
macOS 14 (Sonoma)Security fixes onlyMinimum for CADisplayLink on AppKit, which the shared decode needs.
macOS 13 and earlierEnd of lifeBelow the build's deployment target; the app will not launch.

Xcode command line tools are needed to compile (xcode-select --install). Full support policy is on the changelog.

Uninstalling

One command removes the app, the login item and the launchd job. Your settings and any videos you downloaded are left alone — deleting 65 GB of someone else’s files without asking would be rude.

sh build-app.sh --uninstall