xjbeta / iina-plus

Extra danmaku support for iina. (iina 弹幕支持
GNU General Public License v3.0
1.08k stars 69 forks source link

Bilibili 直播弹幕一段时间后消失 #151

Closed wyq977 closed 1 year ago

wyq977 commented 2 years ago

b站直播间弹幕一段时间(~ 20-30 min)后消失 重现点开直播会弹幕重新加载 但之后同样还是会消失

macOS 12.4 mac mini m1

AppDelegate.swift[36], applicationDidFinishLaunching(_:): App did finish launch
AppDelegate.swift[39], applicationDidFinishLaunching(_:): App Version 0.6.8 (Build 22051413)
AppDelegate.swift[40], applicationDidFinishLaunching(_:): macOS Version 12.4 (Build 21F79)
AppDelegate.swift[43], applicationDidFinishLaunching(_:): CoreData Path: /Users/wyq977/Library/Application Support/IINA+/DataModel.sqlite
AppDelegate.swift[67], initImageCache(): Image Cache Path: /Users/wyq977/Library/Caches/com.hackemist.SDImageCache/default
HttpServer.swift[280], prepareWebSiteFiles(): /Applications/iina+.app/Contents/Resources/WebFiles
HttpServer.swift[281], prepareWebSiteFiles(): /Users/wyq977/Library/Application Support/com.xjbeta.iina-plus/WebFiles
HttpServer.swift[249], start(): Server has started ( port = 19080 ). Try to connect now...
MainViewController.swift[392], loadBilibiliCards(_:): Get bilibili dynamicList error: Key not found: data.mid
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
MainViewController.swift[454], startSearchingUrl(_:directly:): decodeUrl success: https://live.bilibili.com/6
VideoDecoder.swift[79], prepareDanmakuFile(yougetJSON:id:): Ignore Danmaku download.
Processes.swift[246], openWithURLScheme(_:): openWithURLScheme iina://iina-plus.base64?dXJsPS92YXIvZm9sZGVycy95Zy9jNzE2emMyeDVoeGNjc3EzcmhxcWd5dzQwMDAwZ24vVC9JSU5BLVBMVVMvOTQ4RUVDMUMtMDVCOC00Q0QzLTk1N0MtRTA2ODUxNTZDODdFLm0zdfCfkbttcHZfZm9yY2UtbWVkaWEtdGl0bGU944CQ55u05pKt44CRUk5HIFZTIFNHQiDvvIHwn5G7bXB2X3l0ZGw9bm/wn5G7bXB2X3JlZmVycmVyPWh0dHBzOi8vbGl2ZS5iaWxpYmlsaS5jb20v8J+Ru2Rhbm1ha3Xwn5G7dXVpZD05NDhFRUMxQy0wNUI4LTRDRDMtOTU3Qy1FMDY4NTE1NkM4N0Xwn5G7ZG1Qb3J0PTE5MDgw8J+Ru2RpcmVjdGx5.
HttpServer.swift[196], start(): Websocket client connected.
HttpServer.swift[158], start(): Optional(["https://live.bilibili.com/6"])
Danmaku.swift[222], loadCustomFont(_:): Danmaku font STHeiti Light, 24px.
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"customFont","text":".customFont {color: #fff;font-family: 'STHeiti Light', SimHei, SimSun, Heiti, 'MS Mincho', 'Meiryo', 'Microsoft YaHei', monospace;font-size: 24px;letter-spacing: 0;line-height: 100%;margin: 0;padding: 3px 0 0 0;position: absolute;text-decoration: none;text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;-webkit-text-size-adjust: none;-ms-text-size-adjust: none;text-size-adjust: none;-webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);-webkit-transform-origin: 0% 0%;-ms-transform-origin: 0% 0%;transform-origin: 0% 0%;white-space: pre;word-break: keep-all;}"}
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"dmSpeed","text":"783"}
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"dmOpacity","text":"0.7021594101123596"}
Danmaku.swift[460], webSocketDidOpen(_:): webSocketDidOpen
Danmaku.swift[515], webSocket(_:didReceiveMessageWith:): bililive connect success
Danmaku.swift[495], webSocket(_:didCloseWithCode:reason:wasClean:): webSocketdidClose Stream end encountered
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"liveDMServer","text":"error"}
HttpServer.swift[199], start(): Websocket client disconnected.
HttpServer.swift[206], start(): Optional([])
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: Error Domain=NSCocoaErrorDomain Code=3840 "Unable to parse empty data." UserInfo={NSDebugDescription=Unable to parse empty data.} 
 - https://www.huya.com/868067
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
MainViewController.swift[454], startSearchingUrl(_:directly:): decodeUrl success: https://live.bilibili.com/6
VideoDecoder.swift[79], prepareDanmakuFile(yougetJSON:id:): Ignore Danmaku download.
Processes.swift[246], openWithURLScheme(_:): openWithURLScheme iina://iina-plus.base64?dXJsPS92YXIvZm9sZGVycy95Zy9jNzE2emMyeDVoeGNjc3EzcmhxcWd5dzQwMDAwZ24vVC9JSU5BLVBMVVMvNTRGODJFODEtNUExNS00MTlGLUI5MUMtNTQyQkQwMTAzN0UzLm0zdfCfkbttcHZfZm9yY2UtbWVkaWEtdGl0bGU944CQ55u05pKt44CRVDEgVlMgRUfvvIHwn5G7bXB2X3l0ZGw9bm/wn5G7bXB2X3JlZmVycmVyPWh0dHBzOi8vbGl2ZS5iaWxpYmlsaS5jb20v8J+Ru2Rhbm1ha3Xwn5G7dXVpZD01NEY4MkU4MS01QTE1LTQxOUYtQjkxQy01NDJCRDAxMDM3RTPwn5G7ZG1Qb3J0PTE5MDgw8J+Ru2RpcmVjdGx5.
HttpServer.swift[196], start(): Websocket client connected.
HttpServer.swift[158], start(): Optional(["https://live.bilibili.com/6"])
Danmaku.swift[222], loadCustomFont(_:): Danmaku font STHeiti Light, 24px.
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"customFont","text":".customFont {color: #fff;font-family: 'STHeiti Light', SimHei, SimSun, Heiti, 'MS Mincho', 'Meiryo', 'Microsoft YaHei', monospace;font-size: 24px;letter-spacing: 0;line-height: 100%;margin: 0;padding: 3px 0 0 0;position: absolute;text-decoration: none;text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;-webkit-text-size-adjust: none;-ms-text-size-adjust: none;text-size-adjust: none;-webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);-webkit-transform-origin: 0% 0%;-ms-transform-origin: 0% 0%;transform-origin: 0% 0%;white-space: pre;word-break: keep-all;}"}
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"dmSpeed","text":"783"}
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"dmOpacity","text":"0.7021594101123596"}
Danmaku.swift[460], webSocketDidOpen(_:): webSocketDidOpen
Danmaku.swift[515], webSocket(_:didReceiveMessageWith:): bililive connect success
Danmaku.swift[495], webSocket(_:didCloseWithCode:reason:wasClean:): webSocketdidClose Stream end encountered
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"liveDMServer","text":"error"}
HttpServer.swift[199], start(): Websocket client disconnected.
HttpServer.swift[206], start(): Optional([])
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
MainViewController.swift[454], startSearchingUrl(_:directly:): decodeUrl success: https://live.bilibili.com/6
MainViewController.swift[454], startSearchingUrl(_:directly:): decodeUrl success: https://live.bilibili.com/616
VideoDecoder.swift[79], prepareDanmakuFile(yougetJSON:id:): Ignore Danmaku download.
Processes.swift[246], openWithURLScheme(_:): openWithURLScheme iina://iina-plus.base64?dXJsPS92YXIvZm9sZGVycy95Zy9jNzE2emMyeDVoeGNjc3EzcmhxcWd5dzQwMDAwZ24vVC9JSU5BLVBMVVMvQTU3ODA2MEQtMTkyRC00OTE3LUI4QTYtNUQ5Rjc2QkNDQzBDLm0zdfCfkbttcHZfZm9yY2UtbWVkaWEtdGl0bGU96auY6IO96KeC6LWb5ZuiIDIwMjJNU0nlr7nmipfotZvwn5G7bXB2X3l0ZGw9bm/wn5G7bXB2X3JlZmVycmVyPWh0dHBzOi8vbGl2ZS5iaWxpYmlsaS5jb20v8J+Ru2Rhbm1ha3Xwn5G7dXVpZD1BNTc4MDYwRC0xOTJELTQ5MTctQjhBNi01RDlGNzZCQ0NDMEPwn5G7ZG1Qb3J0PTE5MDgw8J+Ru2RpcmVjdGx5.
HttpServer.swift[196], start(): Websocket client connected.
HttpServer.swift[158], start(): Optional(["https://live.bilibili.com/616"])
Danmaku.swift[222], loadCustomFont(_:): Danmaku font STHeiti Light, 24px.
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"customFont","text":".customFont {color: #fff;font-family: 'STHeiti Light', SimHei, SimSun, Heiti, 'MS Mincho', 'Meiryo', 'Microsoft YaHei', monospace;font-size: 24px;letter-spacing: 0;line-height: 100%;margin: 0;padding: 3px 0 0 0;position: absolute;text-decoration: none;text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;-webkit-text-size-adjust: none;-ms-text-size-adjust: none;text-size-adjust: none;-webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);-webkit-transform-origin: 0% 0%;-ms-transform-origin: 0% 0%;transform-origin: 0% 0%;white-space: pre;word-break: keep-all;}"}
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"dmSpeed","text":"783"}
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"dmOpacity","text":"0.7021594101123596"}
Danmaku.swift[460], webSocketDidOpen(_:): webSocketDidOpen
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Danmaku.swift[515], webSocket(_:didReceiveMessageWith:): bililive connect success
Danmaku.swift[495], webSocket(_:didCloseWithCode:reason:wasClean:): webSocketdidClose Stream end encountered
HttpServer.swift[308], send(_:text:id:): WriteText to websocket: {"method":"liveDMServer","text":"error"}
HttpServer.swift[199], start(): Websocket client disconnected.
HttpServer.swift[206], start(): Optional([])
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
MainViewController.swift[472], startSearchingUrl(_:directly:): douyuNotFoundRoomId
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5483356
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
MainViewController.swift[472], startSearchingUrl(_:directly:): douyuNotFoundRoomId
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5067522
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
MainViewController.swift[472], startSearchingUrl(_:directly:): douyuNotFoundRoomId
Bookmark.swift[51], updateState(_:): Get live status error: douyuNotFoundRoomId 
 - https://www.douyu.com/topic/djjlzbj?rid=5066138
MainViewController.swift[454], startSearchingUrl(_:directly:): decodeUrl success: https://www.huya.com/868067
shugo-chara commented 2 years ago

这个问题自始至终一直都存在,各个直播平台都是一样。也一直没有解决...

xjbeta commented 2 years ago

几个版本前加了个自动重连 修复了 clashx 之类频繁切换导致的弹幕掉线 简单测了1小时斗鱼 似乎没什么问题

xjbeta commented 2 years ago

添加了一个心跳包的重连机制 239c616