Closed chesha1 closed 1 year ago
可以发一下日志文件里的内容吗?记录的信息比 stdout 更多一些。
日志文件位置在 BililiveRecorder.Cli
同目录的 logs
文件夹里,日志文件名是日期。
从这个来看是连接弹幕服务器的时候请求超时了。
可以发一下日志文件里的内容吗?记录的信息比 stdout 更多一些。 日志文件位置在
BililiveRecorder.Cli
同目录的logs
文件夹里,日志文件名是日期。从这个来看是连接弹幕服务器的时候请求超时了。
日志里的报错如下:
{"@t":"2022-11-29T09:30:37.5950879Z","@mt":"连接弹幕服务器时出错","@l":"Warning","@x":"System.Threading.Tasks.TaskCanceledException: A task was canceled.\n at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)\n at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)\n at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken)\n at BililiveRecorder.Core.Api.Danmaku.DanmakuTransportWebSocket.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuTransportWebSocket.cs:line 42\n at BililiveRecorder.Core.Api.Danmaku.DanmakuClient.ConnectAsync(Int32 roomid, DanmakuTransportMode transportMode, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuClient.cs:line 95\n at BililiveRecorder.Core.Room.<>c__DisplayClass95_0.<<StartDamakuConnection>b__0>d.MoveNext() in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Room.cs:line 349","RoomId":25846913,"SourceContext":"BililiveRecorder.Core.Room","ProcessId":7426,"ThreadId":8,"ThreadName":".NET ThreadPool Worker","ExceptionDetail":{"Type":"System.Threading.Tasks.TaskCanceledException","HResult":-2146233029,"Message":"A task was canceled.","Source":"System.Private.CoreLib","TargetSite":"Void ThrowForNonSuccess(System.Threading.Tasks.Task)","CancellationToken":"CancellationRequested: true","Task":{"Id":1,"Status":"Canceled","CreationOptions":"RunContinuationsAsynchronously"}}}
{"@t":"2022-11-29T09:30:37.9413087Z","@mt":"连接弹幕服务器时出错","@l":"Warning","@x":"System.Threading.Tasks.TaskCanceledException: A task was canceled.\n at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)\n at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)\n at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken)\n at BililiveRecorder.Core.Api.Danmaku.DanmakuTransportWebSocket.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuTransportWebSocket.cs:line 42\n at BililiveRecorder.Core.Api.Danmaku.DanmakuClient.ConnectAsync(Int32 roomid, DanmakuTransportMode transportMode, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuClient.cs:line 95\n at BililiveRecorder.Core.Room.<>c__DisplayClass95_0.<<StartDamakuConnection>b__0>d.MoveNext() in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Room.cs:line 349","RoomId":178033,"SourceContext":"BililiveRecorder.Core.Room","ProcessId":7426,"ThreadId":6,"ThreadName":".NET ThreadPool Worker","ExceptionDetail":{"Type":"System.Threading.Tasks.TaskCanceledException","HResult":-2146233029,"Message":"A task was canceled.","Source":"System.Private.CoreLib","TargetSite":"Void ThrowForNonSuccess(System.Threading.Tasks.Task)","CancellationToken":"CancellationRequested: true","Task":{"Id":2,"Status":"Canceled","CreationOptions":"RunContinuationsAsynchronously"}}}
{"@t":"2022-11-29T09:30:46.9428226Z","@mt":"连接弹幕服务器 {Mode} {Host}:{Port} 房间: {RoomId} TokenLength: {TokenLength}","@l":"Debug","Mode":"Tcp","Host":"hw-bj-live-comet-07.chat.bilibili.com","Port":2243,"RoomId":25846913,"TokenLength":148,"SourceContext":"BililiveRecorder.Core.Api.Danmaku.DanmakuClient","ProcessId":7426,"ThreadId":16,"ThreadName":".NET ThreadPool Worker"}
{"@t":"2022-11-29T09:30:46.9577773Z","@mt":"连接弹幕服务器 {Mode} {Host}:{Port} 房间: {RoomId} TokenLength: {TokenLength}","@l":"Debug","Mode":"Wss","Host":"tx-gz-live-comet-05.chat.bilibili.com","Port":443,"RoomId":178033,"TokenLength":148,"SourceContext":"BililiveRecorder.Core.Api.Danmaku.DanmakuClient","ProcessId":7426,"ThreadId":16,"ThreadName":".NET ThreadPool Worker"}
{"@t":"2022-11-29T09:30:56.9608037Z","@mt":"连接弹幕服务器时出错","@l":"Warning","@x":"System.Threading.Tasks.TaskCanceledException: A task was canceled.\n at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)\n at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)\n at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken)\n at BililiveRecorder.Core.Api.Danmaku.DanmakuTransportWebSocket.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuTransportWebSocket.cs:line 42\n at BililiveRecorder.Core.Api.Danmaku.DanmakuClient.ConnectAsync(Int32 roomid, DanmakuTransportMode transportMode, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuClient.cs:line 95\n at BililiveRecorder.Core.Room.<>c__DisplayClass95_0.<<StartDamakuConnection>b__0>d.MoveNext() in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Room.cs:line 349","RoomId":178033,"SourceContext":"BililiveRecorder.Core.Room","ProcessId":7426,"ThreadId":15,"ThreadName":".NET ThreadPool Worker","ExceptionDetail":{"Type":"System.Threading.Tasks.TaskCanceledException","HResult":-2146233029,"Message":"A task was canceled.","Source":"System.Private.CoreLib","TargetSite":"Void ThrowForNonSuccess(System.Threading.Tasks.Task)","CancellationToken":"CancellationRequested: true","Task":{"Id":3,"Status":"Canceled","CreationOptions":"RunContinuationsAsynchronously"}}}
{"@t":"2022-11-29T09:31:05.9644234Z","@mt":"连接弹幕服务器 {Mode} {Host}:{Port} 房间: {RoomId} TokenLength: {TokenLength}","@l":"Debug","Mode":"Ws","Host":"tx-gz-live-comet-05.chat.bilibili.com","Port":2244,"RoomId":178033,"TokenLength":148,"SourceContext":"BililiveRecorder.Core.Api.Danmaku.DanmakuClient","ProcessId":7426,"ThreadId":12,"ThreadName":".NET ThreadPool Worker"}
{"@t":"2022-11-29T09:31:15.9649347Z","@mt":"连接弹幕服务器时出错","@l":"Warning","@x":"System.Threading.Tasks.TaskCanceledException: A task was canceled.\n at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)\n at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)\n at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)\n at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken)\n at BililiveRecorder.Core.Api.Danmaku.DanmakuTransportWebSocket.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuTransportWebSocket.cs:line 42\n at BililiveRecorder.Core.Api.Danmaku.DanmakuClient.ConnectAsync(Int32 roomid, DanmakuTransportMode transportMode, CancellationToken cancellationToken) in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Api/Danmaku/DanmakuClient.cs:line 95\n at BililiveRecorder.Core.Room.<>c__DisplayClass95_0.<<StartDamakuConnection>b__0>d.MoveNext() in /home/runner/work/BililiveRecorder/BililiveRecorder/BililiveRecorder.Core/Room.cs:line 349","RoomId":178033,"SourceContext":"BililiveRecorder.Core.Room","ProcessId":7426,"ThreadId":19,"ThreadName":".NET ThreadPool Worker","ExceptionDetail":{"Type":"System.Threading.Tasks.TaskCanceledException","HResult":-2146233029,"Message":"A task was canceled.","Source":"System.Private.CoreLib","TargetSite":"Void ThrowForNonSuccess(System.Threading.Tasks.Task)","CancellationToken":"CancellationRequested: true","Task":{"Id":4,"Status":"Canceled","CreationOptions":"RunContinuationsAsynchronously"}}}
{"@t":"2022-11-29T09:31:24.9681647Z","@mt":"连接弹幕服务器 {Mode} {Host}:{Port} 房间: {RoomId} TokenLength: {TokenLength}","@l":"Debug","Mode":"Tcp","Host":"hw-bj-live-comet-05.chat.bilibili.com","Port":2243,"RoomId":178033,"TokenLength":148,"SourceContext":"BililiveRecorder.Core.Api.Danmaku.DanmakuClient","ProcessId":7426,"ThreadId":8,"ThreadName":".NET ThreadPool Worker"}
{"@t":"2022-11-29T09:31:55.9771710Z","@mt":"Ctrl+C pressed. Exiting","ProcessId":7426,"ThreadId":11,"ThreadName":".NET Signal Handler"}
{"@t":"2022-11-29T09:31:55.9799902Z","@mt":"Dispose called","@l":"Debug","SourceContext":"BililiveRecorder.Core.Recorder","ProcessId":7426,"ThreadId":11,"ThreadName":".NET Signal Handler"}
看起来就是连接超时了,网络原因。你在是什么网络环境运行的?有条件换个网络环境试一下吗?
看起来就是连接超时了,网络原因。你在是什么网络环境运行的?有条件换个网络环境试一下吗?
用的是北美的VPS机房,B站会对北美的线路有限制吗?但是视频录得了,弹幕录不了就很奇怪,按理说这两个是同一个网络环境下的
你的 IP 被墙了吧,找几个国内 IP ping 一下试试。 连的国内弹幕服务器全部超时,直播流在美国有 CDN。
你的 IP 被墙了吧,找几个国内 IP ping 一下试试。 连的国内弹幕服务器全部超时,直播流在美国有 CDN。
还真是这个原因,感谢解答
Platforms
CLI - Linux
Version
v2.5.0
Description
每过几秒就提示连接弹幕服务器时出错,查看生成的xml文件,只有文件格式,没有实际弹幕内容
报错信息如下:
Logs
No response