acgnhiki / blrec

Bilibili Live Streaming Recorder 哔哩哔哩直播录制
GNU General Public License v3.0
583 stars 40 forks source link

[Bug][功能请求] 部分消息服务器节点无法正常连接 #77

Closed JoinChang closed 2 years ago

JoinChang commented 2 years ago

image

在启动 blrec 时无法连接上部分节点,从而导致程序卡死: tx-bj-live-comet-04.chat.bilibili.com:443 tx-gz-live-comet-04.chat.bilibili.com:443

但可以连接此节点:ks-live-dmcmt-bj6-pm-02.chat.bilibili.com:443

请问一下消息服务器是如何选择的,以及能否指定消息服务器。

如果无法指定,能否添加超时自动切换消息服务器的功能。

blrec 版本:v1.7.1

acgnhiki commented 2 years ago

https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?id=23058&type=0

{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "group": "live",
        "business_id": 0,
        "refresh_row_factor": 0.125,
        "refresh_rate": 100,
        "max_delay": 5000,
        "token": "jmbhz12P8XBmTtHQHYK1PuDym0JLzmYDSjwGtBSPyN492bQV_6-Iy0FSbCrd9bBrNxgX8VWp0NWXQCP6Fa4XbmNNMnIRfHKVC6k73yAPJvzOW2V96KQzIKneOa1J465KnkdLK-gODYF_zv_kvQ==",
        "host_list": [{
                "host": "tx-gz-live-comet-04.chat.bilibili.com",
                "port": 2243,
                "wss_port": 443,
                "ws_port": 2244
            }, {
                "host": "tx-sh-live-comet-03.chat.bilibili.com",
                "port": 2243,
                "wss_port": 443,
                "ws_port": 2244
            }, {
                "host": "broadcastlv.chat.bilibili.com",
                "port": 2243,
                "wss_port": 443,
                "ws_port": 2244
            }
        ]
    }
}

不支持指定弹幕服务器

弹幕服务器默认从接口返回的数据里的 host_list 中选择第一个,连接不上就会依次选择其它的。

v1.7.1 只在开始连接出错的时候换弹幕服务器,1.8.0-alpha.2 则在出现其它错误时也会换弹幕服务器。

JoinChang commented 2 years ago

问题已解决,感谢修复。