Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update windowMessageListener #97

Merged
merged 2 commits into from
Dec 1, 2024
Merged

Update windowMessageListener #97

merged 2 commits into from
Dec 1, 2024

Conversation

etherfun
Copy link
Contributor

@etherfun etherfun commented Dec 1, 2024

  • 我同意我的所有贡献将以GPL-3.0协议开源。

阿B好像又在改东西了__playinfo__这个全局变量没了导致#96 现象出现 __INITIAL_STATE__也小改了一点
找了一圈没完全找到__playinfo__合并去哪了 就找到一个当前分辨率(quality)在window.oldProfile.media.quality出现了(可能原本就在这的)
其他的就没找到了(至少我没找到)
所以改用修改fetch方法抓取请求来获取视频帧率


其中
v.codecid === data.data.video_codecid 可加可不加 video_codecid这个貌似是服务器下发的自动选择的解码方式
如果手动选择了解码方式 帧率偏差在正负0.5左右

src/document.ts Outdated Show resolved Hide resolved
@hanydd
Copy link
Owner

hanydd commented Dec 1, 2024

发现了个好东西,window.player,也可以看看有没有搞头(doge

@etherfun
Copy link
Contributor Author

etherfun commented Dec 1, 2024

发现了个好东西,window.player,也可以看看有没有搞头(doge

应该是没有什么东西吧
image image (不设null=>image

都是直接网络请求一份新的, window.player设不设null都一样
搞不懂为什么不做缓存

@xiaoxuan010
Copy link
Contributor

发现了个好东西,window.player,也可以看看有没有搞头(doge

在这个对象里似乎没找到能获取帧率的方法,倒是可以获取到播放器的video元素,不知道有没有用。

@etherfun
Copy link
Contributor Author

etherfun commented Dec 1, 2024

在这个对象里似乎没找到能获取帧率的方法,倒是可以获取到播放器的video元素,不知道有没有用。

Web API 没有直接获取video元素的帧率的接口 可以自己算但是可能会有不固定的偏移
获取video元素可以直接在document.tsdocument.querySelector('video')就行(

@hanydd hanydd merged commit 5477069 into hanydd:master Dec 1, 2024
2 checks passed
@hanydd
Copy link
Owner

hanydd commented Dec 1, 2024

好像不是playurl不是用fetch发起的,没看到数据?

@etherfun
Copy link
Contributor Author

etherfun commented Dec 1, 2024

好像不是playurl不是用fetch发起的,没看到数据?

xhr和fetch都有,xhr是网页初始化调用一次,等待5-10秒会重新使用fetch再请求一次,后面的请求就都是fetch了,在chrome系上测试是这样的,Firefox没测
image

@etherfun etherfun deleted the dev_0 branch December 2, 2024 09:43
@hanydd
Copy link
Owner

hanydd commented Dec 2, 2024

不知道为什么我这里只会请求一次,所以没获取到帧率

@etherfun etherfun restored the dev_0 branch December 2, 2024 12:27
@etherfun
Copy link
Contributor Author

etherfun commented Dec 2, 2024

不知道为什么我这里只会请求一次,所以没获取到帧率

@hanydd 试试这个etherfun@c912b77
换成抓取第一次加载的xhr

@etherfun
Copy link
Contributor Author

etherfun commented Dec 4, 2024

阿B又改了__playinfo__又回来了 (年末刷KPI?
imageimage
这个可以回退了

如果回退的话__playinfo__.data.quality 可以改成 JSON.parse(window.localStorage.bpx_player_profile).media.quality
后面这个是实时的
以及__INITIAL_STATE__没有改回来

@hanydd
Copy link
Owner

hanydd commented Dec 5, 2024

啊这……有点抽象了,fetch和xhr就留着吧,缓存点数据正好用来填cid map

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants