最近浏览网页时经常发现风扇在呼呼转,用系统任务管理器发现是 Chrome 在占用,用 Chrome 任务管理器确定是一个已经暂停的 b 站视频页面在大量占用 CPU 。通过调试暂停和性能分析发现了两个显眼的 js: s1.hdslb.com/bfs/static/pcdn-loader/reward-pcdn-loader-0.1.3.min.js s1.hdslb.com/bfs/static/pcdn-seeder/reward-seeder-1.2.0.min.js从名称和内容来看似乎与 PCDN 有关。但由于本人在这方面不够专业,希望有人可以分析一下这些代码到底在干什么,为什么会占这么多 CPU 。大量占用 CPU 情况的出现似乎有一定概率性。我这边打开一些较多人在看的视频、暂停放在那里干别的事情,等一会儿( 5~10 分钟)听到风扇响起来多半就复现了。也想了解大家是否能复现。

会啊,特别是直播,人家没钱买正规 cdn 就只能这样干.

我本以为早就有人讨论过了,但大多集中在作为客户端用了 PCDN 而不是网页版作为服务端开启 PCDN 且占 CPU ,根据文件名基本没搜到什么信息。

在我禁止 B 站的 webrtc 之前, 本站的直播会占用至少 10M 的带宽去上传, 禁了 webrtc 就不上传了. 看视频也会解析到一些 PCDN, MCDN, 找了个 ADH 的策略把 B 站的 mcdn 等全拉黑了.

抖阴也有跑 PCDN ,随手抓几个都在滥用用户设备upnp stun webrtc,只要能连通外面都会打洞

我也有这个现象,暂停的视频标签页,却占用很多 cpu 。不过我用 devtool 的 performance 分析了好几次,都分析不出来原因(总是 System 最多)。

既然有这个脚本在,我相信缘起就是发现了网页端也会 PCDN 所以才会做这个脚本来应对 greasyfork.org/zh-CN/scripts/415714-make-bilibili-great-again另外 b 站自己公开承认 PCDN 《 B 站降本利器 PCDN 的运维实践》 www.bilibili.com/read/cv18619927/

装个 webrtc 控制插件,禁用 webrtc

感谢提醒,随手打开一个 B 站视频,开控制台再刷新就能看到 LZ 说的两个 JS 。

研究了下 performance 使用方法,确实是 s1.hdslb.com/bfs/static/pcdn-seeder/reward-seeder-1.2.0.min.js 里面一个 a 函数

Chrome 在设置里直接把 WebRTC 相关的全部关掉就行了

内网宽带也会被开启 pcdn 吗?

油猴内: delete window.RTCPeerConnection delete window.mozRTCPeerConnection delete window.webkitRTCPeerConnection delete window.RTCDataChannel delete window.DataChannel可以禁止下。B 站网页版还有应该严重的问题。 在 Mac 上的 Safari 中,打开 www.bilibili.com 首页不动或者滚动到底后不动,Safari 会卡死。 至今没找到具体原因。希望有人能告知。

假设有的话,说明通过网页就能在浏览器上启动一个 tcp-server ,连 node 都省了,服务器上装个浏览器就能提供服务了,显然不可能

好吧,忘了还有 WEB RTC

就冲 b 站没广告还有很多干货这点,我倒不介意它这样做,也就占用我点冗余带宽和 cpu 而已,反正我自己也用不完如果人人都去限制,可能以后就没有没广告的 b 站了..

安装插件 WebRTC Control

问题关键是:运营商可能因为你上传流量超限而封停你宽带

这个技术学习一下 好像挺有趣

我特意上来回你一句:B 站即便是大会员,依然会有广告!!!!!!!

B 站海外 app 和網站是沒有任何廣告的,不管是不是會員。

之前用 b 站看 LOL 比赛的时候也发现了这点,会有 1M 多点的上传速度,当时搜的油猴插件屏蔽这个

b 站现在除了视频开头贴片广告外,其他地方广告哪里少了?

直接把浏览器全局的 webrtc 禁了就可以了,基本上任何视频和直播网站都能解决

#15 非常抵触厂商的这些行为, 无论什么情况, 超额使用用户设备都应该征求用户同意,否则和肉鸡有什么区别。(B 站可以设置接受 PCDN, 收获额外的硬币).

b 站现在看个视频都有恰饭广告,动态广告,首页广告....大会员没有去广告功能 一样得看

这么说起来,前几天我的 edge 爆卡难道是 b 站引起的。。

