acgnhiki / blrec

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

该录播与mwxmmy/biliupforjava插件组合使用时文件路径报错 #231

Open NNanfeng opened 10 months ago

NNanfeng commented 10 months ago

在Windows的环境下 开启biliupforjava的webhook放入blrec中如下图 image 在文件录制完成进行上传的时候产生如下报错


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.0.1)

2023-12-27T01:38:06.938+08:00  INFO 1232 --- [           main] t.s.b.BiliLiveRecordApplication          : Starting BiliLiveRecordApplication v0.0.1-SNAPSHOT using Java 17.0.7 with PID 1232 (C:\Users\tt\Desktop\uper\biliupforjava-latest.war started by tt in C:\Users\tt\Desktop\uper)
2023-12-27T01:38:06.940+08:00  INFO 1232 --- [           main] t.s.b.BiliLiveRecordApplication          : The following 1 profile is active: "local"
2023-12-27T01:38:07.462+08:00  INFO 1232 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2023-12-27T01:38:07.529+08:00  INFO 1232 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 56 ms. Found 5 JPA repository interfaces.
2023-12-27T01:38:08.098+08:00  INFO 1232 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 12380 (http)
2023-12-27T01:38:08.107+08:00  INFO 1232 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-12-27T01:38:08.108+08:00  INFO 1232 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.4]
2023-12-27T01:38:08.201+08:00  INFO 1232 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-12-27T01:38:08.202+08:00  INFO 1232 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1215 ms
2023-12-27T01:38:08.354+08:00  INFO 1232 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2023-12-27T01:38:08.409+08:00  INFO 1232 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 6.1.6.Final
2023-12-27T01:38:08.535+08:00  WARN 1232 --- [           main] org.hibernate.orm.deprecation            : HHH90000021: Encountered deprecated setting [javax.persistence.sharedCache.mode], use [jakarta.persistence.sharedCache.mode] instead
2023-12-27T01:38:08.651+08:00  INFO 1232 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2023-12-27T01:38:08.845+08:00  INFO 1232 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Added connection conn0: url=jdbc:h2:retry:C:\\Users\\tt\\Desktop\\TT/db user=SA
2023-12-27T01:38:08.847+08:00  INFO 1232 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2023-12-27T01:38:08.873+08:00  INFO 1232 --- [           main] SQL dialect                              : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2023-12-27T01:38:09.645+08:00  INFO 1232 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2023-12-27T01:38:09.653+08:00  INFO 1232 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2023-12-27T01:38:10.489+08:00  WARN 1232 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2023-12-27T01:38:10.723+08:00  INFO 1232 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [static/index.html]
2023-12-27T01:38:10.935+08:00  INFO 1232 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 12380 (http) with context path ''
2023-12-27T01:38:10.976+08:00  INFO 1232 --- [           main] t.s.b.BiliLiveRecordApplication          : Started BiliLiveRecordApplication in 4.428 seconds (process running for 4.801)
2023-12-27T01:38:15.951+08:00  INFO 1232 --- [pool-2-thread-3] t.sshh.bililiverecoder.job.videoSyncJob  : 同步视频分p cid 开始
2023-12-27T01:38:15.951+08:00  INFO 1232 --- [pool-2-thread-2] t.s.bililiverecoder.job.LiveMsgSendSync  : 发送弹幕定时任务开始
2023-12-27T01:38:15.951+08:00  INFO 1232 --- [pool-2-thread-1] t.sshh.bililiverecoder.job.publishJob    : 视频上传定时任务开始
2023-12-27T01:38:16.046+08:00  INFO 1232 --- [pool-2-thread-1] t.sshh.bililiverecoder.job.publishJob    : 视频发布定时任务 待发布视频数量 size==0
2023-12-27T01:38:25.927+08:00  INFO 1232 --- [io-12380-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-12-27T01:38:25.928+08:00  INFO 1232 --- [io-12380-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-12-27T01:38:25.929+08:00  INFO 1232 --- [io-12380-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
2023-12-27T01:39:09.457+08:00  INFO 1232 --- [pool-1-thread-1] t.s.b.controller.BiliUserController      : NN4nfeng 登录成功!!!
2023-12-27T01:39:10.952+08:00 ERROR 1232 --- [pool-2-thread-4] t.s.bililiverecoder.job.RefreshTokenJob  : 刷新token,距离上次更新不超过一小时,跳过==>NN4nfeng
2023-12-27T01:39:16.047+08:00  INFO 1232 --- [pool-2-thread-2] t.s.bililiverecoder.job.LiveMsgSendSync  : 发送弹幕定时任务开始
2023-12-27T01:39:16.047+08:00  INFO 1232 --- [pool-2-thread-1] t.sshh.bililiverecoder.job.publishJob    : 视频上传定时任务开始
2023-12-27T01:39:16.070+08:00  INFO 1232 --- [pool-2-thread-1] t.sshh.bililiverecoder.job.publishJob    : 视频发布定时任务 待发布视频数量 size==0
2023-12-27T01:39:33.276+08:00  INFO 1232 --- [io-12380-exec-2] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"roomInfo":{"areaId":252,"areaName":"逃离塔科夫","cover":"https://i0.hdslb.com/bfs/live/new_room_cover/9cfbd0572a361bffef897f94cc1d5b4bcbf6f322.jpg","description":"","liveStartTime":1703612371,"liveStatus":1,"online":0,"parentAreaId":2,"parentAreaName":"网游","roomId":"21263208","sortRoomId":0,"tags":"","title":"直播测试","uid":"400964421"}},"date":1703641173000,"id":"baedf25c-a415-11ee-829f-18c04df90736","type":"RecordingStartedEvent"}
2023-12-27T01:39:33.301+08:00  INFO 1232 --- [io-12380-exec-2] .s.b.s.i.RecordEventRecordStartedService : 录制开始事件处理完成==>{"code":-1,"endTime":"2023-12-27T01:39:33.279883200","eventId":"baedf25c-a415-11ee-829f-18c04df90736","fileSize":0,"id":1,"msgCount":0,"partCount":0,"partDuration":0.0,"publish":false,"recordPartCount":0,"recording":true,"roomId":"21263208","sendReply":false,"sessionId":"blrec","startTime":"2023-12-27T01:39:33.279883200","streaming":false,"successMsgCount":0,"title":"直播测试","updateTime":"2023-12-27T01:39:33.279883200","upload":true,"uploadPartCount":0,"uploadRetryCount":0}
2023-12-27T01:39:33.303+08:00  INFO 1232 --- [io-12380-exec-1] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"roomInfo":{"areaId":252,"areaName":"逃离塔科夫","cover":"https://i0.hdslb.com/bfs/live/new_room_cover/9cfbd0572a361bffef897f94cc1d5b4bcbf6f322.jpg","description":"","liveStartTime":1703612371,"liveStatus":1,"online":0,"parentAreaId":2,"parentAreaName":"网游","roomId":"21263208","sortRoomId":0,"tags":"","title":"直播测试","uid":"400964421"},"userInfo":{"face":"https://i0.hdslb.com/bfs/face/eb807b32037d311d21d9c1792f67a3e9227929df.jpg","gender":"保密","name":"NN4nfeng","uid":"400964421"}},"date":1703641173000,"id":"baedcb4e-a415-11ee-974f-18c04df90736","type":"LiveBeganEvent"}
2023-12-27T01:39:45.387+08:00  INFO 1232 --- [io-12380-exec-6] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.m4s","roomId":"21263208"},"date":1703641185000,"id":"c229a5aa-a415-11ee-ae43-18c04df90736","type":"VideoFileCreatedEvent"}
2023-12-27T01:39:45.387+08:00  INFO 1232 --- [io-12380-exec-6] t.s.b.s.impl.RecordEventFileOpenService  : 分p开始录制事件==>C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s
2023-12-27T01:39:46.408+08:00  INFO 1232 --- [io-12380-exec-6] t.s.b.s.impl.RecordEventFileOpenService  : 分p开始录制事件,成功保存数据库==>{"areaName":"逃离塔科夫","duration":0.0,"endTime":"2023-12-27T01:39:46.402543800","eventId":"c229a5aa-a415-11ee-ae43-18c04df90736","fileDelete":false,"filePath":"C://Users//tt//Desktop//TT\\C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s","fileSize":0,"historyId":1,"id":1,"liveTitle":"直播测试","page":0,"recording":true,"roomId":"21263208","sessionId":"blrec","startTime":"2023-12-27T01:39:46.402543800","title":"12月27日01点39分46秒","upload":false,"uploadRetryCount":0}
2023-12-27T01:39:46.411+08:00  INFO 1232 --- [io-12380-exec-5] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.xml","roomId":"21263208"},"date":1703641185000,"id":"c22a41f7-a415-11ee-bab2-18c04df90736","type":"DanmakuFileCreatedEvent"}
2023-12-27T01:39:46.414+08:00 ERROR 1232 --- [io-12380-exec-5] t.s.b.s.impl.RecordEventEmptyService     : 不支持的事件==>{"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.xml","roomId":"21263208"},"date":1703641185000,"eventData":{"areaNameChild":"逃离塔科夫","areaNameParent":"网游","danmakuConnected":false,"duration":0.0,"fileSize":0,"name":"NN4nfeng","recording":true,"relativePath":"C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.xml","roomId":"21263208","sessionId":"blrec","shortId":0,"streaming":false,"title":"直播测试"},"eventId":"c22a41f7-a415-11ee-bab2-18c04df90736","eventType":"DanmakuFileCreatedEvent","id":"c22a41f7-a415-11ee-bab2-18c04df90736","type":"DanmakuFileCreatedEvent"}
2023-12-27T01:40:16.064+08:00  INFO 1232 --- [pool-2-thread-2] t.s.bililiverecoder.job.LiveMsgSendSync  : 发送弹幕定时任务开始
2023-12-27T01:40:16.075+08:00  INFO 1232 --- [pool-2-thread-4] t.sshh.bililiverecoder.job.publishJob    : 视频上传定时任务开始
2023-12-27T01:40:16.078+08:00  INFO 1232 --- [pool-2-thread-4] t.sshh.bililiverecoder.job.publishJob    : 视频发布定时任务 待发布视频数量 size==0
2023-12-27T01:40:51.336+08:00  INFO 1232 --- [io-12380-exec-3] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"roomInfo":{"areaId":252,"areaName":"逃离塔科夫","cover":"https://i0.hdslb.com/bfs/live/new_room_cover/9cfbd0572a361bffef897f94cc1d5b4bcbf6f322.jpg","description":"","liveStartTime":0,"liveStatus":0,"online":2,"parentAreaId":2,"parentAreaName":"网游","roomId":"21263208","sortRoomId":0,"tags":"","title":"直播测试","uid":"400964421"},"userInfo":{"face":"https://i0.hdslb.com/bfs/face/eb807b32037d311d21d9c1792f67a3e9227929df.jpg","gender":"保密","name":"NN4nfeng","uid":"400964421"}},"date":1703641251000,"id":"e9787fd2-a415-11ee-9131-18c04df90736","type":"LiveEndedEvent"}
2023-12-27T01:40:54.548+08:00  INFO 1232 --- [io-12380-exec-4] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.xml","roomId":"21263208"},"date":1703641254000,"id":"eb62a6eb-a415-11ee-ad13-18c04df90736","type":"DanmakuFileCompletedEvent"}
2023-12-27T01:40:54.548+08:00 ERROR 1232 --- [io-12380-exec-4] t.s.b.s.impl.RecordEventEmptyService     : 不支持的事件==>{"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.xml","roomId":"21263208"},"date":1703641254000,"eventData":{"areaNameChild":"逃离塔科夫","areaNameParent":"网游","danmakuConnected":false,"duration":0.0,"fileSize":0,"name":"NN4nfeng","recording":false,"relativePath":"C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.xml","roomId":"21263208","sessionId":"blrec","shortId":0,"streaming":false,"title":"直播测试"},"eventId":"eb62a6eb-a415-11ee-ad13-18c04df90736","eventType":"DanmakuFileCompletedEvent","id":"eb62a6eb-a415-11ee-ad13-18c04df90736","type":"DanmakuFileCompletedEvent"}
2023-12-27T01:40:54.551+08:00  INFO 1232 --- [io-12380-exec-5] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"roomId":"21263208"},"date":1703641254000,"id":"eb62f50d-a415-11ee-8f8a-18c04df90736","type":"PostprocessingCompletedEvent"}
2023-12-27T01:40:54.551+08:00 ERROR 1232 --- [io-12380-exec-5] t.s.b.s.impl.RecordEventEmptyService     : 不支持的事件==>{"data":{"roomId":"21263208"},"date":1703641254000,"eventData":{"areaNameChild":"逃离塔科夫","areaNameParent":"网游","danmakuConnected":false,"duration":0.0,"fileSize":0,"name":"NN4nfeng","recording":false,"roomId":"21263208","sessionId":"blrec","shortId":0,"streaming":false,"title":"直播测试"},"eventId":"eb62f50d-a415-11ee-8f8a-18c04df90736","eventType":"PostprocessingCompletedEvent","id":"eb62f50d-a415-11ee-8f8a-18c04df90736","type":"PostprocessingCompletedEvent"}
2023-12-27T01:40:54.551+08:00  INFO 1232 --- [io-12380-exec-7] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.m4s","roomId":"21263208"},"date":1703641254000,"id":"eb62f50c-a415-11ee-9186-18c04df90736","type":"VideoPostprocessingCompletedEvent"}
2023-12-27T01:40:54.552+08:00  INFO 1232 --- [io-12380-exec-7] t.s.b.s.impl.RecordEventFilePostService  : 分p录制视频文件后处理事件==>C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s
2023-12-27T01:40:54.558+08:00 ERROR 1232 --- [io-12380-exec-7] t.s.b.s.impl.RecordEventFilePostService  : 文件C://Users//tt//Desktop//TT\C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s不存在,请考虑工作目录是否设置正确,或者docker 卷是否映射正确
2023-12-27T01:40:54.560+08:00  INFO 1232 --- [io-12380-exec-7] t.s.b.s.impl.RecordEventFilePostService  : 分p录制视频文件后处理成功,文件路径保存成功,路径C://Users//tt//Desktop//TT\C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s
2023-12-27T01:40:54.563+08:00  INFO 1232 --- [io-12380-exec-6] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"path":"C:\\Users\\tt\\Desktop\\TT\\21263208 - NN4nfeng\\blive_21263208_2023-12-27-013945.m4s","roomId":"21263208"},"date":1703641254000,"id":"eb62cdfc-a415-11ee-96ec-18c04df90736","type":"VideoFileCompletedEvent"}
2023-12-27T01:40:54.563+08:00  INFO 1232 --- [io-12380-exec-6] t.s.b.s.i.RecordEventFileClosedService   : 分p录制结束事件==>C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s
2023-12-27T01:40:54.567+08:00 ERROR 1232 --- [io-12380-exec-6] t.s.b.s.i.RecordEventFileClosedService   : 文件C://Users//tt//Desktop//TT\C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s不存在,请考虑工作目录是否设置正确,或者docker 卷是否映射正确
2023-12-27T01:40:55.300+08:00  INFO 1232 --- [io-12380-exec-3] t.s.b.controller.RecordWebHook           : 收到录播姬的推送信息==> {"data":{"roomInfo":{"areaId":252,"areaName":"逃离塔科夫","cover":"https://i0.hdslb.com/bfs/live/new_room_cover/9cfbd0572a361bffef897f94cc1d5b4bcbf6f322.jpg","description":"","liveStartTime":0,"liveStatus":0,"online":2,"parentAreaId":2,"parentAreaName":"网游","roomId":"21263208","sortRoomId":0,"tags":"","title":"直播测试","uid":"400964421"}},"date":1703641255000,"id":"ebd54b2f-a415-11ee-af01-18c04df90736","type":"RecordingFinishedEvent"}
2023-12-27T01:40:55.300+08:00  INFO 1232 --- [io-12380-exec-3] t.s.b.s.i.RecordEventRecordEndService    : 录制结束事件==>21263208==直播测试
2023-12-27T01:41:16.065+08:00  INFO 1232 --- [pool-2-thread-5] t.s.bililiverecoder.job.LiveMsgSendSync  : 发送弹幕定时任务开始
2023-12-27T01:41:16.078+08:00  INFO 1232 --- [pool-2-thread-3] t.sshh.bililiverecoder.job.publishJob    : 视频上传定时任务开始
2023-12-27T01:41:16.082+08:00  INFO 1232 --- [pool-2-thread-3] t.sshh.bililiverecoder.job.publishJob    : 视频发布定时任务 待发布视频数量 size==0

可以看到最严重的报错就是 2023-12-27T01:40:54.558+08:00 ERROR 1232 --- [io-12380-exec-7] t.s.b.s.impl.RecordEventFilePostService : 文件C://Users//tt//Desktop//TT\C:/Users/tt/Desktop/TT/21263208 - NN4nfeng/blive_21263208_2023-12-27-013945.m4s不存在,请考虑工作目录是否设置正确,或者docker 卷是否映射正确

这是我的biliupforjava的启动项

java -Dserver.port=12380  -Drecord.work-path=C:\Users\tt\Desktop\TT -Drecord.userName=root -Drecord.password=123  -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8 -jar biliupforjava-latest.war

下图是我的blrec的录像保存地址 image

产生该报错的原因应该是blrec的webhook返回文件目录的时候是返回的绝对目录,然后biliupforjava与启动项设置时的工作目录进行了拼接,导致文件找不到,发生报错

NNanfeng commented 10 months ago

解决办法 把biliupforjava启动项中的路径符做一下更改 把\更改为/ 更改后问题成功解决