All Projects → Crawler995 → DouyuBarrage-Pro

Crawler995 / DouyuBarrage-Pro

Licence: other
(2020年最新)斗鱼弹幕抓取及可视化管理平台第二版,提供弹幕抓取、弹幕实时发送速度可视化、抓取记录查询、弹幕下载、自定义关键词统计、铁粉统计、高光时刻自动捕获、高频弹幕词云等功能,起飞~~~

Programming Languages

typescript
32286 projects
HTML
75241 projects

Projects that are alternatives of or similar to DouyuBarrage-Pro

Danmu
哔哩哔哩、斗鱼和虎牙直播弹幕,使用websocket协议和tcp协议两种均可
Stars: ✭ 71 (-48.92%)
Mutual labels:  danmu, douyu
Douyu For Mac
非官方Mac版斗鱼播放器带实时弹幕
Stars: ✭ 148 (+6.47%)
Mutual labels:  danmu, douyu
Danmaku
live video comments protocol and platform api
Stars: ✭ 70 (-49.64%)
Mutual labels:  danmu, douyu
Jupiter
Jupiter是斗鱼开源的面向服务治理的Golang微服务框架
Stars: ✭ 3,455 (+2385.61%)
Mutual labels:  douyu, douyutv
Real Url
获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 58 个直播平台的真实流媒体地址(直播源)和弹幕,直播源可在 PotPlayer、flv.js 等播放器中播放。
Stars: ✭ 3,748 (+2596.4%)
Mutual labels:  danmu, douyu
Douyu
Get danmu of douyutv
Stars: ✭ 110 (-20.86%)
Mutual labels:  danmu, douyu
Danmu.go
基于golang的命令行形式的直播网站(斗鱼)的弹幕浏览
Stars: ✭ 14 (-89.93%)
Mutual labels:  danmu, douyu
awesome-danmaku
一款轻量、适用于 H5 弹幕场景的 JS lib。🚀🚀
Stars: ✭ 35 (-74.82%)
Mutual labels:  danmu, barrage
Video Live
视频直播
Stars: ✭ 635 (+356.83%)
Mutual labels:  danmu, douyu
Danmu
Python 弹幕包 A live danmu package for python
Stars: ✭ 661 (+375.54%)
Mutual labels:  danmu, douyu
juno-agent
juno-agent
Stars: ✭ 46 (-66.91%)
Mutual labels:  douyu, douyutv
Bili
A tool to download barrage/video from bilibili/acfun. Support English, Japanese and Chinese(China).一个Python编写的从Bilibili/Acfun下载弹幕/视频的工具。支持英语、日语和中文(中国)。(WEBGUI正在路上)
Stars: ✭ 179 (+28.78%)
Mutual labels:  danmu
Danmu Server
A danmaku server based on WebSocket. 弹幕服务器,基于WebSocket。
Stars: ✭ 169 (+21.58%)
Mutual labels:  danmu
Xcdanmuview
Android弹幕效果View-支持左右两个方向
Stars: ✭ 28 (-79.86%)
Mutual labels:  danmu
Dmview2
轻量级弹幕,三步即可展示弹幕;也可作为公告的动态展示用途
Stars: ✭ 70 (-49.64%)
Mutual labels:  danmu
artemis
MateCloud前端代码,基于vue3、vite、pinia、ant-design vue实现的中台系统
Stars: ✭ 129 (-7.19%)
Mutual labels:  management-system
danmu-classroom-screen
danmu-classroom-screen
Stars: ✭ 18 (-87.05%)
Mutual labels:  danmu
Danmu Client
A cross-platforms danmaku client that supports transparency which based on canvas + WebSocket. 多用跨平台透明弹幕客户端,支持图文弹幕,基于canvas + WebSocket。
Stars: ✭ 151 (+8.63%)
Mutual labels:  danmu
Abplayerhtml5
Video Player for danmaku comments. ABPlayer in HTML5. ABPlayer核心构件以动态HTML编写的版本。向HTML5进发!HTML5弹幕播放器
Stars: ✭ 858 (+517.27%)
Mutual labels:  danmu
Commentcorelibrary
Javascript Live Comment (Danmaku) Engine Implementation. JS弹幕模块核心,提供从基本骨架到高级弹幕的支持。
Stars: ✭ 1,724 (+1140.29%)
Mutual labels:  danmu

DouyuBarrage-Pro

第一个版本DouyuBarrage功能更加强大智能、界面更加易用、可视化更加科学!(第一个版本其实是用来试水的,为了验证这个想法的可行性。没想到的是收到了那么一点点的star,这激励我要把这个项目做好、做完整,不能辜负大家的期望。这个版本有两位知乎朋友在认真的使用、反馈问题,非常感谢!)

目前已基本可以使用,不排除还有莫名奇妙的问题,欢迎反馈。

起飞~~~

basic.png

crawlrec.png

highlightrec.png

keywordstat.png

dmsendv.png

fanstat.png

dmcloud.png

barragewall.png

功能

  1. 开始/暂停抓取弹幕
  2. 开启/关闭弹幕墙,支持弹幕飘过速度、弹幕字体大小、透明度等设置
  3. 抓取弹幕记录查询、下载指定抓取记录所抓取的弹幕、下载全部弹幕
  4. 自定义关键词统计
  5. 铁粉(发送弹幕最多)统计
  6. 高光时刻实时自动捕获、记录、查询、下载高光时刻弹幕
  7. 弹幕发送速度实时可视化
  8. 高频弹幕词云
  9. ……待补充

