hr3lxphr6j / bililive-go

一个直播录制工具
GNU General Public License v3.0
3.68k stars 479 forks source link

部分斗鱼直播间返回m3u8地址,导致程序无法正常录制和合并视频 #491

Open kira1928 opened 1 year ago

kira1928 commented 1 year ago

程序版本

0.7.13

所使用的 config 文件的内容

rpc:
  enable: true
  bind: :8080
debug: true
interval: 20
out_put_path: /srv/bililive
log:
  out_put_folder: ./
  save_last_log: true
  save_every_log: false
feature:
  use_native_flv_parser: false
  remove_symbol_other_character: false
live_rooms:
- url: https://www.douyu.com/92000
  is_listening: false
  quality: 0
out_put_tmpl: ""
video_split_strategies:
  on_room_name_changed: false
  max_duration: 0s
cookies: {}
on_record_finished:
  convert_to_mp4: true
  delete_flv_after_convert: false
timeout_in_us: 60000000

程序 log

douyu-m3u8-room-log.txt

自由描述

获取直播信息的 api 返回的 json 里 rtmp key 的值竟然是一个 m3u8 地址! api: https://www.douyu.com/lapi/live/getH5Play/2947432?v=220120230706&did=a24ea6301b0c0860c79ca12e00021601&tt=1688646078&sign=ca4d28dd40ff265d6a5f646ff3603cac&cdn=&rate=-1&ver=Douyu_222082905&iar=1&ive=0&hevc=0&fa=0 response: live-info.txt

用 PC chrome 直接访问 https://www.douyu.com/92000 会在播放器中显示 image

用 PC chrome 直接访问另一个链接 https://www.douyu.com/t/2947432 甚至会要我安装 adobe flash image 不过看了一下这个页面是 2018 年的,也许和这次的 m3u8 不是一个问题。

用我的配置使用 ffmpeg 是可以下载成一个 ts 视频文件的。但我本地用 potplayer 播放没有声音。用 potplayer 播放在smb服务器上的 ts 文件时程序会先尝试完整下载整个 ts 文件。 转换成 mp4 失败,只会生成一个 0KB 大小的空 mp4 文件。 有的用户说本地可以正常播放。不知道是不是播放器的区别。

redstone1994 commented 1 year ago

我试了下ts转mp4确实会直接报错 斗鱼直播地址变成 房间号?dyshid=&dyshci= 直播流也加了几个参数 我一直用ffmpeg 直接接受直播流录制,这样是正常的

kira1928 commented 1 year ago

@redstone1994 你录的呆妹直播间的 ts 录像有声音吗? 如果有,那你是用什么播放器播放的呀?

redstone1994 commented 1 year ago

image 我看有这么个判断,我把m3u8的流也转成.flv,用了一段时间正常使用