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

5月9日左右开始无法获取弹幕 B站,大佬可以修复下吗,感谢你 #149

Open
PowerDerk opened this issue May 9, 2024 · 4 comments

Comments

@PowerDerk
Copy link

5月9日左右开始无法获取弹幕 B站,大佬可以修复下吗,感谢你

@verygoodlee
Copy link

弹幕应该去这个仓库提MPV-Play-BiliBili-Comments
已经修复但还没合并 itKelis/MPV-Play-BiliBili-Comments#31

@shmilee
Copy link

shmilee commented Jun 26, 2024

命令行运行 python ~/.config/mpv/scripts/bilibiliAssert/Danmu2Ass.py 1589890104 ,可以获取弹幕文件 bilibili.ass
直接mpv运行也正常。mpv --ytdl --script-opts-append="cid=1589890104" https://www.bilibili.com/video/BV1D6421Z7Ng/

但是 油猴脚本 这边没把cid传过去。不知道linux自定义播放器如何传cid?
2024-06-27-021800_680x502_scrot

[bilibiliAssert] 弹幕正在上膛
[bilibiliAssert] DEBUG:  Namespace(directory='~/.config/mpv/scripts/bilibiliAssert', size='1365x768', font='sans-serif', 
fontsize=37.0, alpha=0.95, duration_marquee=10.0, duration_still=5.0, filter=None, filter_file=None, protect=576,
 reduce=True, cid=[''])
[bilibiliAssert] Traceback (most recent call last):
[bilibiliAssert]   File "~/.config/mpv/scripts/bilibiliAssert/Danmu2Ass.py", line 519, in <module>
[bilibiliAssert]     main()
[bilibiliAssert]   File "~/.config/mpv/scripts/bilibiliAssert/Danmu2Ass.py", line 513, in main
[bilibiliAssert]     comments = getComments(args.cid,args.fontsize)
[bilibiliAssert]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

@verygoodlee
Copy link

目前自定义播放器没法传cid,代码里写死了,只有mpv会带上cid,自定义播放器不会传

if (handler.player.name == PLAYER.mpv.name) {
if (currentConfig.mpv.path.endsWith("mpvnet.exe")) {
handler.media.setOther(`--script-opts="cid=${cid}"`);
} else {
handler.media.setOther(`--script-opts-append="cid=${cid}"`);
}
}

不是很理解你为啥mpv还要自定义,没啥必要吧

@shmilee
Copy link

shmilee commented Jun 27, 2024

因为MPV是只考虑了windows平台,即使是设置path=/usr/bin/mpv, 都会修改为mpv.exe。Linux平台只能自定义 #124

本来 MPV-Play-BiliBili-Comments 配合 ytdl可以自动获取cid的, 但这里的脚本传过去的视频地址不是原始的(如下 BV1Tw4m1q7fP),然后main.lua 的 获取 path 也不包含 bilibili.com,所以cid就无法自动找到了?估计是这样。

$ mpv https://www.bilibili.com/video/BV1Tw4m1q7fP                   

[bilibiliAssert] path=https://www.bilibili.com/video/BV1Tw4m1q7fP, **cid=1570715185**
[bilibiliAssert] 弹幕正在上膛
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 852x480 => 853x480 yuv420p
[bilibiliAssert] DEBUG:  Namespace(directory='~/.config/mpv/scripts/bilibiliAssert', size='2044x1152', font='sans-serif', 
fontsize=37.0, alpha=0.95, duration_marquee=10.0, duration_still=5.0, filter=None, filter_file=None, protect=864, reduce=True, 
cid=['1570715185'])
[bilibiliAssert] 开火

Linux 下一个弹幕成功的方案:
416271-play-with-mpv(获取 mpv-debug://play/XXXX/?cookies=www.bilibili.com.txt)
-> mpv-handler (处理 mpv:// 或 mpv-debug://)
-> mpv https://www.bilibili.com/video/BVXXXX (配合 ytdl 和 bilibiliAssert 自动加载弹幕)
DEBUG输出:

mpv-debug://play/aHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL3ZpZGVvL0JWMVI0NDIxRDdhNS8_c3BtX2lkX2Zyb209MzMzLjEwMDcudGlhbm1hLjUtMi0xNS5jbGljayZ2ZF9zb3VyY2U9MTk2YWQxMDY0ZWMwYzU1ZGNiMjQ5MmUxZGM2ZjFjNWM/?cookies=www.bilibili.com.txt


Playing: https://www.bilibili.com/video/BV1R4421D7a5/?spm_id_from=333.1007.tianma.5-2-15.click&vd_source=196ad1064ec0c55dcb2492e1dc6f1c5c
 (+) Video --vid=1 (*) (hevc 1920x1080 25.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 48000Hz)
     Subs  --sid=1 --slang=ai-zh 'srt' (null) (external)
     Subs  --sid=2 --slang=danmaku 'xml' (null) (external)
File tags:
 Description: Packed by Bilibili XCoder v2.0.2
 Uploader: 爱音乐的三丈
Track removed:
 (+) Video --vid=1 (*) (hevc 1920x1080 25.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 48000Hz)
     Subs  --sid=1 --slang=ai-zh 'srt' (null) (external)
[bilibiliAssert] path=https://www.bilibili.com/video/BV1R4421D7a5/?spm_id_from=333.1007.tianma.5-2-15.click&vd_source=196ad1064ec0c55dcb2492e1dc6f1c5c, cid=1587377545
[bilibiliAssert] 弹幕正在上膛
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 yuv420p
[bilibiliAssert] DEBUG:  Namespace(directory='~/.config/mpv/scripts/bilibiliAssert', size='2048x1152', font='sans-serif', 
fontsize=37.0, alpha=0.95, duration_marquee=10.0, duration_still=5.0, filter=None, filter_file=None, protect=864, reduce=True,
cid=['1587377545'])
[bilibiliAssert] 开火
Track added:
 (+) Video --vid=1 (*) (hevc [Main] 1920x1080 25.000fps)
 (+) Audio --aid=1 (*) (aac [LC] 2ch 48000Hz)
     Subs  --sid=1 --slang=ai-zh 'srt' (null) (external)
     Subs  --sid=2 'bilibili.ass' (ass) (external)

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

No branches or pull requests

3 participants