Giter Site home page Giter Site logo

airmomo / live-bullet-player Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 137 KB

支持获取各大直播的实时弹幕内容,支持将弹幕内容映射为键盘指令,通过PyAutoGUI执行指令操作电脑

License: GNU General Public License v3.0

Python 98.87% JavaScript 1.13%

live-bullet-player's Introduction

live-bullet-player

支持获取各大直播的实时弹幕内容,支持将弹幕内容映射为键盘指令,通过PyAutoGUI执行指令操作电脑

支持平台

19 个直播平台的弹幕获取:抖音直播、斗鱼直播、虎牙直播、哔哩哔哩直播、快手直播、火猫直播、企鹅电竞、花椒直播、映客直播、网易 CC 直播、酷狗直播、龙珠直播、PPS 奇秀、搜狐千帆、战旗直播、来疯直播、网易 LOOK 直播、AcFun 直播、艺气山直播。

扩展功能

  • 增加获取抖音弹幕并支持弹幕指令操作
  • 增加多线程和异常捕获,支持同时获取多个直播间的弹幕
  • 弹幕内容分割功能,原项目只能通过分割后的单个字符来映射指令
    • 存在缺陷:用户发送任意包含单一字符的弹幕就能触发多次操作指令
    • 本项目完善该功能:
      • 对弹幕内容重复指令进行去重
      • 支持使用字符串映射指令
    • setting.py中统一了一些变量:
      • GAME_KEY_MAP:弹幕指令映射表
      • KEY_LIST:允许触发指令的弹幕字符串,必须先在GAME_KEY_MAP中定义映射关系
  • 提供util层封装相关操作
    • bulletUtil:输出弹幕信息格式化等功能
    • redisUtil:单例化Redis连接对象等功能
    • pyAutoGuiUtil:封装PyAutoGUI操作等功能

使用方式

使用步骤

  • 安装Python3.9和项目依赖
  • 安装并启动Redis服务
  • setting.py中设置好相应的全局变量
  • 修改main.py中变量live_urls待获取弹幕的直播间地址列表
  • 运行main.pycontrol/consumer.py
  • 可以通过自定义的热键(默认F12)来控制是否弹幕操作电脑

抖音直播的弹幕获取的方式

  • danmu/douyin/main.py中配置WebSocket的地址和端口
  • 直接运行danmu/douyin/main.py启动WebSocket服务
  • 用浏览器进入待获取弹幕的抖音直播间
  • 按F12进入开发者模式
  • danmu/douyin/barrage.js中配置相同的WebSocket的地址和端口
  • 创建并执行danmu/douyin/barrage.js脚本,启动WebSocket服务
  • 通过js脚本将弹幕消息封装为json数据对象,通过WebSocket传递json数据对象到服务端解析

实现原理

Fork的Github项目

https://github.com/wbt5/real-url
  • 获取个大平台直播的实时弹幕
https://github.com/qqxx6661/live_comment_control_stream
  • 接收弹幕指令并控制电脑操作
  • 使用Redis存储消息队列
  • 消费者接受消息,将弹幕内容转为键盘指令
  • PyAutoGUI执行指令操作电脑
https://github.com/XiaoXinYo/Live-Barrage
  • 提供抓取抖音等平台弹幕的js文件以及运行示例

使用方法

安装requirements.txt依赖

pip install -r requirements.txt

下载并安装Redis

https://github.com/MicrosoftArchive/redis/releases

修改setting.py中的全局配置变量后,依次启动

main.py
consumer.py

打开游戏,等待接收弹幕执行按键指令

live-bullet-player's People

Contributors

airmomo avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.