▍TL;DR
优点
缺点
暂时只支持英文
电量消耗较高
长期使用性能待观察
定价显著偏高
槽点
宣传和沟通存在尬吹和说话不老实的情况
从《黑镜》第一季终章《你的全部历史》(The Entire History of You),到《降临》编剧姜峯楠的雨果奖提名小说《双面真相》(The Truth of Fact, the Truth of Feeling),很多文艺作品里都出现过类似「可回放记忆芯片」的设定:你可以完整地记录下全部视听感官,在日后随时检索回看。
在目前的科技条件下,这样的设定仍然是超现实的。但如果将问题简化为录制操作电脑的全部历史,是不是听起来就实际很多呢?如果你曾经绞尽脑汁回忆过那些一闪而过的网页和对话框内容,或者垂头丧气感叹「时间都去哪了」,也许在当时就想象过:要是能回放过去的屏幕画面就好了。
但问题似乎也不是只靠「大力出奇迹」就能解决的:连续不断地录制屏幕内容,硬盘有没有足够的空间存放?处理器和电池能不能负担得起性能开销?更重要的是,记下了这么多数据,如何快速定位到有用片段而不是大海捞针?隐私有没有保障?
或许正因为这些障碍,此前主要只有监考、企业内控等行业应用会对屏幕内容进行连续录制和分析,并且像在文艺作品里一样,引发了很多隐私和道德担忧。
Rewind 是将这种「无限记忆」普及化的一次新近尝试。
正如其名称「倒带」所喻,Rewind 希望把电脑操作历史做成一个可回溯、可搜索的数据库,并且避免为此消耗过多系统资源。据创始人 Dan Siroker 说,他本人在二十几岁时失聪,三十岁因为助听器改变了生活,因此有愿望制作其他能辅助增强人类能力的工具。
经过几个月的内测,Rewind 在去年 11 月初正式对外公布,并在 12 月中旬开放注册和下载,同时宣布获得了 a16z 千万美元的投资。在 2022 年末的硅谷寒冬中,凭借颇具脑洞的思路和相对成熟的落地效果,这款产品一时也成为热门,引起不少讨论,但其中也不乏争议。
下面,本文将结合使用体验和实现原理,对 Rewind 做介绍和评论。
▍安装和使用
安装 Rewind 之前,要注意它目前只支持 macOS 12 (Monterey) 或更新版本的系统,并且要求电脑是搭载 Apple silicon 的 Mac。
初装过程比较简明顺畅。启动后有一个欢迎向导,向用户介绍工作原理并要求开启录屏、辅助功能和录音权限,然后需要登录账号以便处理订阅付费(注意取消自动续费;关于付费模式的讨论见后文)。
完成之后,Rewind 就默默驻守在菜单栏图标里开始工作了。
人们经常用「像是苹果自己做的」来称赞那些在设计和交互上符合 macOS 规范和习惯的软件;Rewind 可以配得上这个说法。按下默认快捷键 Command-Shift-Space,或者按住 Command 和 Shift 键的同时在触控板上双指滑动,就进入了 Rewind 颇具「果味」的主界面——与经典的「时间机器」界面异曲同工。
这个界面的主体显示的是录制的屏幕画面。底部是一个时间轴,上面依次排列着此前用过的应用图标。(一个比较细心的设计是,Rewind 内置了接近一千个常用网站的图标可以按需显示,这比只显示浏览器图标更加直观。)
使用触控板或鼠标滚轮滚动时间轴,就能查阅不同时间段的屏幕画面。如果需要快速跳转,可以按住 Shift 加快滚动速度;或者点击时间轴上方的日期文本,从弹出的日历对话框中选择要转到的日期。
不过,Rewind 的招牌功能还是藏在界面中间的搜索框里。
在这里输入任何你觉得曾在屏幕上出现过的文本,Rewind 就会帮你从「记忆」的每个角落中搜刮出它的每一处痕迹,然后以时间倒序显示出带有高亮提示的缩略图矩阵——其中往往有那么一两个能让你拍案称奇的偏门发现。
如果结果太多,还可以根据应用程序进一步筛选。例如,你记得曾经就某个话题搜到过一个特别有用的网页,但在茫茫标签页中遗失了,那么只要将搜索范围限定在几个浏览器中,就能更快找到结果。
遗憾的是,Rewind 目前的搜索过滤能力也就到此为止了:既不支持划定精准的日期范围,也不支持多种搜索条件之间的逻辑组合。可以想像,随着录屏内容的积累,日后必然会影响搜索效率。
说到浏览器——对于部分浏览器,Rewind 还支持所谓「深度链接」功能,可以直接从搜索记录页面跳转回原来的网页。(目前支持老牌主流的 Safari 和 Chrome,以及后起但擅长「搞事情」的 Brave 和 Arc。)
即使浏览器不在支持之列,或者录下的是其他类型应用,只要画面中完整地显示出了链接,Rewind 也可以在转文本后识别出来,点击即可访问。
你可能注意到 Rewind 搜索框里的提示语是「搜索任何看到、说到和听到过的内容」。的确,除了录制和搜索屏幕上的文本内容,Rewind 也支持搜索语音。实际上,语音内容的录制和索引正是 Rewind 原班人马上一个创业项目 Scribe 的功能;Rewind 可以认为是在其基础上将录制范围进一步扩大的产物。
迫于 Rewind 不支持中文,我只能用英语测试,背……朗诵了整篇《葛底斯堡演讲》。可以看到,Rewind 虽然没有完全领会亚伯拉罕·林肯的深层含义,但至少大致完整地转写下了林肯演讲的字面意思。考虑到是纯离线转写,这个效果是可以接受的。
需要注意,与屏幕显示内容不同,Rewind 并不会持续录制声音,而只会在线上会议期间自动录制,或者由用户通过菜单栏的录制命令手动开关。考虑到录音对他人隐私的潜在影响,这种设定是合理的,但目前只支持 Zoom 会议的自动检测录制显然过于局限了。
此外,Rewind 录音的来源是非常局限的,只能「听到」系统当前输入设备——一般就是内置麦克风——传来的声音。换句话说,如果想在开会时录下其他参会者的声音,就只能……一直开着扬声器外放,因为只有这样才能让麦克风「听到」。能用是能用,但未免过于狂野。
(如果愿意折腾的话,借助 Loopback 这样的工具,可以把麦克风输入和会议软件的输出拼接成一个虚拟输入设备,从而让 Rewind「听到」更多东西;但那超过了本文的讨论范围。)
最后,考虑到 Rewind 记录信息的范围之广,有几个隐私相关的问题值得记住:
在设置的 Screen 选项卡中,可以选择排除特定应用。Rewind 此后就会「假装看不到」这些应用,创建的录屏不会包含其任何窗口。Rewind 还会默认排除浏览器的隐私模式窗口。不过,Rewind 不能排除系统界面,所以被排除应用的缩略图仍可能「混进」系统多任务切换界面等位置;
如果手头操作的保密要求较高,可以随时通过菜单栏图标暂停录屏;
如果在时间线或搜索节目中看到了什么让自己「大惊失色」的场面,可以按 Delete 键删除当前展示的录屏片段;
通话录音的法规各国各地都有区别,Rewind 的录制活动对于其他参会者是透明的,无论稳妥或得体起见,都最好在使用时予以知会。
▍技术分析和潜在问题
如开头所说,Rewind 的设计思路本身并不复杂,甚至有点「简单粗暴」:只要先录屏再做文字识别,日后就可以搜个爽;那只要在后台一直录屏一直做文字识别,不就可以一直爽。
但之所以过去没人这么干,肯定不是因为没想到或者做不到,而是难以获得良好的体验,无法将对处理器、硬盘空间和电池的消耗控制在可接受的程度。
Rewind 是怎么做到的呢?
底层技术:他山之石拼盘
Rewind 的核心思路是「站在巨人的肩膀上」。不难注意到 Rewind 的运行条件是比较苛刻的——这一般意味着软件依赖于比较新的功能和接口。事实也是如此:Rewind 重度使用了苹果提供的软硬件条件。
软件上,Rewind 主要通过新版 macOS 提供的 ScreenCaptureKit 实现录屏功能。
与过去的接口相比,ScreenCaptureKit 除了能提供更好的性能和更丰富的编码格式,更重要的是能够向截屏工具提供显示器、应用程序和窗口的具体信息,以便开发者更细致地控制在截屏里包含什么、隐藏什么。Rewind 也正是借此实现了在录屏中排除特定应用程序的隐私保护功能。
(过去也有一些截图工具实现了截出 Photoshop 格式的图片,其中每个窗口对应一个图层;但相关 API 因为比较隐晦而少见使用,也已经被苹果宣布将在未来弃用。)
至于 Rewind 的文字识别功能,则也依赖于原生的 Vision 框架 提供的能力。其中,从界面中识别出链接的功能还利用到了与「实况文本」(Live Text)这一系统功能相同的接口。
唯一的例外是语音转文本。这里,Rewind 不知为何并没有使用 macOS 的原生框架(SFSpeechRecognizer),而是使用了 AI target=_blank class=infotextkey>OpenAI Whisper 的 C++ 移植版。观察内部文件可知,Rewind 内置了一个「基础款」的英语模型(ggml-base.en),用稍高的误差率换取了更快的处理速度。
顺带一提,对于国内用户来说,目前使用 Rewind 的主要障碍大概就是不支持中文。并且由于 Rewind 的部分功能依赖于识别屏幕文本,目前也只能在系统语言设置为英文时正常工作。
好消息是,上面提到的这些框架其实都支持中文。因此,如果官方有意增加支持,其实也不会需要很大功夫,但如果要达到比较好的检索效果,就还得解决分词等中文特有的问题了。
然而,我目前没有看到 Rewind 公布过支持其他语言的计划。从 Rewind 团队在推特上的答复看,除了上线时询问过一次用户希望增加什么语言支持,之后就没有再答复相关问题。因此,短期内看到 Rewind 支持中文的可能性预计不大。
硬件上,从 Rewind 只支持搭载 Apple silicon 的新型号 Mac 就能看出,它依赖于 M 系列处理器的一些新特性,特别是大小核设计和神经网络引擎。前者可以将一些后台任务分配给能效比更高的小核,节约性能和电量;后者则可以提供更好的图像分析和编解码性能。
存储空间:成效可嘉,尬吹可鄙
存储问题可能是很多人听到「持续录屏」的做法后首先顾虑的。毕竟现在主流 Mac 机型的分辨率至少也是 2K 级别的,很多人还会使用 4K 分辨率的显示器。一直录制 4K 分辨率的视频?想想都很酸爽。
对此,Rewind 的回答是「完全不用担心」。官方宣称可以实现高达 3,750 倍的压缩率,并解释说,他们使用一个含有 1,302 帧、10.5GB 的未压缩录屏进行测试,发现能够压缩到 2.8MB,将其相除,便得到了这个「难以置信」的压缩率。据此,他们估算用户平均每月使用的空间在 14—39GB 左右。
实际使用发现,Rewind 的压缩效率确实不错,官方的估算也算准确,但那是以单显示器为前提的。例如,我的 16 寸 MacBook Pro 绝大多数时候都搭配 4K 显示器使用,在大约一个月的测试期间生成了约 60GB 数据。因此,如果你的空间有限,记得到设置里调整视频的保留期限。
还应当指出,Rewind 对于压缩技术的宣传有一些夸大成分。Rewind 是以每两秒一帧、也就是 0.5fps的「幻灯片」帧率录屏的,对于实现其功能是足够了,但拿来和人们一般理解的 30fps 以上视频相比,显然是不公平的。
Rewind 还表示通过所谓「商业机密」算法实现了动态压缩比:屏幕内容变化幅度越小,压缩率就越高。但这其实也只是现代编码格式的基本能力,即通过相邻帧之间的相互预测来减少数据量。例如,一个未压缩的 4K 分辨率 10 色深画面有 (3840 × 2160 × 10)/ 8 = 10.37MB,在双向预测( B-frame )算法下可能被压缩到几 KB——这本身就达到了 Rewind 宣称的比例。
另一个令人好奇的问题是,Rewind 是怎样储存这么多数据的呢?其实,尽管效果看起来挺科幻,但实际做法是比较简单的,甚至有点简陋。
概括而言,Rewind 把所有的录屏和文字识别结果都存储在~/Library/Application Support/com.memoryvault.MemoryVault路径,其结构如下:
.
├── chunks
│ ├── 2022-12-16T01/39/46
│ │ └── chunk
│ ├── 2022-12-16T01/41/26
│ │ └── chunk
│ ├── 2022-12-16T01/41/38
│ │ └── chunk
│ ├── . . .
├── db.sqlite3
├── db.sqlite3-shm
├── db.sqlite3-wal
├── snippets
│ ├── 2023-01-10T15/36/37
│ │ └── snippet
│ ├── 2023-01-10T15/41/48
│ │ └── snippet
│ ├── . . .
└── temp
├── 2022-12-16T08/21/45.833
├── 2022-12-16T08/21/47.812
├── . . .
其中:
chunks 目录:存放视频。每段视频(chunk)长度是动态的,一般在二十几秒到四五分钟不等,用户操作越频繁,分段就越细致。视频采用 H.264 编码和 MP4 格式封装。
snippets 目录:存放录音。录音文件采用 AAC 格式编码,单声道 16000 Hz 采样率,比特率为 25 KB 每秒。
temp 目录:存放 PNG 格式的静态截图。不知为何是全尺寸且没有压缩,与对待视频时的省吃俭用形成鲜明对比。
当然,最关键的文件还是 db.sqlite3 这个 SQLite 格式的数据库,它存放了录屏历史,前台窗口的标题、应用类型和切换时间,从视频和音频中提取的文字信息,以及这些文字在原始的录屏文件中出现的帧数和坐标。
如何评价这种存储结构?我在这方面并不专业,但仍然有一些比较明显的可改进之处。例如,在已经有完整视频的前提下,再额外存储一份全尺寸截图似乎有点多此一举,而且也占用很大空间。此外,目前采用的存储层级是非常扁平的,随着使用时间的积累,chunks 等数据目录下将出现极大数量的子目录,这可能会影响遍历的效率。
事实上,在我的 M1 Max 机型上测试时,使用一个月后,滚动搜索结果就需要比较明显的等待时间,更早的结果大约以十个一批的节奏出现,越往下滚动等待时间越长。考虑到 Rewind 甚至允许用户「永久保存」记录,经年累月以后的性能下降可能就更加明显了。
性能和能耗:运行如忍者,耗电如强盗
另一个常见顾虑是对能耗的影响。如上所述,Rewind 只能在 Apple silicon 机型上运行,目的是利用 M 系列处理器的大小核设计和神经网络单元。官方数据称,对于 M1 系列处理器,通常情况下会使用单核 20—40% 的处理时间。
实测表明,这个数字是准确的,并且 Rewind 会积极调用小核完成任务。不过,处理视频建立索引时会出现一些峰值,最多可以短暂占用两个小核的全部处理时间。
总体而言,Rewind 的性能优化不错,在后台运行基本无感,不会对日常操作产生影响。
但对电池续航的影响就没那么乐观了。对此,一个常用指标是「活动监视器」「能耗」选项卡下的「能耗影响」(Energy Impact)。
(能耗影响是根据处理器占用率、唤醒处理器的频率,以及磁盘写入、GPU 占用和网络活动等因素综合计算的,这些因素在不同型号 Mac 上的计算权重不同,但在同一设备上可以通过与其他程序相互比较作为耗电量的参照。)
Rewind 的这项指标确实高居榜首,在我电脑上的 12 小时平均值常在 700 左右。虽说能耗影响的值不能线性对应到耗电量上,但这种水平的读数毫无疑问意味着有可感知的续航影响;一些用户反馈称 Rewind 减少了二到四成的续航。
(作为参照,以省电著称的 Safari,读数一般在个位数或较小的两位数;比较耗电的 Chrome 浏览器则经常在大几十区间,有时上百以至数百。此外,能耗影响如果持续达到二三十,就会在电池图标下拉菜单中「荣登」高能耗榜单。)
因此,在脱离电源使用 MacBook 时,最好考虑暂时关闭 Rewind。不过官方表示,将会加入在低电量时自动停止转码和索引的功能,值得期待。
隐私:技术关易破,心理关难逃
从内测之初,就有很多人表示听说 Rewind 工作原理后,第一反应是「不放心」。这是可以理解的:让一个第三方软件从早到晚录制屏幕、识别文字,就有点像在家里装一个全天开启的摄像头,需要对品牌很强的信任才能克服潜在担忧。
这里还有一个插曲:Rewind 的早期版本其实没有做到纯离线运行,而是使用了云服务处理语音转文字。这在当时引起了一些用户的反感,也与首页上所谓「数据不离本机」的宣传自相矛盾。好在 Rewind 团队还算是听得进外界意见,上线两天后就做出了改变,通过内置 OpenAI Whisper 模型实现了离线转写。
但即使实现了纯离线运行,作为初创公司,Rewind 也没有积累足够的资历和信誉来打消用户的顾虑;他们的宣传和沟通方式一定程度上还起到了相反效果。
例如,Rewind 虽然在帮助文档中专门划分出「隐私」一节,花的笔墨比介绍功能还要多,但其中主要是一些「按抚」性质的营销话术,例如保证录屏信息不会上传(「所以即使我们被 发了传票 也只能无可奉告耶」),也不会转卖用户数据。真正的披露信息只有 公示 网络活动的目标域名之类,而这本就该是隐私政策的标准内容。
此外如上文讨论,Rewind 目前生成的视频文件和文本数据库都是明文存储的,只要知道路径就可以直接访问。考虑到持续录屏中很难避免会混入明文密码或其他敏感信息,采用加密存储等方式进一步提高安全性也是一个合理的改进方向。
然而,官方在网站和推特上回答相关问题时,采用了一种颇具误导性的口径,表示只要启用了 macOS 自带的 FileVault 功能,录屏数据就是受加密保护的。但我们知道,FileVault 是一个全盘加密功能,并不能在系统已被攻击的情况下,给特定软件提供额外保护。如果说启用了 FileVault 就算给 Rewind 加密,那桌面上随意一个的 word 文档也能算「加密」了;这显然是非常荒谬的。
Rewind 引发的隐私顾虑可以说是一个提醒:随着软件的能力范围不断扩张,除了技术和性能,隐私和伦理也将成为不可忽视的制约因素(参见最近 AI 行业的 一堆案例 );开发者需要在设计之初就考虑这些方面的潜在后果,而不是在事后出现问题时再考虑怎样亡羊补牢。
付费模式和可持续性
和大多数起源硅谷、风投支持的产品类似,Rewind 的定价水平颇具第一世界思维:每月 20 美元。
在 Rewind 团队看来,他们做的是救人于水火的事情,用户很容易就能感到物超所值。为了支撑这种论述,官方甚至专门收集了一个感恩推文集合。但显然,即使欧美市场的用户,也不可能轻易在已经膨胀的订阅列表里,再加上这样一个大件。
在我看来,如果认为 Rewind 定价方式不够合理,那么问题并不在于订阅制、也不在于价格本身,而在于采用了固定价格的订阅制。
从开发成本看,Rewind 的底层技术都来自系统功能或第三方,利用的完全是用户电脑自有的存储空间和运算性能,其产品可以说主要是对现成资源做二次封装所得。提出这点不是要贬低 Rewind 的创新,但确实意味着需要更有力地论述付费点何在。
从对用户的价值看,Rewind 有点类似于备份工具和数据恢复工具,主要起到一种保险的作用,「养兵千日用兵一时」。例如,在我试用的一个月中,真正用上它力量的情况只有两次:一次是找回误关网页输入框中的回复,一次是找回捣鼓半天却忘了执行的终端命令。高兴是很高兴,但是不是值 20 美元的高兴?好像也没有。
因此,这样性质的产品不是说不能循环收费,但采用固定费率就不太匹配,对用户的说服力也不强。
如果换由我站在「奸商」的视角上,一种可能值得考虑的模式是:基本的后台录屏免费,同时根据核心功能,也就是搜索和时间线的使用频次收费。具体衡量标准可以是进行搜索和截图取字操作的次数,也可以是使用时间线界面的时长等。这样,可以吸引更多用户安装使用,也可以让费用更公平地反映给用户带来的实际帮助。
除了付费模式,Rewind 自身的可持续性也是需要考虑的问题。把自己的业务建立在他人提供的技术上总是有风险的;如果 Rewind 依赖的 macOS 接口日后发生重大变化,对于这款软件就会是重大挑战甚至生死攸关。这种技术架构也决定了跨平台的成本是非常高的,不啻于重新开发一次。如官方问答所说,在「可预见的未来」还会专注于 macOS,今年只可能「考虑」是否支持其他系统和移动端;我相信后半句目前就是随口说说。
此外,锚定苹果生态也未必就是安全的:不能忘记苹果一直有暗中观察热门产品,等时机成熟时直接做成内置功能的「癖好」。从用通知中心取代 Growl 到用「随航」取代 AstroPad,这种被坊间称为 sherlock 的做法对于 Mac 平台开发者始终是悬顶利剑。而考虑到 Rewind 与苹果软硬件的绑定程度之深,其功能对信息安全的潜在影响之高,可以说没有谁比苹果自己更适合开发这个功能(即使是一种简化版),更可能说服那些因隐私顾虑犹豫不决的用户放心尝试。
▍结语
如果用一个词形容 Rewind 给人的感受,那大概就是「潘多拉的盒子」。它一方面提出了一个颇具吸引力的使用场景——「时光倒流」,另一方面又在性能、隐私和商业模式等方面留下了一堆未完成的答卷。这造就了一个让人忍不住想试,真用起来又止不住隐隐担心的奇特应用。
但 Rewind 的价值不止在于其功能,也在于其思路。很少有哪个软件像 Rewind 这样,做到「调动一切可以调动的资源,团结一切可以团结的力量」:
Rewind 充分利用了苹果平台提供的软硬件条件,把持续录屏的成本控制到可以接受的范围内,从而让之前只存在于想象中的效果变成了现实;
Rewind 意识到值得被索引和搜索的不仅是文件和数据,探索与电脑交互的过程本身,也可以给用户带来很多价值。此前,只有开发商和广告商会出于分析追踪目的收集使用数据。Rewind 以有意义的方式索引和呈现出这些数据,使其能更好地服务于真正的主人——用户自己;
Rewind 证明了「局部次优」的组合如何能产生「整体最优」的效果。如果只是从单个应用中提取数据,显然适配标准接口和协议才是正道。但如果将搜索尺度扩大到整个使用历史,逐一适配就根本不现实了,很土很粗暴的截屏取字反而成为了唯一通吃所有应用的「公分母」,八面玲珑的「通用交换格式」。
总之,Rewind 或许还存在很多问题,或许也不会是「后悔药」的终极形态,但确实是一个处处有巧思、处处用巧劲的有趣作品。无论你的选择如何,相信都能在尝试中有所启发和思考。
▍附录:怎样不装 Rewind 而用上 Rewind
如文中所述,Rewind 目前还存在价格高昂、软硬件要求苛刻、暂不支持中文,以及潜在的隐私担忧等诸多问题。因此,在试用 Rewind 期间,我也萌生出一种想法:能不能自己「山寨」一个 Rewind 呢?
Rewind 录制的是视频,这在我看来稍微有点没必要,也不方便处理;不如将其简化为「如何以较高频率定期截图」,仍然可以满足备忘的需求,所得格式也更通用。
经过尝试,我取得了一些成效,已经在上周通过少数派的会员栏目介绍了方案。这里借本文机会,把基本步骤分享出来,供大家批评。
简单来说,这个方案:
使用 screencapture(1) 获得 PDF 格式的截图;
制作 LaunchAgent 实现开机自启和循环运行;
使用 OCRmyPDF 压缩截图体积并识别文字;
使用 taskpolicy(8) 强制任务运行在小核上。
脚本和安装使用步骤放在 Github 上,供有意尝试的朋友取用。如果对这种方案的原理和延伸讨论感兴趣,可以考虑订阅查阅原文,感谢支持 :)
Rewind:
https://www.rewind.ai/
脚本下载:
https://gist.github.com/firexcy/c55a94ed13e8a5c2af5533fe6316d640
https://sspai.com/post/77790?utm_source=wechat&utm_medium=social
作者:Platy Hsu
责编:PlatyHsu