运行

运行之前

  1. 确认已安装node.jsmysql
  2. mysql中创建数据库create database dybarrage_pro;
  3. mysql中增加最大连接数set GLOBAL max_connections=200;(若在使用过程中出现too many connections错误,则继续增大最大连接数,这与你所抓取的直播间数量、流量有关)
  4. 打开dybarrage-server/src中的config.ts文件,修改数据库连接用户名、密码

安装依赖

# dybarrage-server
npm install
# dybarrage-web
npm install

运行

# dybarrage-server
npm start
# dybarrage-web
npm start

# 若出现报错,应该是全局依赖没有装上,比如react-app-rewired、cross-env等,使用npm install <包名> -g安装即可,如npm install react-app-rewired -g

技术栈

All TypeScript

Any application that can be written in JavaScript, will eventually be written in JavaScript. --Jeff Atwood

前端

TypeScript, React, Ant Design, ECharts, socket.io-client, Axios

后端

TypeScript, Koa, Axios, socket.io, sequelize, MySQL, json-csv

通讯

WebSocket

  1. 客户端发出单次消息
消息类型 说明 携带数据 时机
add_room 用于表明客户端身份(即房间号) 房间号 客户端连接上服务器后发出
start_crawl 用于命令服务端开始抓取弹幕 用户在客户端点击“开始抓取”按钮后发出
stop_crawl 用于命令服务端停止抓取弹幕 用户在客户端点击“停止抓取”按钮后发出
add_keyword 用于命令服务端增加统计关键词 关键词 用户在客户端“关键词统计”界面增加关键词后发出
delete_keyword 用于命令服务端删除统计关键词 关键词 用户在客户端“关键词统计”界面删除关键词后发出
request_send_dm 用于命令服务端开始推送弹幕信息 用户在客户端打开弹幕墙后发出
stop_send_dm 用于命令服务端停止推送弹幕信息 用户在客户端关闭弹幕墙后发出
add_highlight_record 用于命令服务端记录高光时刻 客户端在捕捉到高光时刻后发出
disconnect 用于告知服务端客户端已断开连接 断开原因 客户端在断开连接后发出(由socket.io库自动发出)
  1. 服务端回应单次消息
消息类型 说明 携带数据 时机
add_room_success 用于告知客户端已成功加入服务端 服务端成功将客户端加入RoomManager后发出
add_room_failed 用于告知客户端加入服务端失败 失败原因 服务端无法将客户端加入RoomManager后发出,可能原因有:已存在相同房间号的客户端等
start_crawl_success 用于告知客户端已成功开始爬取弹幕 服务端成功启动弹幕抓取socket后发出
start_crawl_failed 用于告知客户端未能开始爬取弹幕 失败原因 服务端尝试启动弹幕抓取socket失败后发出,可能原因未知
crawl_failed 用于告知客户端在抓取过程中出错 失败原因 服务端在爬取弹幕过程中socket出错,可能原因未知
stop_crawl_success 用于告知客户端停止抓取成功 服务器在成功停止抓取后发出
stop_crawl_failed 用于告知客户端停止抓取失败 失败原因 服务器在停止抓取失败后发出
add_keyword_success 用于告知客户端添加关键词成功 服务器在成功添加关键词后发出
add_keyword_failed 用于告知客户端添加关键词失败 失败原因 服务器在添加关键词失败后发出
delete_keyword_success 用于告知客户端删除关键词成功 服务器在成功删除关键词后发出
delete_keyword_failed 用于告知客户端删除关键词失败 失败原因 服务器在删除关键词失败后发出
  1. 服务端推送周期性实时数据

用于服务器周期或单次推送给客户端,用于实时或初始化更新客户端界面的数据,目前周期推送速度设定为2s/次

消息类型 说明 时机
crawl_basic_stat 用于更新客户端“基本情况”页面中的“弹幕基本信息” 1. 客户端发送add_room,且服务器返回add_room_success后推送一次,用于初始化界面;
2. 客户端发送start_crawl,且服务器返回start_crawl_success后开始周期推送
3. 客户端发送stop_crawl,且服务器返回stop_crawl_success后停止推送
keyword_stat 用于更新客户端“关键词统计”页面 1. 客户端发送add_room,且服务器返回add_room_success后推送一次,用于初始化界面;
2. 客户端发送add_keyword,且服务器返回add_keyword_success后推送一次,用于更新界面;
3. 客户端发送delete_keyword,且服务器返回delete_keyword_success后推送一次,用于更新界面;
4. 客户端发送start_crawl,且服务器返回start_crawl_success后开始周期推送
5. 客户端发送stop_crawl,且服务器返回stop_crawl_success后停止推送
dmsendv_data 用于更新客户端“实时弹幕发送速度”页面中的图表 1. 客户端发送start_crawl,且服务器返回start_crawl_success后开始周期推送;
2. 客户端发送stop_crawl,且服务器返回stop_crawl_success后停止推送
cur_dm 用于更新客户端弹幕墙中的弹幕 1. 客户端发送request_send_dm后开始周期推送;
2. 客户端发送stop_send_dm后停止推送
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].