原理

原片从没有经过我们

荧火只传输两项内容:你的解说,和一串几点几秒做了什么。原片留在它本来的平台,由观众自己打开。

你这边
原片 · bilibili
你的解说
你的操作
原片画面断开
一帧都不经过荧火
解说 + 操作日志贯通
只有这两样在动
观众那边
他自己打开的
跟着你的节奏
操作时间轴
0:03 暂停 0:15 跳到 0:40 0:41 暂停 0:46 结束
上面那条在中间断开,下面那条通到底。荧火做的就是这件事。

传统 reaction 的麻烦

传统 reaction 会把原片画面压进自己的视频里再发出去。这带来两个问题。

版权风险

你在重新分发他人的内容。很多平台本身也不允许纯搬运。

画质变差

二次压制之后画面糊一层,还要受平台码率和时长的限制。

荧火把它拆成了两半

一条 reaction 里,真正属于你的只有两部分,荧火只保留和分享这两部分。

解说音频

你的声音,你的创作。分享它没有任何问题。

操作日志

一串时间戳:第 3 秒暂停,第 15 秒跳到 40 秒。只有「什么时候做了什么」,没有原片的任何内容。

原片由观众自行打开。荧火只在观众的浏览器里,照着你的日志去控制那个播放器:你暂停的地方它也暂停,你快进的地方它也快进,同时放你的解说。观众看到的画面,从头到尾来自他自己合法打开的来源。

为什么这样就不涉及原片版权

因为荧火没有复制、存储或者传输过原片的任何一帧画面、一秒音轨。你分享的内容里,只有你的声音和一串数字。这与把原片剪进视频再发布的做法性质不同。原片的访问,发生在观众和原平台之间,荧火不在这条链路上。

打个比方

一群朋友各自在家,用自己的正版看同一部电影。你打个电话过去喊「三、二、一,一起按播放」,然后大家一边看一边听你吐槽。荧火做的就是这件事:把大家的播放节奏对齐,把你的解说送到每个人耳朵里。电影本身,每个人都是用自己的渠道在看。

我们到底存了什么

原片的画面或音轨 从不接触
你已发布的 reaction 视频链接 存,用于搜索和复现
操作日志(约 3 KB 的时间戳) 存
解说音频文件 不存。它在你自己发布的那个视频里,或者在你导出的 .reaction 文件里

两种复现方式

观众拿到的形式不一样,底下是同一件事:日志 + 他自己的原片。

1

双标签同步(含平台一键观看)

reactioner 把 reaction 当普通视频发在 bilibili 或 YouTube。观众一个标签开原片,一个标签开这条 reaction,荧火把两边对齐——解说声来自那条已发布的视频。如果 reactioner 还把视频链接和日志登记到了荧火,观众搜到后点「一键观看」,这两个标签就由扩展自动配好,不用手动开。两个视频始终由观众自己合法打开。

2

点对点的 .reaction 文件

reactioner 把解说音频和日志打成一个 .reaction 文件,直接发给对方,不经过我们的服务器。观众用扩展载入这个文件,配上自己打开的原片复现。

同步能有多准

荧火记的是操作发生的精确时刻,复现时按这些时刻驱动播放器。正常网络下误差在零点几秒。不同平台快进之后的缓冲速度差别不小,所以「复现」里留了一个 offset,观众随时可以往前往后按秒微调(步进 0.5 秒)。

还有人问过这些

那观众岂不是还得自己去找原片?

日志里带着原片的地址,扩展会直接把那一页打开。要付费或者要登录的内容还是得他自己有权限,这一点我们绕不过去,也不打算绕。

操作日志算不算「原片的一部分」?

日志里是一串秒数和几个动作名,没有画面、没有声音、没有字幕、没有剧情描述。它描述的是你的观看行为,不是那部片子。

原片下架了怎么办?

那条 reaction 就复现不了了。这是这套做法必然的代价:我们不留副本,所以也补不上。

平台会知道我在看什么吗?

你打开原片这件事本来就发生在你和那个平台之间,跟平时没区别。荧火不代理、不转发这条流量。详见 隐私政策。

道理讲完了,去试一下

录一段三分钟的,比看十遍说明管用。

去看快速上手