【乐享】如何在Mac上拥有动态壁纸

Last updated on January 19, 2025 pm

最近刷完樱花庄的小说和番,然后就发现了椎名真白那一张神图有动态壁纸,还挺好看,但是Mac没有现成的Wallpaper Engine可以用,所以就开始搜索平替方案。折腾了两天,下面就是效果啦

椎名的没录屏,就○神,启动罢😅

原理

先介绍一下实现的原理罢。实现的原理就是通过一个软件将视频文件在桌面以最低层级播放,以此覆盖原来的静态壁纸。对于状态栏则设置一张视频帧作为静态壁纸以渲染出状态栏的高斯模糊效果。总结一下,我们需要两个东西,一个可以在桌面循环播放视频的软件,一个视频作为动态壁纸。

软件

有两种路线,一种是开源折腾,另一种是借钱消灾。我现在用的是App Store上以29.9元巨款买下的Dynamic Wallpaper,实测对于多桌面和多显示器效果很好,链接在这儿:
https://apps.apple.com/cn/app/dynamic-wallpaper-engine/id1453504509?l=en-GB&mt=12
开源的Wallpaper Player,或者同一个作者的Open Wallpaper Engine,是免费的,但是对于多桌面的支持不好,只支持一个桌面的动态壁纸,这是它的GitHub项目地址:
https://github.com/haren724/wallpaper-player-mac

视频

Wallpaper Engine的创意工坊中有几种常见的动态壁纸类型:Scene, Video, Application, Web,这里介绍Scene和Video两种类型。

Video

Video就是视频,所以我们只需要想办法把创意工坊的壁纸中的视频给弄下来就好了。我的Windows PC没有带在身上,所以现在只有MacBook,因此我们可以在Mac上安装好Steam,注册Steam账号(谁家好人注册账号还要下客户端yue)用Windows虚拟机来购买Wallpaper Engine(拒绝白嫖从我做起),然后再利用valve的命令行工具SteamCMD来下载壁纸。SteamCMD的wiki链接在这里:
https://developer.valvesoftware.com/wiki/SteamCMD
macOS用户执行以下两条命令安装

1
2
mkdir ~/Steam && cd ~/Steam
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz" | tar zxvf -

然后SteamCMD就安装在~/Steam目录下了。运行的时候先cd到~/Steam下,然后./steamcmd.sh就可以运行了。或者你喜欢用包管理器的话,用brew安装也可以

1
brew install --cask steamcmd

然后直接运行steamcmd就好了。不出意外的话,命令行会输出这些

1
2
3
4
5
6
7
8
9
10
11
╭─stephenzeng@Mac ~ 
╰─$ steamcmd
Redirecting stderr to '/Users/stephenzeng/Library/Application Support/Steam/logs/stderr.txt'
Logging directory: '/Users/stephenzeng/Library/Application Support/Steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1733269577
-- type 'quit' to exit --
Loading Steam API...OK

Steam>

随后,输入login {steam用户名} {steam密码} {手机令牌的验证码}来进行登录。如果没有设置手机令牌的话手机令牌的验证码就不用填了。然后,等待一下,手机令牌会弹出确认登录的信息,确认就好咯。

1
2
3
4
5
6
7
Logging in using username/password.
Steam Guard code provided.
Logging in user '0wqwqwqw0' [U:1:1857797544] to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK

Steam>

登录成功之后,输入workshop_download_item 431960 {壁纸id}来下载壁纸。这个壁纸id在创意工坊的壁纸链接中有,比如这个壁纸
https://steamcommunity.com/sharedfiles/filedetails/?id=3387794230
的壁纸id就是3387794230。下载成功会有这样的输出

1
2
3
4
5
6
Steam>workshop_download_item 431960 3387794230
Downloading item 3387794230 ...
steamcmd has been disconnected from steam with result 3 (No Connection)

Success. Downloaded item 3387794230 to "/Users/stephenzeng/Library/Application Support/Steam/steamapps/workshop/content/431960/3387794230" (52247741 bytes)
Steam>

然后你的视频文件就在对应文件夹里头了

btw,这个431960是Wallpaper Engine的App ID,所以你也可以通过steamcmd来下载其他游戏的创意工坊文件。

Scene

场景类的动态壁纸其实是实时渲染的,但是现阶段所有的Mac动态壁纸软件都没有支持,Wallpaper Player的作者说以后应该会支持,所以现阶段我们需要将Scene场景渲染成导出成视频。这个时候我们就需要一台Windows PC,因为要运行WE本尊了。当然,用Mac上的Windows虚拟机也是可以的,这也是一次难得的机会把我的M3 Pro给跑满了呜呜呜感觉M3 Pro在我手里浪费了悲
打开。除了WE本尊,我们还需要解包工具,这里放上工具作者的B站文章链接:
https://www.bilibili.com/opus/731003055992995880
打开本尊,右键需要导出渲染的壁纸,然后导出mpkg

在接下来的导出选项中像这样选,确保导出的画质是最佳的。

然后就会选择导出位置了,导出的文件应该是mpkg类型,如果不是就把后缀改成mpkg。然后打开解包软件RePKG-GUI,点击上面的PKG/MPKG,然后将导出的mpkg文件拖到可以把PKG/MPKG拖拽到这里,然后点击提取,过一下就提取好了,视频就在提取的文件夹中。

现在视频文件就准备好啦

导入

这个其实自己探索一下就好了,不过我还是简单说一下吧。Wallpaper Player打开之后在这里

然后Dynamic Wallpaper打开之后在状态栏图标这里

结束~

然后Mac也有动态壁纸啦!反正MacBook的续航没地儿使,不如弄个动态壁纸增加美感。实测Dynamic Wallpaper和Wallpaper Player的内存占用还凑合,不影响日常使用,所以常挂后台问题不大

就是可怜了我收藏了好多的静态壁纸了,该退役咯!不对,iPad还不能动态壁纸,全给iPad用了🤣


【乐享】如何在Mac上拥有动态壁纸
https://www.qwqwq.com.cn/share/we-mac/
Author
Stephen Zeng
Posted on
January 19, 2025
Licensed under