nICEnnnnnnnLee / BilibiliLiveRecorder

pure-java B站/Acfun/斗鱼/虎牙/快手/抖音/YY/战旗/花椒 直播视频录制。仅需Java环境即可运行【维护模式,不主动新增Feature】
Other
771 stars 107 forks source link

关于 FlvChecker 和 FlvCheckerWithBufferEx 的疑惑 #131

Closed Bloodborne closed 4 months ago

Bloodborne commented 4 months ago

录了一个抖音直播的视频,控制台显示录制了1个小时,但是用播放器打开只有30分钟,进度条拖到最后还会一直播放下去,但是进度条一直卡在最后不会变化,应该是时间戳有问题了。

  1. 用这个方法 java -Dfile.encoding=utf-8 -cp BiliLiveRecorder.jar nicelee.bilibili.live.check.FlvCheckerWithBufferEx "flv=源文件路径&debug=false&splitScripts=true&splitAVHeader=true&saveFolder=保存的文件夹路径",切割生成5个文件,但是有2个文件完全播放不了。
  2. splitScriptssplitAVHeader设为false再次执行上述方法,生成的flv文件依旧和源文件有一样的问题。
  3. 使用 https://github.com/nICEnnnnnnnLee/BilibiliLiveRecorder/issues/6#issuecomment-531631899 提到的 java -Dfile.encoding=utf-8 -cp BiliLiveRecorder.jar nicelee.bilibili.live.FlvChecker "文件路径" ,生成的flv文件时长恢复成1小时,能正常播放。

所以有个疑惑,为什么 FlvCheckerWithBufferEx 修复不了的视频而 FlvChecker 能修复,两者有何区别😂?(源码看不懂,问ai也无法解决😂) 如需视频文件分析的话可以提供。

Bloodborne commented 4 months ago

我错了。。。这个直播因为主播网络问题(抖音界面显示主播暂时离开)断开了几秒钟,然后用 FlvChecker 修复的视频从断开恢复那里(抖音界面显示主播回来啦)开始音画不同步,直到视频结束。。。用FlvChecker 修复的也是有缺陷的。。。

nICEnnnnnnnLee commented 4 months ago

这五个文件的大小分别是多少? 哪两个不能播放?

Bloodborne commented 4 months ago

这五个文件的大小分别是多少? 哪两个不能播放?

1

checked2、3播放不了。尝试用ffmpeg转成mp4,报错转不了。

[NULL @ 0x7fdf6d905580] missing picture in access unit with size 238
[h264 @ 0x7fdf6d80bf40] No start code is found.
[h264 @ 0x7fdf6d80bf40] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
nICEnnnnnnnLee commented 4 months ago

Screenshot_2024-04-22-23-53-04-866_com.github.android.jpg

Bloodborne commented 4 months ago

谢谢大神,1、2、3 merge 之后能播放了🙏。非常感谢大神能抽空回答🙏。我本应该要仔细阅读readme的😂。