Are there specific video wallpaper sets I can download that leverage these features?
Ever since Apple introduced their video wallpapers I wanted to be able to put custom videos there. I decided to reverse engineer and see what I can do.
I built Phosphene to sell it, but the existing competitors were polished enough that the time it would have taken to catch up wasn't going to pay off. So I'm open-sourcing it.
WallpaperExtensionKit.framework is what powers macOS wallpapers. It controls what’s shows in the Settings app. It took a lot of trial and error to replicate the behavior, but the result is that your custom wallpapers appear alongside everything else. I wanted to have an “add” button there too, but I couldn’t find a way to do so, so there’s a companion app that will put your video where it needs to be.
Unlike Apple's Aerials, the video keeps playing on the desktop (not just the lock screen). The renderer drives AVSampleBufferDisplayLayer directly with PTS-offset gapless looping, and pauses or downshifts based on thermal state, battery level, brightness, and window occlusion.
It’s free and works well.
Very neat. I was confused at first, I was like you can download the video screensavers.. why scrape the frames. Then I saw your comment and read I can use my own videos for desktop and lock screen. Great work! Dont bury the lede! A title with the hook of what and how would be super helpful!
Very cool!
However, it may definitely get broken by Apple, as you note.
I don’t think they’ll touch this part anytime soon. It’s been unchanged for a few years now, they certainly have other priorities.
Good on ya.
I won't use it, myself, because I can't deal with wallpaper moving behind my work (I also can't listen to music, while I work. Maybe it's a "generational" thing). Also, I use a 49-inch ultrawide, so it might be vomit-inducing.
I remember some other utility that played wallpaper videos, but it wasn't anywhere near as nicely done.
So cool! This reminds me I wanted to try setting a custom video background with some footage i had. Didn’t even realize it wasn’t natively supported till i saw this!