Re:I reverse engineered Apple's video wallpapers
by kageroumado on Wednesday May 20, 2026 @07:54PM
(#48215980)
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.
Re:I reverse engineered Apple's video wallpapers
by encore2097 on Wednesday May 20, 2026 @08:49PM
(#48216373)
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!
Re:I reverse engineered Apple's video wallpapers
by ChrisMarshallNY on Wednesday May 20, 2026 @09:12PM
(#48216545)
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.
Re:I reverse engineered Apple's video wallpapers
by wanoir on Wednesday May 20, 2026 @09:07PM
(#48216503)
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!
Re:I reverse engineered Apple's video wallpapers
by buildbot on Wednesday May 20, 2026 @09:54PM
(#48216875)
As much (fairly well deserved) hate as Tahoe gets, the video wallpapers and transparency are such a fun Windows Vista vibe I get nostalgia. Time to set this up with the Vista waterfall wallpaper and reallllyyy feel like it’s 2007!
Re:I reverse engineered Apple's video wallpapers
by charcircuit on Thursday May 21, 2026 @05:45AM
(#48220081)
Being unable to know the current date or being unable to subtract two simple numbers is not funny. Encouraging such behavior will waste people's time having to deal with people on this site who can't do simple arithmetic. There are other websites where such cheap "humor" is more acceptable.
Re:I reverse engineered Apple's video wallpapers
by dspillett on Thursday May 21, 2026 @05:58AM
(#48220170)
> Encouraging such behavior will waste people's time having to deal with people on this site who can't do simple arithmetic.
We shouldn't encourage people who can't properly read and understand a comment before replying either, but here we are talking to you who jumped on correcting the “2 or 3 years” to “19 years” without noticing that “2007” was in the post so the poster was obviously well aware of that.
> being unable to subtract two simple numbers is not funny
1. That is not the joke. It is referencing how humans experience the passage of time at massively different rates to the actual reality, especially as we age.
2. Humour is subjective. So is, to an extent, the amount of it that is acceptable in a given environment. Sense of humour is sometimes objectively non-existent, as you helpfully illustrate by clear example.
Re:I reverse engineered Apple's video wallpapers
by charcircuit on Thursday May 21, 2026 @11:23AM
(#48224323)
>“2007” was in the post so the poster was obviously well aware of that.
Which is why I first included the possibility the commenter didn't know the current year.
>humans experience the passage of time at massively different rates
The commenter did not say anything related to this. The relative speed of time was not referenced.
>that is acceptable in a given environment
Humor is not very acceptable on this website compared to others, so it's important to protect this and not let outsiders from other sites to try and bring their humor here.
Re:I reverse engineered Apple's video wallpapers
by dspillett on Thursday May 21, 2026 @12:37PM
(#48225519)
> Which is why I first included the possibility the commenter didn't know the current year.
> > humans experience the passage of time at massively different rates
> The commenter did not say anything related to this. The relative speed of time was not referenced.
But it was implied, by the very common joke format. You made no direct reference to the current year. Your argument there would be more convincing if you were as clear and detailed in your meaning as you expect everyone else to be.
> and not let outsiders from other sites to try and bring their humor here.
Thank you, Mr Account-Created-In-2021, for defending those of us who have been around since 2013, 2011, and 2010, from the humour of outsiders like ourselves!
Re:I reverse engineered Apple's video wallpapers
by devilbunny on Thursday May 21, 2026 @02:46PM
(#48227266)
It wasn’t a horrible OS. It just broke XP’s “it runs on practically anything” before the hardware was really there. And 7 was, as we all know, the most perfect Windows has ever been. Windows 7 Media Center was a magnificent DVR and a great movie-playing box.
Re:I reverse engineered Apple's video wallpapers
by wpm on Wednesday May 20, 2026 @11:25PM
(#48217502)
The moving wallpapers are near the first few times but I can't turn it off. I had to dig deep into WallpaperKit (I mean really? It's a friggin wallpaper) to find the static last frame of the wooshy moving BS.
which waterfall are you talking about? i am also surprised to see how many wallpapers were apparently available on Vista. All I remember is the default green gradient thingie and I think I had the bamboo forest on at some point
Re:I reverse engineered Apple's video wallpapers
by dspillett on Thursday May 21, 2026 @06:06AM
(#48220224)
> All I remember is the default green gradient thingie and…
IIRC at that time users were split fairly completely into three types: those who customised their OS look a lot, sometimes spending far too much time on it (I was one of them back then), those who had developed a preferred look and just kept that as much as possible between OS changes, and those who just used the defaults and got on with whatever else. This means the other wallpaper that someone at MS put effort into collecting together hardly ever got seen: many users kept the one default, and almost all who didn't had something that they chose from other sources. Maybe the other included images might have seen the light of day more often if there had been an explicit “choose your wallpaper” prompt as part of user on-boarding.
Re:I reverse engineered Apple's video wallpapers
by jermaustin1 on Thursday May 21, 2026 @08:34AM
(#48221633)
My big problem with Tahoe, is the lock screen animation stutters and freezes CONSTANTLY. I'm on an M3 Pro. If I can watch 4K video with no dropped frames, a simple video background should work as well, and if it doesn't, it shouldn't exist.
Re:I reverse engineered Apple's video wallpapers
by radley on Thursday May 21, 2026 @11:32AM
(#48224491)
Are you using a Studio Monitor? Lock screen videos are incompatible with Settings > Displays > Refresh rate > Adaptive. You have to use a fixed frame rate (60 or 120 Hz).
Re:I reverse engineered Apple's video wallpapers
by peapicker on Friday May 22, 2026 @08:17PM
(#48243185)
I have this problem a few times a day on my corporate M4 Pro when I lock the screen... with 60Hz set. It happens when the two security monitoring app corporate insists on are scanning harder b/c the screensaver kicked in. My personal macbook pro is fine.
Re:I reverse engineered Apple's video wallpapers
by markdown on Wednesday May 20, 2026 @10:08PM
(#48216960)
These damned wallpapers gave me my worst experience with Apple. MacOS would delete them and redownload automatically over and over again, using almost a terrabyte of data per week.
And I wasn't even using video wallpapers at the time.
Just discovered I had no internet 3 days into the month as my ISP had cut me off. Had to dig deep and spend hours I'll never get back trying to find out where all the data was going.
Re:I reverse engineered Apple's video wallpapers
by kageroumado on Wednesday May 20, 2026 @10:13PM
(#48216984)
This app injects itself directly into Apple’s actual pipeline, so your videos won’t get removed or changed. It’s not just an automated replacer of Apple’s own videos.
Re:I reverse engineered Apple's video wallpapers
by throw310822 on Thursday May 21, 2026 @03:17AM
(#48219032)
You could set a full-screen, interactive browser page as the backdrop of your desktop. Not sure what communication it was allowed to have with the desktop events, but I always thought it was a clever hack that could have been explored and expanded further.
Re:I reverse engineered Apple's video wallpapers
by sixeyes on Thursday May 21, 2026 @05:22AM
(#48219926)
i remember setting a html with a flash file and it did track the cursor accurately for some fun effects. couldn't keep it like that due to resource use but yeah, it was fun!
icons and text would get single-color backdrops though. no transparency back to the html
Re:I reverse engineered Apple's video wallpapers
by kageroumado on Wednesday May 20, 2026 @10:12PM
(#48216978)
The app now has a landing page with a download link and you can also see my other projects: the largest one is Refrax browser, but I also have many other small utility apps!
Re:I reverse engineered Apple's video wallpapers
by daemonologist on Wednesday May 20, 2026 @10:47PM
(#48217222)
I wonder about this when I see someone post their own work without the Show HN prefix - is it always supposed to be a Show? (Enforcement/community objection to the lack thereof doesn't seem to be very strenuous, if so. Or, maybe it gets fixed after a little while and I haven't noticed.)
Re:I reverse engineered Apple's video wallpapers
by kageroumado on Wednesday May 20, 2026 @10:46PM
(#48217220)
The video will keep playing on the lock screen, but screen savers are a different thing. You can have the same video as your wallpaper and screen saver though.
Re:I reverse engineered Apple's video wallpapers
by postalcoder on Wednesday May 20, 2026 @10:48PM
(#48217229)
Wow, thank you for this. I've been working on a screensaver suite but LegacyScreenSaver is so janky. I was hoping someone would figure out apple's private wallpaper framework and you did!
Re:I reverse engineered Apple's video wallpapers
by cwizou on Thursday May 21, 2026 @09:12AM
(#48222096)
As far as I can tell this is for WallpaperAgent, an extension to `com.apple.wallpaper` that are ran by WallpaperAgent on the desktop. For screensavers check my other post, I posted a sample the private screensaver api to bypass that.
Apple's uses both for their own "Aerials" and they have a sync system to share the position between the screensaver player and the desktop player.
Re:I reverse engineered Apple's video wallpapers
by futhey on Wednesday May 20, 2026 @11:31PM
(#48217538)
Same! I distinctly remember seeing portions of this wallpaper that led me to believe it's procedurally generated and not simply a collection of video files, and had to rewatch it to confirm. There are several points where the date and time match the system date and time down to the second.
Re:I reverse engineered Apple's video wallpapers
by ventana on Thursday May 21, 2026 @03:34AM
(#48219128)
Nice project, thank you for sharing!
Out of curiosity: how much did you need to steer Claude while working on this project, and how long did it have?
Asking partly because I see "Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>", and partly because I keep hearing "so what do you do with all these agents", and this is a good example of what people do with all these agents.
Re:I reverse engineered Apple's video wallpapers
by ellisd on Thursday May 21, 2026 @04:52AM
(#48219681)
Amazing, can’t wait to try this out!
On a similar note, I’d love to replace Aerials on tvOS with my own videos. I have yet to figure out how to craft a working data feed that the tvOS will accept using the secret mode that I believe is used in the retail store displays.
Re:I reverse engineered Apple's video wallpapers
by jon-wood on Thursday May 21, 2026 @10:01AM
(#48222718)
I suspect the retail stores are using autonomous single app mode, which allows an app deployed on an MDM managed device to take control and force itself to the foreground, disabling screen sleep and other things. I briefly did some reading around it recently when wondering about putting some sort of dashboard on my TV while idle.
Re:I reverse engineered Apple's video wallpapers
by somat on Thursday May 21, 2026 @07:44AM
(#48221060)
And then there is X11, whatever program you want can be set to the root window.
Anyhow, on topic, that windows 98 active desktop was the most unstable part of an already shaky OS. First thing to turn off when installing a new system. I mean, it would still crash if you looked at it wrong. But at least it was not dying for the fun of it anymore.
Re:I reverse engineered Apple's video wallpapers
by tharropoulos on Thursday May 21, 2026 @06:18AM
(#48220296)
Really nice work. We went down a similar rabbit hole recently and reverse engineered the Aerials catalogue to figure out how Apple wires this stuff up, so seeing another open source project doing this is great. The detail I love most and one I can't replicate on our own tool is how the animation persists between the login window and the live desktop. We built phonto as a cross platform take on the same idea, https://github.com/museslabs/phonto. I was about to start writing an article on the whole reverse engineering process and this might be the nudge I needed to start working on it.
Re:I reverse engineered Apple's video wallpapers
by kageroumado on Thursday May 21, 2026 @08:10PM
(#48230348)
Thank you!
The way it works is that the video playback is shared between the lock screen and the desktop, and Apple’s framework transparently switches the surface it’s displayed to.
Re:I reverse engineered Apple's video wallpapers
by fps-hero on Thursday May 21, 2026 @07:03AM
(#48220649)
I find it weird today that we are still fascinated by video wall papers.
This was literally my first hack I did in high school in 2005. Doing something I’d never seen done before, a video wallpaper.
Step one, grab a handle to the video memory serving the wall paper. My “game trainer cheats” experience served me well. That was easy.
I had to figure out the hard way that per pixel calculations are extremely CPU taxing, the YUV to RGB video color space conversion. With a pirated Intel compiler I could get the naive blit into memory videy background working.
But then I wondered how other video apps were working so efficiently?
They used a GPU overlay! How it worked is you’d designate a color on your screen as the overlay color, and, when the screen was rendered, any pixel that was the overlay color was swapped with the full screen rendered video. I forget the specifics, it was some directX api. So, set the wallpaper to the hottest hot pink, run the renderer, and bobs your uncle, video wallpaper.
Everyone I showed this to was amazed, I really though I was on to something! Trouble was, I couldn’t get the damn thing to run on other people’s computers!
Little did I know or understand about the dreaded VCruntime redistributable. It wasn’t until 10 years later when I started working in industry I learned about “software distribution”. Linux makes it too easy, windows makes it too hard, static linking everything that isn’t network facing is probably the right approach.
I was so annoyed when Vista had the video wallpaper feature. “Man I was doing this years ago!”.
Re:I reverse engineered Apple's video wallpapers
by cwizou on Thursday May 21, 2026 @09:06AM
(#48222009)
Oh wow, that's seriously awesome. I did manage to reverse engineer the private screensaver `.appex` framework and make it work for Aerial 4 (I released a sample project/documentation last week here alongside v4 for those who want : https://github.com/AerialScreensaver/AppexSaverMinimal).
I also tried the same with Wallpaper appexes, the reversing seemed easy enough, but WallpaperAgent refused to load them, so I still use the classic trick of using my own window with a video player on top of the wallpaper, and below the icons.
Re:I reverse engineered Apple's video wallpapers
by solarkraft on Thursday May 21, 2026 @12:06PM
(#48225026)
Very nice, thank you for this! I’ve been wishing for a way to control when the wallpaper freezes. Can your app also keep it playing on the lock screen?
Re:I reverse engineered Apple's video wallpapers
by solarkraft on Wednesday May 27, 2026 @10:17PM
(#48303569)
My dude, that doesn’t really answer the question unless you infer more than people usually mean. This is about changing the behavior of the video stopping after considerable time, the default behavior is that it keeps playing for a good while (while on the desktop it stops close to immediately), which I assume is what they are referring to by “just the lock screen”.
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.
However, it may definitely get broken by Apple, as you note.
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.
I originally thought that this was an extension to keep a video running in the background.
It simply allows you to add your own videos to the built-in Apple ones (much more useful to me).
I see what you did there :)
We shouldn't encourage people who can't properly read and understand a comment before replying either, but here we are talking to you who jumped on correcting the “2 or 3 years” to “19 years” without noticing that “2007” was in the post so the poster was obviously well aware of that.
> being unable to subtract two simple numbers is not funny
1. That is not the joke. It is referencing how humans experience the passage of time at massively different rates to the actual reality, especially as we age.
2. Humour is subjective. So is, to an extent, the amount of it that is acceptable in a given environment. Sense of humour is sometimes objectively non-existent, as you helpfully illustrate by clear example.
Which is why I first included the possibility the commenter didn't know the current year.
>humans experience the passage of time at massively different rates
The commenter did not say anything related to this. The relative speed of time was not referenced.
>that is acceptable in a given environment
Humor is not very acceptable on this website compared to others, so it's important to protect this and not let outsiders from other sites to try and bring their humor here.
> > humans experience the passage of time at massively different rates
> The commenter did not say anything related to this. The relative speed of time was not referenced.
But it was implied, by the very common joke format. You made no direct reference to the current year. Your argument there would be more convincing if you were as clear and detailed in your meaning as you expect everyone else to be.
> and not let outsiders from other sites to try and bring their humor here.
Thank you, Mr Account-Created-In-2021, for defending those of us who have been around since 2013, 2011, and 2010, from the humour of outsiders like ourselves!
which waterfall are you talking about? i am also surprised to see how many wallpapers were apparently available on Vista. All I remember is the default green gradient thingie and I think I had the bamboo forest on at some point
IIRC at that time users were split fairly completely into three types: those who customised their OS look a lot, sometimes spending far too much time on it (I was one of them back then), those who had developed a preferred look and just kept that as much as possible between OS changes, and those who just used the defaults and got on with whatever else. This means the other wallpaper that someone at MS put effort into collecting together hardly ever got seen: many users kept the one default, and almost all who didn't had something that they chose from other sources. Maybe the other included images might have seen the light of day more often if there had been an explicit “choose your wallpaper” prompt as part of user on-boarding.
And I wasn't even using video wallpapers at the time.
Just discovered I had no internet 3 days into the month as my ISP had cut me off. Had to dig deep and spend hours I'll never get back trying to find out where all the data was going.
Here's a thread I just found now that shows others having similar issues: https://www.reddit.com/r/MacOS/comments/1ii38g8/macbook_wall...
icons and text would get single-color backdrops though. no transparency back to the html
https://kagerou.glass/phosphene/
https://kagerou.glass
also, nice typography.
Apple's uses both for their own "Aerials" and they have a sync system to share the position between the screensaver player and the desktop player.
/System/Library/ExtensionKit/Extensions/WallpaperMacintoshExtension.appex
Can see the time and date being added here I think:
System6ControlPanel.program
Out of curiosity: how much did you need to steer Claude while working on this project, and how long did it have?
Asking partly because I see "Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>", and partly because I keep hearing "so what do you do with all these agents", and this is a good example of what people do with all these agents.
On a similar note, I’d love to replace Aerials on tvOS with my own videos. I have yet to figure out how to craft a working data feed that the tvOS will accept using the secret mode that I believe is used in the retail store displays.
Anyhow, on topic, that windows 98 active desktop was the most unstable part of an already shaky OS. First thing to turn off when installing a new system. I mean, it would still crash if you looked at it wrong. But at least it was not dying for the fun of it anymore.
https://pastebin.com/XLhjr4pf https://github.com/kageroumado/swiftui-macos-skill
This was literally my first hack I did in high school in 2005. Doing something I’d never seen done before, a video wallpaper.
Step one, grab a handle to the video memory serving the wall paper. My “game trainer cheats” experience served me well. That was easy.
I had to figure out the hard way that per pixel calculations are extremely CPU taxing, the YUV to RGB video color space conversion. With a pirated Intel compiler I could get the naive blit into memory videy background working.
But then I wondered how other video apps were working so efficiently?
They used a GPU overlay! How it worked is you’d designate a color on your screen as the overlay color, and, when the screen was rendered, any pixel that was the overlay color was swapped with the full screen rendered video. I forget the specifics, it was some directX api. So, set the wallpaper to the hottest hot pink, run the renderer, and bobs your uncle, video wallpaper.
Everyone I showed this to was amazed, I really though I was on to something! Trouble was, I couldn’t get the damn thing to run on other people’s computers!
Little did I know or understand about the dreaded VCruntime redistributable. It wasn’t until 10 years later when I started working in industry I learned about “software distribution”. Linux makes it too easy, windows makes it too hard, static linking everything that isn’t network facing is probably the right approach.
I was so annoyed when Vista had the video wallpaper feature. “Man I was doing this years ago!”.
This is life. We discover things for ourselves, on our own time.
https://news.ycombinator.com/item?id=45247396
I also tried the same with Wallpaper appexes, the reversing seemed easy enough, but WallpaperAgent refused to load them, so I still use the classic trick of using my own window with a video player on top of the wallpaper, and below the icons.
I will have a look and check what I missed.
> the video keeps playing on the desktop (not just the lock screen)