nICEnnnnnnnLee / BilibiliLiveRecorder

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

虎牙在开播一段时间后才能录制 #5

Closed nICEnnnnnnnLee closed 1 year ago

nICEnnnnnnnLee commented 5 years ago

有朋友反馈在刚开播的时候会出现录制不上的情况,预计在开播后20分钟才能进行录制。

nICEnnnnnnnLee commented 5 years ago

本地不方便测试,目前猜测的可能有:

求定位,求解决方案😳

StarlitSkyline commented 4 years ago

刚开播时,jsonObject拿不到stream这个属性。

StarlitSkyline commented 4 years ago

本地不方便测试,目前猜测的可能有:

  • 部分信息是从html里面扣的,可能刷新不及时,导致:

    • 刚开播直播状态未更新
    • 或者播放源json未更新
  • 为了方便,项目选取的是播放源jsonFLV流,而没有考虑M3U8/slice,刚开播时虎牙未提供FLV

求定位,求解决方案😳

虎牙的startRecord那里为啥注释掉了m3u8?

nICEnnnnnnnLee commented 4 years ago

===> 最后录制使用的是flv的流

StarlitSkyline commented 4 years ago
* m3u8流的`.ts`文件下载以后怎么处理是个问题。

  * 如果直接文件拼接成一个大的ts文件,播放效果不是很好
  * 如果自己再去解析转换,实现的工作量太大
  * 如果调用ffmpeg,又要增加依赖

===> 最后录制使用的是flv的流

我没做过视频类的。请问为什么说合并成一个大的ts文件,播放效果不好?

nICEnnnnnnnLee commented 4 years ago

我本身对多媒体了解也不是很深入,这是我实现之后的感觉。 我试着合并过几个,但是播放时偶尔(尤其是拖拽进度后)可能会有一两秒花屏,把大的ts文件ffmpeg转成mp4后反而没有这个问题

StarlitSkyline commented 4 years ago

我本身对多媒体了解也不是很深入,这是我实现之后的感觉。 我试着合并过几个,但是播放时偶尔(尤其是拖拽进度后)可能会有一两秒花屏,把大的ts文件ffmpeg转成mp4后反而没有这个问题

我查了一下,也有其他人遇到了类似问题。有一个解决方案说除了转格式,也可以使用MPV或SMPlayer播放器解决。要试试看? https://mpv.io/ https://www.smplayer.info/

nICEnnnnnnnLee commented 4 years ago

如果要在指定类型的播放器上才能有良好的播放体验的话,这样做意义不大

StarlitSkyline commented 4 years ago

如果要在指定类型的播放器上才能有良好的播放体验的话,这样做意义不大

但是如果不使用m3u8,怕是无法解决这个issue。我觉得可以作为一个实验性的功能先用起来。

nICEnnnnnnnLee commented 4 years ago

我再确认一下,你的意思是:

  1. 刚开播的时候,可以从播放页面的html里:
    • 拿到m3u8
    • 拿不到flv
  2. 二十来分钟之后,可以从播放页面的html里:
    • 拿到m3u8
    • 拿到flv
  3. 前后从html里拿播放m3u8源的正则方式相同。
StarlitSkyline commented 4 years ago

我再确认一下,你的意思是:

1. 刚开播的时候,可以从播放页面的html里:

   * 拿到`m3u8`源
   * 拿不到`flv`源

2. 二十来分钟之后,可以从播放页面的html里:

   * 拿到`m3u8`源
   * 拿到`flv`源

3. 前后从html里拿播放m3u8源的正则方式相同。

不好意思,是我搞错了。。。我查看了刚开播时的html文件,里面既没有m3u8,也没有flv源。。。我一开始以为m3u8有,结果刚才看了,也没有...

StarlitSkyline commented 4 years ago

突然想到,可否增加对这种情况的retry?

lbcake commented 3 years ago

突然想到,可否增加对这种情况的retry?

huya是否可以增加一个 单纯抓取flv源的插件

目前想手动复制flv的流地址 添加至服务器下载

用Greasy Fork上的的插件 获取的到流 有时候会出现下载失败的情况 还有时候下载出现几M 几kb的情况

作者能否帮忙解决一下

ZHAO-XUEFEI commented 2 years ago

虎牙刚开播没有低画质,因为设置的画质没有,脚本会直接提示退出

lbcake commented 2 years ago

虎牙刚开播没有低画质,因为设置的画质没有,脚本会直接提示退出

这个项目 录制前面会绿屏 早就弃用了

ZHAO-XUEFEI commented 2 years ago

虎牙刚开播没有低画质,因为设置了画质,脚本会直接提示退出

这个项目引起了前面会绿屏的拒绝用了

我的录出来效果还挺好

ZHAO-XUEFEI commented 2 years ago

看我提的issue