用于OBS的仿YouTube风格的bilibili直播评论栏
Go to file
2020-08-16 10:10:49 +08:00
api 修改样式 2020-07-19 21:33:26 +08:00
blivedm@6618bf5c48 更新初始化房间API 2020-07-19 22:19:05 +08:00
data 添加自动翻译前端 2020-02-06 17:39:56 +08:00
frontend 修改样式 2020-07-19 21:33:26 +08:00
models (真)修复启动长时间后自动翻译失效的问题 2020-05-09 21:38:21 +08:00
screenshots 更新帮助 2020-02-06 20:31:43 +08:00
.dockerignore 完善docker 2019-07-07 23:01:42 +08:00
.gitattributes Initial commit 2019-05-21 19:15:12 +08:00
.gitignore 头像缓存持久化 2020-02-03 16:18:21 +08:00
.gitmodules 添加文字消息 2019-05-22 01:11:23 +08:00
config.py 添加自动翻译前端 2020-02-06 17:39:56 +08:00
Dockerfile 修改默认端口为12450 2019-07-10 15:30:35 +08:00
LICENSE Initial commit 2019-05-21 19:15:12 +08:00
main.py 添加前端获取后端配置 2020-02-06 19:51:03 +08:00
README.md 更新使用方法 2020-08-16 10:10:49 +08:00
requirements.txt 头像缓存持久化 2020-02-03 16:18:21 +08:00
update.py 更新版本号v1.4.4 2020-06-06 11:41:55 +08:00

blivechat

用于OBS的仿YouTube风格的bilibili直播评论栏

最近喜欢看VTuber想为此写些程序于是有了这个东西。写到一半发现有类似项目了:bilibili-live-chatBiliChat

OBS截图
Chrome截图
样式生成器截图

特性

  • 兼容YouTube直播评论栏的样式
  • 金瓜子礼物模仿醒目留言显示
  • 高亮舰队、房管、主播的用户名
  • 支持屏蔽弹幕、合并相似弹幕等设置
  • 自带样式生成器
  • 支持自动翻译弹幕、醒目留言到日语

使用方法

一、本地使用

  1. 下载发布版仅提供x64 Windows版
  2. 双击blivechat.exe运行服务器或者用命令行可以指定host和端口号
    blivechat.exe --host 127.0.0.1 --port 12450
    
  3. 用浏览器打开http://localhost:12450输入房间ID复制房间URL
  4. 用样式生成器生成样式复制CSS
  5. 在OBS中添加浏览器源输入URL和自定义CSS

注意事项:

  • 应该先启动blivechat后启动OBS否则网页会加载失败这时应该刷新OBS的浏览器源显示Loaded则加载成功
  • 本地使用时不要关闭blivechat.exe那个黑框否则不能继续获取弹幕
  • 样式生成器没有列出所有本地字体,但是可以手动输入本地字体

二、公共服务器

请优先在本地使用,使用公共服务器会有更大的弹幕延迟,而且服务器故障时可能发生直播事故

三、源代码版自建服务器或在Windows以外平台

  1. 由于使用了git子模块clone时需要加上--recursive参数:
    git clone --recursive https://github.com/xfgryujk/blivechat.git
    
    如果已经clone拉子模块的方法
    git submodule update --init --recursive
    
  2. 编译前端需要安装Node.js
    cd frontend
    npm i
    npm run build
    
  3. 运行服务器需要Python3.6以上版本):
    pip3 install -r requirements.txt
    python3 main.py
    
    或者可以指定host和端口号
    python3 main.py --host 127.0.0.1 --port 12450
    
  4. 用浏览器打开http://localhost:12450,以下略

四、Docker自建服务器

  1. docker run -d -p 12450:12450 xfgryujk/blivechat:latest
    
  2. 用浏览器打开http://localhost:12450,以下略

nginx配置可选

自建服务器时使用,sudo vim /etc/nginx/sites-enabled/blivechat.conf

upstream blivechat {
	# blivechat地址
	server 127.0.0.1:12450;
}

# 强制HTTPS
server {
	listen 80;
	listen [::]:80;
	server_name YOUR.DOMAIN.NAME;

	return 301 https://$server_name$request_uri;
}

server {
	listen 443 ssl;
	listen [::]:443 ssl;
	server_name YOUR.DOMAIN.NAME;

	# SSL
	ssl_certificate /PATH/TO/CERT.crt;
	ssl_certificate_key /PATH/TO/CERT_KEY.key;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
	ssl_prefer_server_ciphers on;

	# 代理header
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

	# 静态文件
	location / {
		root /PATH/TO/BLIVECHAT/frontend/dist;
		# 如果文件不存在,交给前端路由
		try_files $uri $uri/ /index.html;
	}
	# 动态API
	location = /server_info {
		proxy_pass http://blivechat;
	}
	# websocket
	location = /chat {
		proxy_pass http://blivechat;

		# 代理websocket必须设置
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";
		
		# 由于这个块有proxy_set_header这些不会自动继承
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
}