即刻App年轻人的同好社区
下载
App内打开
MrCoffeeTalker
2年前
看电影时的高心率通知,帮我解锁了新的电影分析方法。

好的影片需要创造引人入胜的体验,可能是情节有起伏、可能是一波未平一波又起,让人越看越想看。

在《奥本海默》的观影中途,我突然感受到手表的震动,抬手一看,居然是高心率警告。

这时正是剧情升温的阶段,apple watch 的警告给了我灵感:手表测量的心率,或许可以用来分析影片的剧情强度塑造!

如果我的心率加快,确实是在升温和高潮阶段,那也能说明强度塑造得很有效,抽象的观看体验就有了具体的数据可以参考了,相比于我之前分析宣传片时、用离散镜头的强度来评估,这种视角更接近实际的用户体验。

离场后,我赶紧记下观影结束的时间、飞奔回家,想着如何导出健康数据分析。

虽然苹果原生支持各种健康数据,但要想导出却是个麻烦事儿。常规导出的时间长,拿到的数据文件,又因为格式不常见而无从下手。

我想到了快捷指令,印象中可以通过快捷指令访问同设备的健康数据,只要能导出数据,后面的分析都好说。

开发快捷指令比想象得要顺利,我找到了查询健康数据的模块,测试确认了能拿到我想要的心率数据,但里面似乎混入了一些脏数据,我不得不好奇:我是做了什么每分钟心率能上千?

虽然不知道原因如何,但好在筛选有效数据并不难,我参考健康里近一月的最高心率,排除了 200 以上的数据。为了加快导出速度,又限定了样本时间必须是观影的当天。

解决了导出的麻烦,新的问题又来了,这些数据还没决定放哪分析。

我尝试搜索了苹果自家的表格,但快捷指令似乎不支持我想要的操作,于是想到了我经常用的 Notion。

Notion 数据库就可以当作一个云端的表,要想把数据上传进去,借助 Notion API 就可以做到,而这放在快捷指令里,意味着我只要能发送网络请求就可以。

因为之前看过别人用快捷指令操作 Notion 数据库,我确信这是能做的。很快在快捷指令里找到了获取 URL 内容的模块,就是我在找的。另一边,因为电脑刚好不在家,我也打开了手机上的 Chrome 浏览器,查看 Notion API 开发文档,找新建页面的示例。

折腾一会实现了,实现了从手机上导出心率数据、上传到 Notion 数据库,大概是这么个步骤:

1. 搜索健康样本,指定日期是观影当天(只能到日期、无法精确到时间),来源是自己的手表;

2. 遍历所有样本,用 if 判断处理心率 < 200 的;

3. 上传到 Notion 数据库,从样本中提取心率、记录时间,发送网络请求新建带属性值的页面,其中记录时间转为了 ISO 8601 的格式,因为这样才能被 Notion API 识别;

因为原始的健康样本数据量比较大,导出时又不支持按时间筛选,我不得不等效率不那么高的快捷指令遍历 300 多条数据,为了缓解等待的负面体验,额外实现了一个进度提示。

导入到 Notion 后,我有了两块的数据:心率、记录时间。

我要分析的是观影期间的心率,但导出的这些是当天所有的心率数据,于是我新建了一个 formula 属性,判断记录时间是否介于电影开播和离场的时间,再筛选结果为 true 的。

但像 2023-09-16T00:00:00+08:00 这样、带着日期的绝对时间很难用于分析,对我更有帮助的是相对时间,即距离开播经过的时间,于是我又新建了 formula 属性,计算了影片播放的分钟数。

心率整体基本平稳,局部有提升但不是很明显,为了凸显数据波动的幅度,我找到了这些样本中的心率最大值、最小值,用 (x-min)/(max-min) 计算了百分比化的心率。

这下我就有了「影片播放分钟数」、「百分比化心率」这两项数据,可以着手分析了。

实际验证下来,我看《奥本海默》的心率变化、确实很符合当时观影的体验变化。前面一直保持着紧张感,到 120 分钟左右出现高潮(印象中这段好像是原子弹引爆),后面回落平静,讲战后的审判剧情。

也寻思这套方法还能用在其他分析,比如宣传片(如果记录能到秒的话)、动辄几小时的影视视频、或是一玩能几个小时的游戏。
03

来自圈子

圈子图片

一起看电影

100万+人已经加入