我之前就发现观看 B 站,斗鱼的直播会有 1M/s 的上传,B 站的通过油猴脚本屏蔽了,但斗鱼的屏蔽不了

说得好像 B 站没广告一样,能干这事,其他破事肯定也能干

github.com/MotooriKashin/Bilibili-Old 这个已经被干碎了(技术手段屏蔽,政治手段不好说):对照 youku 屏蔽广告,就不要再去想什么破解手段了,让 B 站像 youku 那样好好的成为历史吧。

youku 好歹还是垄断之后才搞手段的,B 站也不知道哪来的底气。

我记得 CCTV 的网页,也会 PCDN

现在很多和 B 站签约的 UP 主都有视频内插播广告的需求吧, 别广告都是 UP 主接的 ,其实是 B 站接了之后分发给 UP 主的。广告费那么多 ,猜 B 站会不会眼红?

楼上各位指正的对,b 站还是有广告的,不过至少目前而言,我觉得 b 站的广告还是非常少了(未开会员),比起 youtube 优酷这种满天飞的体验好太多

同意楼上,没有视频开头的强制广告,我觉得闲置的带宽它用一用也无妨。不过我觉得还是要告知用户会比较好,最好能做成一个开关,像我们这样同意的才开启 PCDN 。慷他人之慨不可取。

b 站的话,建议去 google play 下载海外版。ios 在非国区也可以下载到。别用国内版就行

mac b 站缓存特多 1 ,2 个 g ,yt 才 30m ,我现在都用 safari 上 b 站了

禁用 webrtc 来禁止上传,自写 ad 元素规则,视频/直播播放器只保留观看、评论、弹幕,其他元素全部删除

b 站不是没有广告,b 站是每个视频都是广告

长视频不加片头广告很良心了

油管免费用户强制看广告可比 B 站扰人多了

#15 没广告?视频里突然就猝不及防,不像 youtube 里正片会利益相关提示

批站盗版资源一堆,现在还要偷用户流量,那不是只有硬盘是自己的了?

B 站很多低质量软广偷跑 PCDN 对两头的用户都不友好,上传方被偷跑流量,下载方视频体验差(可能会莫名其妙卡)

现在 b 站的广告跟 ytb 可以提前关闭的那种贴片广告相比已经不遑多让了。

无所谓,本来上传就那么一点

你甚至都不用自己看代码,让通义千问分析了下这段代码是 Bilibili ( B 站)使用的“奖励播种器”( Reward Seeder )客户端脚本的一个压缩版本,其主要功能与平台的点播视频分发技术有关,特别是通过 WebRTC ( Web Real-Time Communication )实现用户间的 P2P ( Peer-to-Peer )数据传输。 tongyi.aliyun.com/qianwen/share?shareId=45c75ef0-efab-4a35-a75a-ec1d052f2163

你这个脚本用这个网站 browserleaks.com/webrtc 测还是会泄露 IP ,我让 ChatGPT 写了一个:// ==UserScript==// Disable WebRTC// tampermonkey.net/// 1.0// Disable WebRTC to improve privacy// You// *://*/*// none// document-start// ==/UserScript==(function() { 'use strict'; // Disable RTCPeerConnection to prevent WebRTC leaks window.RTCPeerConnection = function() { return null; }; window.webkitRTCPeerConnection = function() { return null; }; // Other WebRTC related components that could be disabled // Not all of these may be present or necessary to disable depending on the browser window.RTCSessionDescription = function() { return null; }; window.RTCIceCandidate = function() { return null; }; // Disable navigator.mediaDevices.getUserMedia to prevent camera and microphone access if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia = function() { return Promise.reject(new Error("UserMedia is disabled for privacy reasons")); }; }})();

有些人有反思起来了,youtube 有贴片广告就没有视频内广告了? lttstore.com 和 cs.money 真没见过?

#15 把广告装作普通视频,连大会员有有广告,也就白嫖的觉得好了

原来如此,装了个插件试试来关闭:WebRTC Control

还没广告呢,把拦截插件关了,首页 6 个还是 8 个的推荐视频栏位,1 个就是广告。视频底下还有大横幅广告

这就是国内的网络运营商环境,凑合着用吧

推荐个脚本,完全满足需求 github.com/the1812/Bilibili-Evolved

回错人了?自写 ad 规则秒杀一切脚本

我不明白呀,按道理 PCDN 应该吃流量,而不是吃 CPU 算力的,不应该造成 CPU 跑满风扇狂转的。这种现象更像是挖矿。