你的观影记录属于谁
更新于 2026 年 8 月 31 日 · 一个本地优先应用的架构说明,含它的代价
一句话:属于你,因为它根本没有别的地方可去——Vela Player 没有服务端。媒体库、观看进度、源配置都存在你设备的私有沙箱里,源密码交给鸿蒙的系统级密钥库保管,应用不集成任何第三方统计、广告或推送 SDK。代价也一并写在这里:没有账号,就没有云端备份,换一台设备要重新配源、重新扫一遍库。唯一会在设备之间走动的是播放进度,而且只在同账号同局域网的近场范围内,不经过云端。这篇讲清楚这套取舍的每一面。
「本地优先」不是一句形容词
这个词最近被用得很随意,很多标着「隐私优先」的应用照样有账号、有云端数据库、有行为埋点。所以先把它落到可验证的陈述上。对这个应用来说,本地优先具体是三条:
- 应用没有服务端。不是「服务端不存你的数据」,是根本没有这台机器。没有账号系统,不要求注册,不收集手机号和邮箱。
- 产生的数据留在产生它的那台设备上。你扫出来的媒体库、配了哪些源,都写在应用私有沙箱里的一个 SQLite 数据库里,不会去别处。有一个例外,得说清楚:播放进度除了写本机,还会经系统的近场分布式能力,在你自己那几台登录同一华为账号、又处在同一局域网的鸿蒙设备之间合并——这样在平板上才能接着手机的进度看。它是加密的、走设备之间的直连,不出局域网,也不经过我们或任何第三方,而且要你授权分布式数据权限才启用,不授权就纯本地。
- 没有行为上报通道。不集成第三方统计、广告、推送 SDK,也没有自建的埋点回传。这意味着「你看了什么、什么时候看的、看了多久」这些信息,没有一条能到达我们或第三方的路——它最远只走到你自己的另一台设备上。
这三条的组合有个副作用值得说破:我们无法做用户行为分析。哪个功能常用、哪一步流失、崩溃率多少,我们都不知道,只能靠用户主动反馈。这是选择本地优先要付的开发成本,不是什么美德。
数据都存在哪
| 数据 | 存在哪 | 怎么清除 |
|---|---|---|
| 媒体库条目(片名、年份、季集、海报地址、简介、文件路径) | 沙箱内 SQLite | 删除对应的源,或卸载应用 |
| 观看进度与已看状态 | 沙箱内 SQLite;另有一份经近场分布式能力在你自己的同账号同局域网设备间合并(加密、不出局域网、可由权限关闭) | 同上;在系统设置里收回分布式数据权限即停止合并 |
| 媒体源配置(类型、地址、用户名、起始目录) | 沙箱内 SQLite | 在文件页长按源,选删除 |
| 源密码、令牌、网盘登录凭据 | 鸿蒙系统级密钥库,不落明文 | 随源一起删除 |
| 海报与剧照缓存、下载的字幕 | 沙箱内缓存目录 | 设置里清除缓存 |
| 离线副本(你主动下载的影片) | 沙箱内下载目录 | 设置 → 存储 → 离线内容 |
| 应用设置(外观、字幕样式、默认语言) | 沙箱内首选项 | 卸载应用 |
密码那一行是这套设计里最需要讲清楚的一处。播放器是权限很重的应用——它要拿到你的 NAS 账号、网盘登录凭据,这些东西的价值远高于观影记录本身。所以它们不写在应用自己的数据库里,而是交给系统的密钥库托管,应用只在需要连接时向系统取用。这也是挑任何一款播放器时都该问的第一个问题:它把你的源密码存在哪。选型时该问的其他问题见鸿蒙视频播放器怎么挑。
删除一个源会连带删掉该源名下的媒体库条目与观看进度,卸载应用则清除以上全部。这两件事都没有「服务端还留着一份」的情况,因为服务端不存在。
会离开设备的,只有这些
把网络请求逐条摊开,日常使用中真正出网的只有两类:
一、发往你自己配置的服务器与网盘
连 SMB、WebDAV、NFS、FTP、SFTP、DLNA,或连 Emby / Jellyfin / Plex,或登录夸克、UC、天翼、移动云盘、AList / OpenList——应用直接和你指定的那个地址或该网盘的官方接口通信。这条链路上没有我们的服务器参与,凭据也不经第三方。这些服务自己怎么处理数据,适用它们各自的隐私政策。
二、为匹配海报而发往元数据接口的查询词
要把一列文件名变成海报墙,就得拿解析出来的片名、年份、季集号去问影视数据库(TMDB 或 OMDb)。发出去的是查询词,不是你的文件,也不含完整路径、设备标识或账号信息,结果缓存在本机、同一部影片不会反复查询。如果你在设置里填了自建的中转地址,这些请求就由你自己的中转承接,我们同样不参与。刮削的完整原理见电影刮削完全指南。
除这两类之外,还有两种只在特定条件下发生的请求,一并说明:在线字幕搜索只在你主动点开「在线搜索字幕」时才发出,不搜就不发;局域网发现会在你点「扫描局域网」时发出 mDNS 与 SSDP 广播,这些数据包只在你的本地网络里流转,不出网关。
顺带说清:网盘登录时,应用不接触你的账号密码
这一条值得单独讲,因为它是最容易做错、也最容易被用户误解的一处。
夸克、UC、天翼、移动云盘这四家没有面向第三方的开放平台。一个偷懒的做法是让用户把账号密码填进应用的输入框,由应用去模拟登录——那意味着你的网盘密码明文经过了一个第三方应用。
这里的做法是:选中网盘类型后只有一颗登录并添加按钮,点下去打开的是各家自己的官方登录页,你在那个页面上完成登录(用什么方式登、要不要短信验证、要不要扫码,全由网盘决定),应用只在登录成功后接过一段会话凭据,存进系统密钥库。账号密码从头到尾没有经过应用。登录成功会自动返回并且源已经建好,不需要再点保存。在电视上则显示二维码,用手机扫码登录。
顺带一提这套做法的一个实际后果:会话凭据是有寿命的,过期后需要重新登录——所以文件页长按这四类源时有「重新登录」这一项。没有这个入口的话,用户只能删源重加,而那会把该源名下的媒体库条目连同观看进度一起删掉。具体到各家的差异见夸克网盘视频怎么直接播放与天翼云盘手机看电影。
完整的逐条说明在隐私政策页,包括每一项权限为什么需要。
代价:这套设计换不来什么
只讲好处的隐私文章不值得信。本地优先是有实实在在的代价的,都在这里:
- 没有账号,就没有云端备份。手机丢了、系统重装了、误删了应用,媒体库和观看进度就没了。片子还在你的 NAS 和网盘里,重新扫一遍能回来,但「看到第几集」这类记录回不来。
- 换设备要重新配源。新买一台设备,得把源一个个重新加上、网盘重新登一次。没有「登录账号,一切都在」这回事。
- 进度不会跨账号漂移。你在朋友家的设备上登录一下就能看到自己的片库——这件事做不到,因为没有可登录的东西。
- 多人共用同一份进度也做不到。两个人各自的设备各存各的记录。真需要这个,那是媒体服务器的活,见自建影视库方案对比(2026)。
- 我们看不到问题。没有崩溃上报和使用统计,出了问题只能等用户告诉我们。
唯一的例外是跨设备接续,而它恰好也是本地优先的:在你自己的多台鸿蒙设备之间接着播时,传的是一小段播放状态(源类型、源内路径、进度、选中的音轨与字幕、字幕延迟),由系统的分布式能力在设备之间直接传递,不经过我们的服务器,也不包含源密码。它成立的前提是这些设备是你自己的——同一账号、同一局域网。换句话说,这不是云同步,是两台设备直接说话。
怎么自己验证,而不是听我们说
隐私声明的价值取决于能不能被检验。三个不需要任何工具的办法:
- 断网试一次。断开网络后打开应用,媒体库、海报、观看进度应该都还在(在线部分自然连不上)。这说明库确实在本机。
- 翻权限清单。看系统给这个应用授了哪些权限,有没有和播放无关的项——通讯录、位置、短信一律不该出现。
- 装一个网络抓包或防火墙类工具看请求去了哪。正常情况下公网方向你只应该看到两类目的地:你自己配置的服务器和网盘,以及元数据接口。出现任何统计或广告域名,声明就是假的。局域网内可能另有一路指向你自己其他鸿蒙设备的流量,那是上面说的进度合并,目的地是你家里的设备而不是某个域名——按目的地址就能分清。
这三条对任何一款播放器都适用,不只对我们。播放器要接触你的 NAS 与网盘凭据,权限很重,值得花十分钟验一下。
常见问题
刮削会把我的文件名传出去吗?
传的是从文件名解析出来的查询词——通常就是片名和年份,不是原始文件名,也不含目录结构、完整路径、设备标识或账号信息。介意的话可以不配元数据源,扫描仍然会按文件名入库,只是没有海报和简介。
完全不联网能用吗?
能,但功能会缩到「播放本机文件」。远程源、刮削、在线字幕都需要网络。已经下载到本机的离线副本在断网时照样能播,播放时也是本地优先。
为什么不做云同步?做了不是更方便吗?
做云同步意味着要有账号、有服务端、有一份存着你观看记录的数据库,以及随之而来的合规、运维和数据泄露风险。对一个「只播放你自己文件」的应用来说,这个交换不划算——所以我们选了不做,并把代价明写在上面那一节。
以后收费了,隐私口径会变吗?
首个版本免费,后续计划把远程媒体源、媒体库刮削这类能力做成 Pro 订阅,届时会明确写清哪些功能属于哪一档,已有功能不会转成收费。订阅是订阅,和数据收集是两件事——收费的商业模式恰恰减少了靠数据变现的动机。
删源之后进度也没了,能不能只删源不删记录?
当前的行为是一起删。这么设计是为了「删除即彻底删除」这条口径不留例外,代价是误删的成本比较高。所以想换地址的话,建议先移出媒体库再改配置,别直接删源重建,相关操作见下载党的片库管理术。