BiliLiveRecorder

B站直播录制机

View project on GitHub

BiliLiveRecorder

B站直播录制机

下载地址:

BiliLiveRecorder


  • 特性

    1. 多直播间同时监视、下载

    2. 持续监视直播间,开播及时录制

    3. 可使用 UID 或 用户昵称 搜索主播

    4. 支持同时下载直播弹幕(XML)

    5. 获取直播流地址失败时自动尝试切换代理访问

    6. 主播连麦、断开PK时自动分段(不稳定)

    7. 主播连麦PK时双方共同录制防止某方信号问题导致缺漏(不稳定)

  • 界面预览

    Start

    Monitor


  • 接口获取

    1. 直播间页面查看网络活动找到直播间信息接口

      https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom?room_id={直播间ID}

    2. 用户主页查看网络活动找到用户信息接口和直播间入口接口(旧)

      https://api.bilibili.com/x/space/acc/info?mid={UID}

      https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid={UID}

    3. 通过直播间页面加载的player-loader-1.10.1.min.js搜索(api.live.bilibili.com)可找到下列接口:

      https://api.live.bilibili.com/room/v1/Room/playUrl

      https://api.live.bilibili.com/room/v1/room/get_recommend_by_room

      https://api.live.bilibili.com/room/v1/Room/room_init

      https://api.live.bilibili.com/room/v1/Danmu/getConf

    4. 用户搜索页面查看网络活动找到用户搜索接口

      https://api.bilibili.com/x/web-interface/search/type?context=&keyword={搜索条件}&page=1&order=&category_id=&duration=&user_type=&order_sort=&tids_1=&tids_2=&search_type=bili_user&changing=mid&refresh=true&reload=false&highlight=1&single_column=0&jsonp=jsonp&callback=__jp3

      用户搜索条件做相应修改后:

      https://api.bilibili.com/x/web-interface/search/type?page=1&search_type=bili_user&changing=mid&refresh=true&reload=false&highlight=1&single_column=0&jsonp=jsonp&keyword={搜索条件}

    5. 直播间页面可找到弹幕服务器获取接口

      https://api.live.bilibili.com/room/v1/Danmu/getConf?room_id={直播间ID}

    6. 结合直播时抓包结果连接上述弹幕服务器,下为握手包示例,JSON中可保留uid与roomid

      握手包:

      handshake

      准备进入PK:

      PK_PRE

      开始PK:

      PK_START

      PK第一段结束:

      PK_END

      PK惩罚阶段信息:

      PK_SETTLE

      PK连麦结束:

      PK_MIC_END

      程序将在 开始PK后5秒 与 PK连麦结束后15秒 分段

    7. 在直播间信息接口(上述1)中可找到PK_ID, 直播间页面可找到PK信息接口

      https://api.live.bilibili.com/av/v1/Pk/getInfoById?pk_id={PK_ID}

      根据PK信息接口找到与当前主播连麦的对端主播, 实现双端录制


  • 参考&引用

    1. https://github.com/zyzsdy/biliroku

    2. https://github.com/jiangxianli/ProxyIpLib