Vidwall Hub 1.6.1
Vidwall Hub 1.6.1
minimum OS requirement: macOS Tahoe 26+
Vidwall Hub is a tool that allows you to easily import videos (mp4, mov) into the system wallpaper service and use them as lock screen animations in System Settings.
When trying to implement both dynamic wallpapers and dynamic lock screens through the Vidwall app, this feature could not be realized due to macOS sandbox restrictions. Therefore, I created a standalone version of the tested code and provide it for free, as a complement to Vidwall. Even when running independently and bypassing the sandbox, it still cannot directly set dynamic lock screens because macOS does not provide the related API. Vidwall Hub only imports videos into the system wallpaper service, and users need to complete the final application in the wallpaper options in System Settings.
Vidwall Hub allows activating the tool via URL and automatically importing a video based on the file path parameter in the URL.
vidwallhub://open?file=/file/to/path/video.mp4
Based on the current implementation, the lock screen import workflow of Vidwall Hub is as follows (user-level, no administrator privileges required):
~/Library/Application Support/com.apple.wallpaper/aerials/manifest/entries.json.Vidwall Videos category and its subcategory.asset entry for each imported video and write it into entries.json.~/Library/Application Support/com.apple.wallpaper/aerials/thumbnails/<UUID>.png..mov: Copy to ~/Library/Application Support/com.apple.wallpaper/aerials/videos/<UUID>.mov.mp4: Export to .mov using AVAssetExportPresetPassthrough, then write to the directory abovekillall Wallpaper WallpaperAgent WallpaperAerialsExtension WallpaperImageExtension WallpaperLegacyExtensionResource usage notes:
.mp4 only) container remuxing overhead.entries.json and the associated media files (videos/thumbnails), including importing, updating, and deleting them.macOS 15 is not supported yet
/Library/Application Support/com.apple.idleassetsd/Customer/4KSDR240FPS
/Library/Application Support/com.apple.idleassetsd/Customer/entries.json