Closed qchenac closed 1 year ago
关于cookie错误
程序不关注有效cookie的获取以及刷新,失效了就是失效了,没法解决。 不过上述报错应该都是网络问题造成的,根因应该和下面的情况类似,只是表现不同。
录制后头四十分钟文件大小不增加,然后异常报错...第一段录制出来的5兆多...实际只有39秒
理论上每隔约10s会输出一次录制状态。
如果log没有删减的话,第一段录制的时候在30s~16m16s
这个区间程序没有log输出,显然整个程序被被阻塞了。
比较明显的还有16m56s~32m5s
这一段。
已经录制了0m30s, 当前进度: 4.42 MB
已经录制了16m16s, 当前进度: 5.12 MB
...
已经录制了16m56s, 当前进度: 5.12 MB
已经录制了32m5s, 当前进度: 5.12 MB
程序设置的HTTP超时时间是2min,一直坚持到45m17s左右才报超时异常,显然中间有很多地方被卡住了。
已知的情况大概有:
具体阻塞原因需要更多信息
关于同时录制多个直播
只能说最开始并没有考虑这样的使用场景,同时开启多个的话会有很多不必要的重复开销。
建议搜一下其它项目或者参考此处自己实现。
直播录制实质上就是获取直播源
+ 下载直播源(FLV/M3U8)
+ 处理下载的raw文件
,实现门槛很低的
由于长期没有状态更新,该问题自动关闭。如有需要可重新打开。
"check=false&liver=douyin&id=xxxxxxx&qnPri=标清>高清>超清>蓝光>原画&retry=50&saveFolder=/Users/xxx/Downloads&stopAfterOffline=false&retryIfLiveOff=true&retryAfterMinutes=1&failRetryAfterMinutes=0.1"
开了六个程序,监看六个直播间,一开始都可以正常监看,有三个分别在两小时、五小时和九小时后报cookie错误,自动退出程序。最后报错log如下:
log1
``` 发送GET请求出现异常!javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1718) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1518) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:578) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142) at nicelee.bilibili.util.HttpRequestUtil.connectWithHostKnown(HttpRequestUtil.java:334) at nicelee.bilibili.util.HttpRequestUtil.getContent(HttpRequestUtil.java:296) at nicelee.bilibili.live.impl.RoomDealerDouyin4User.getRoomInfo(RoomDealerDouyin4User.java:96) at nicelee.bilibili.Main.getRoomInfo(Main.java:173) at nicelee.bilibili.Main.main(Main.java:86) Suppressed: java.net.SocketException: Broken pipe at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:413) at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:433) at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:812) at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1120) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:407) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:467) ... 9 more Caused by: java.io.EOFException: SSL peer shut down incorrectly at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:488) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:477) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) ... 11 more java.lang.IllegalStateException: No match found at java.base/java.util.regex.Matcher.group(Matcher.java:644) at nicelee.bilibili.live.impl.RoomDealerDouyin4User.getRoomInfo(RoomDealerDouyin4User.java:100) at nicelee.bilibili.Main.getRoomInfo(Main.java:173) at nicelee.bilibili.Main.main(Main.java:86) 抖音需要cookie, 请确认cookie是否存在或失效 解析失败!! ```log2
``` 发送GET请求出现异常!java.io.IOException: Server returned HTTP response code: 504 for URL: https://live.douyin.com/453701763484 java.io.IOException: Server returned HTTP response code: 504 for URL: https://live.douyin.com/xxxxxxx at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484) at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2044) at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2039) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:2038) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1605) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1585) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) at nicelee.bilibili.util.HttpRequestUtil.getContent(HttpRequestUtil.java:298) at nicelee.bilibili.live.impl.RoomDealerDouyin4User.getRoomInfo(RoomDealerDouyin4User.java:96) at nicelee.bilibili.Main.getRoomInfo(Main.java:173) at nicelee.bilibili.Main.main(Main.java:86) Caused by: java.io.IOException: Server returned HTTP response code: 504 for URL: https://live.douyin.com/453701763484 at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1993) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1585) at java.base/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3232) at java.base/java.net.URLConnection.getContentEncoding(URLConnection.java:531) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getContentEncoding(HttpsURLConnectionImpl.java:380) at nicelee.bilibili.util.HttpRequestUtil.getContent(HttpRequestUtil.java:297) ... 3 more java.lang.IllegalStateException: No match found at java.base/java.util.regex.Matcher.group(Matcher.java:644) at nicelee.bilibili.live.impl.RoomDealerDouyin4User.getRoomInfo(RoomDealerDouyin4User.java:100) at nicelee.bilibili.Main.getRoomInfo(Main.java:173) at nicelee.bilibili.Main.main(Main.java:86) 抖音需要cookie, 请确认cookie是否存在或失效 解析失败!! ```log3
``` 发送GET请求出现异常!java.net.SocketException: Connection reset java.net.SocketException: Connection reset at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:313) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:340) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:789) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1025) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:483) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:477) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:578) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142) at nicelee.bilibili.util.HttpRequestUtil.connectWithHostKnown(HttpRequestUtil.java:334) at nicelee.bilibili.util.HttpRequestUtil.getContent(HttpRequestUtil.java:296) at nicelee.bilibili.live.impl.RoomDealerDouyin4User.getRoomInfo(RoomDealerDouyin4User.java:96) at nicelee.bilibili.Main.getRoomInfo(Main.java:173) at nicelee.bilibili.Main.main(Main.java:86) java.lang.IllegalStateException: No match found at java.base/java.util.regex.Matcher.group(Matcher.java:644) at nicelee.bilibili.live.impl.RoomDealerDouyin4User.getRoomInfo(RoomDealerDouyin4User.java:100) at nicelee.bilibili.Main.getRoomInfo(Main.java:173) at nicelee.bilibili.Main.main(Main.java:86) 抖音需要cookie, 请确认cookie是否存在或失效 解析失败!! ```除此之外,还有一个开始录制后头四十分钟文件大小不增加,然后异常报错,自动重试后重新录制但时间轴未重置,如下:
然后第一段录制出来的5兆多的文件经ffmpeg转码后实际只有39秒