关于B站无法外链HTML5播放器的研究速报

2019年1月27日 0条评论 187次阅读 70分 未分类

本文由于是速报,因此忽略排版。开门见山的说就是暂时无解。

通过最优的几个假设出发,我尝试了好几种办法均告失败。追其原由还是我太天真了,我忽略了浏览器的同源策略这使得我在之前提出问题的一篇文章中提出的大多数方法提前被判死刑。我之前依然是桌面应用的思路,想的是只要知道代码原理最坏打算就是注入修改成自己的代码。可是同源策略的限制之下,你“只可远观而不可亵玩”,如果应用面向自己,通过Hack浏览器或者开发对应具有浏览器级API权限的插件完全可以轻松破解,但是网页是面向服务的,是服务大众的不是自我使用面向功能的桌面或移动应用,因此在不强制用户安装插件的基础上,几乎可以断言,无法对这几条显而易见的JS代码进行HACK。

B站也很聪明,没有对这些施加了“国际公约”的浏览器不能修改的具有同源策略的代码进行混淆,相反在视频真实地址的API混淆上做足了功夫,不过庆幸的是民间维护的各大视频解析API目前工作正常,缺点就是我之前提到的不支持分P视频的P1以外的解析。

后来,我将目光转向后台技术。不幸的是虽然通过后台代理能够绕过万恶的referrer验证但是由于页面包含大量异步请求的数据,依然无法通过同源策略。不过,这也并非完全无解,相信各位从事数据挖掘尤其是爬虫领域的同志们在忽略服务器压力的前提下,伪造浏览器请求并且通过hack这种模拟浏览器的工具完全能够绕过同源,无论是注入js还是ajax的数据都不在话下。不过由于站长我穷的只能用虚拟主机,且配置低下,不具备实验的能力就不做实验了,理论上用hack过的模拟浏览器请求工具在服务端运行,然后请求时注入修改js代码,然后将请求结果发回到客户端应该能解。但是如果视频源本身要判断同源那么服务器带宽等性能的占用将非常可怕,以至于没有实际意义。

综上所述,在外站引用B站视频的最佳手段仍为使用第三方维护的视频解析接口,不仅由于群众的智慧使之稳定而且多数接口还是万能接口能很好的用在别的视频站上。而面对分P视频,目前来看是无解的,或者叫“难解”(参考不溶、难溶和微溶的关系),即方法理论存在但实践成本高效果差。那么最佳的做法就是不使用屑站的视频而转投别站后解析,失去优质视频来源的破站迟早倒闭;当需要引用他人的视频又碰巧分P的话那么目前只好妥协,使用官方的外链播放器,缺点是无法发弹幕、画质不可调、千方百计把你引向源站。

最后,展望未来B站爆破不可避(确信),优秀的视频从我开始拒绝投入B站而选择容易解析的视频网站,用大家的智慧维护API使之千秋万世。至于本站的B站外链视频,站长我计划全部采用点击超链接跳转新窗口全屏引用H5播放器的方法更改。反正B站的流量用得越多、相关产品给用户的体验越差、优秀视频主流失越多其倒闭就越快,正好利用这种较“差”的用户体验来告诉大家B站的没落。

Please wait...
 

发表评论