由于 Twitter 不支持手动调节视频画质,再加上谜一般的画质选择规则,至少我自己在使用 Twitter 时大部分情况下看到的视频都是渣画质。于是我就写了个很简单的脚本来让 Twitter 强制播放最高画质的视频。
只有 Twitter 的 Service Worker 没有注册的时候可以加载正常使用本脚本,取消 Service Worker 的注册以后 Twitter 页面的加载速度会变慢。Greasyfork 上其他针对 twitter.com 的脚本也都存在这个问题。
Twitter 网页版是使用HLS来播放视频的。对一个视频的请求会返回一个 master playlist,其中包含多个不同画质 /编码的视频 index,网页根据网络、屏幕分辨率等条件来选择要播放的画质。
脚本通过修改返回的 master playlist 、删除其中的低画质 index 来确保 Twitter 只能选择最高画质。
我对 Service Worker 不太了解,不知道有没有办法可以在 Twitter 注册了 Service Worker 的情况下使用用户脚本,希望有大佬可以交流分享。
另外取消 Service Worker 注册和脚本自身的功能应该可以合在一起做成一个扩展,也欢迎大家在此脚本基础上或者使用类似的思路开发更好用的工具。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.