Slipstream Live 作者: Tail4126
自动检测 YouTube、Twitch 和 TwitCasting 直播延迟,智能调节播放速度,时刻追上最新直播画面(实时)。
可在 Android™ 版 Firefox 上使用可在 Android™ 版 Firefox 上使用
扫码在 Android 版 Firefox 中打开此扩展
扩展元数据
屏幕截图
关于此扩展
主播开口说话的那一刻,和你看到画面的那一刻之间,总是存在几秒钟的延迟。这个延迟会随着网络每一次波动而不断变大,放任不管的话也不会自己缩小。
手动调成1.25倍速可以追上进度,但这样一来又得自己盯着缓冲余量,在耗尽之前把速度调回去。一忘记,画面就会卡在那个"转圈圈"的加载图标上。
Slipstream Live 这个扩展程序,替你完成这项盯梢工作,每秒大约执行50次检测。支持 YouTube Live、Twitch、TwitCasting。装好之后,你就什么都不用管了。
■ 不卡顿,不折腾。对稳定性的执念
只有在缓冲确实有余量时才会稍微加速(默认1.25倍),而在缓冲即将耗尽之前,会降到最低0.15倍,同时把音量也一起调低。由于系统的设计是必定在"转圈圈"出现前的最后一步就踩下刹车,所以能避免因加速过头而卡死。
为了避免速度在临界值附近来回跳动,边界上特意留出了一点余地(滞后效应,即 hysteresis)。只要你在播放器里自己调整了速度,Slipstream Live 就会立刻把控制权交还给你(由于 Twitch 没有速度菜单,扩展转而抑制它与 Twitch 自身追帧功能之间的冲突)。音量降低(ducking)也只是临时性的调整,绝不会擅自改写你的音量设置。除了每20毫秒一次的计时器之外,还会通过视频本身的事件来确认状态,所以即便浏览器在后台标签页里精简了计时器,控制也不会中断。
■ 内核其实相当较真:用统计学预测缓冲的"谷底"
视频是以几秒钟一个的数据块(分段)送达的,因此缓冲余量会画出一条"锯齿波",忽高忽低。如果恰好测到波峰就加速,紧接着的谷底就可能让缓冲耗尽,导致画面卡住。
因此 Slipstream Live 不相信单次的测量值,而是通过短时间内的平均值和标准差,用统计学方法推算谷底本身的位置。
trough(谷底)= 平均值 − √3 × 标准差
利用均匀分布的性质,即使不知道该直播的分段时长,也能求出谷底的位置。此外,因为自身加速而导致的缓冲下降,也会被精确地从统计数据中补偿剔除,所以不会出现"加速→余量耗尽→调回→再次加速"这种自激振荡。在直播刚开始,或刚从卡顿中恢复之后这类缓冲水平本身还在变动的阶段,系统会判定为"尚未进入稳态",暂停谷底推算,避免混入被污染的数据。
room(安全余量)= 谷底平均值 − K × 谷底波动幅度
在数据不足的情况下,这个 room 会自动变为"NaN",判定也必定会倒向 false 一侧。也就是说,"不确定时什么都不做"这一点,是由逻辑本身来保证的。感兴趣的话,可以在页面控制台输入 window.__slipstreamliveDebug = true,实时查看 room、drift、calm 等内部数值。
"自动调整缓冲阈值"分为关闭/标准/积极三档。网络不稳定的直播会自然而然地减少加速;而稳定的直播则会稳稳地追到最新进度。
■ 连各直播平台的脾气都摸透了
YouTube、Twitch、TwitCasting 三者不论是播放器的内部结构,还是缓冲消耗的习惯都完全不同。Twitch 的视频数据有时会中断约10秒,因此它的最大减速阈值设置得比较宽松;TwitCasting 本身缓冲就比较浅,所以设置得更薄;Firefox 上报缓冲数据的方式本身就不一样,因此为它准备了专属的默认值——就是这样按平台逐一调优的。像 TwitCasting 的低延迟(WebRTC)直播这类本来就无法进行控制的直播,会被自动排除在外。VOD、剪辑、广告也一律不会碰。
■ 完全不联网
扩展程序一次都不会连接外部服务器。没有数据分析、没有遥测、没有标识符、也没有广告。所需的权限只有两项:"storage",以及仅限于支持站点(YouTube、Twitch、TwitCasting)的网站访问权限,设置内容不会同步,只会保存在你本地设备上。
此外还配备了显示播放速度、延迟秒数、缓冲余量的可选徽标(默认关闭)、支持9种语言的设置界面,以及每个选项都配有的"?"帮助说明和重置按钮。
不必一直盯着,也能持续追上直播的"此刻"。欢迎试试 Slipstream Live。
手动调成1.25倍速可以追上进度,但这样一来又得自己盯着缓冲余量,在耗尽之前把速度调回去。一忘记,画面就会卡在那个"转圈圈"的加载图标上。
Slipstream Live 这个扩展程序,替你完成这项盯梢工作,每秒大约执行50次检测。支持 YouTube Live、Twitch、TwitCasting。装好之后,你就什么都不用管了。
■ 不卡顿,不折腾。对稳定性的执念
只有在缓冲确实有余量时才会稍微加速(默认1.25倍),而在缓冲即将耗尽之前,会降到最低0.15倍,同时把音量也一起调低。由于系统的设计是必定在"转圈圈"出现前的最后一步就踩下刹车,所以能避免因加速过头而卡死。
为了避免速度在临界值附近来回跳动,边界上特意留出了一点余地(滞后效应,即 hysteresis)。只要你在播放器里自己调整了速度,Slipstream Live 就会立刻把控制权交还给你(由于 Twitch 没有速度菜单,扩展转而抑制它与 Twitch 自身追帧功能之间的冲突)。音量降低(ducking)也只是临时性的调整,绝不会擅自改写你的音量设置。除了每20毫秒一次的计时器之外,还会通过视频本身的事件来确认状态,所以即便浏览器在后台标签页里精简了计时器,控制也不会中断。
■ 内核其实相当较真:用统计学预测缓冲的"谷底"
视频是以几秒钟一个的数据块(分段)送达的,因此缓冲余量会画出一条"锯齿波",忽高忽低。如果恰好测到波峰就加速,紧接着的谷底就可能让缓冲耗尽,导致画面卡住。
因此 Slipstream Live 不相信单次的测量值,而是通过短时间内的平均值和标准差,用统计学方法推算谷底本身的位置。
trough(谷底)= 平均值 − √3 × 标准差
利用均匀分布的性质,即使不知道该直播的分段时长,也能求出谷底的位置。此外,因为自身加速而导致的缓冲下降,也会被精确地从统计数据中补偿剔除,所以不会出现"加速→余量耗尽→调回→再次加速"这种自激振荡。在直播刚开始,或刚从卡顿中恢复之后这类缓冲水平本身还在变动的阶段,系统会判定为"尚未进入稳态",暂停谷底推算,避免混入被污染的数据。
room(安全余量)= 谷底平均值 − K × 谷底波动幅度
在数据不足的情况下,这个 room 会自动变为"NaN",判定也必定会倒向 false 一侧。也就是说,"不确定时什么都不做"这一点,是由逻辑本身来保证的。感兴趣的话,可以在页面控制台输入 window.__slipstreamliveDebug = true,实时查看 room、drift、calm 等内部数值。
"自动调整缓冲阈值"分为关闭/标准/积极三档。网络不稳定的直播会自然而然地减少加速;而稳定的直播则会稳稳地追到最新进度。
■ 连各直播平台的脾气都摸透了
YouTube、Twitch、TwitCasting 三者不论是播放器的内部结构,还是缓冲消耗的习惯都完全不同。Twitch 的视频数据有时会中断约10秒,因此它的最大减速阈值设置得比较宽松;TwitCasting 本身缓冲就比较浅,所以设置得更薄;Firefox 上报缓冲数据的方式本身就不一样,因此为它准备了专属的默认值——就是这样按平台逐一调优的。像 TwitCasting 的低延迟(WebRTC)直播这类本来就无法进行控制的直播,会被自动排除在外。VOD、剪辑、广告也一律不会碰。
■ 完全不联网
扩展程序一次都不会连接外部服务器。没有数据分析、没有遥测、没有标识符、也没有广告。所需的权限只有两项:"storage",以及仅限于支持站点(YouTube、Twitch、TwitCasting)的网站访问权限,设置内容不会同步,只会保存在你本地设备上。
此外还配备了显示播放速度、延迟秒数、缓冲余量的可选徽标(默认关闭)、支持9种语言的设置界面,以及每个选项都配有的"?"帮助说明和重置按钮。
不必一直盯着,也能持续追上直播的"此刻"。欢迎试试 Slipstream Live。
评分 0(1 位用户)
权限与数据
必要权限:
- 访问您用于 twitcasting.tv 域名的网站的数据
- 访问您在 www.youtube.com 的数据
- 访问您在 m.youtube.com 的数据
- 访问您在 www.youtube-nocookie.com 的数据
- 访问您在 www.twitch.tv 的数据
- 访问您在 player.twitch.tv 的数据
- 访问您在 clips.twitch.tv 的数据
- 访问您在 twitcasting.tv 的数据
收集的数据:
- 开发者称此扩展无需收集数据。
更多信息