mirror of
https://github.com/xfgryujk/blivechat.git
synced 2025-01-14 22:30:23 +08:00
132 lines
4.0 KiB
Markdown
132 lines
4.0 KiB
Markdown
# blivechat
|
||
用于OBS的仿YouTube风格的bilibili直播评论栏
|
||
|
||
最近喜欢看VTuber,想为此写些程序,于是有了这个东西。~~写到一半发现有类似项目了:[bilibili-live-chat](https://github.com/Tsuk1ko/bilibili-live-chat)、[BiliChat](https://github.com/3Shain/BiliChat)~~
|
||
|
||
![OBS截图](https://github.com/xfgryujk/blivechat/blob/master/screenshots/obs.png)
|
||
![Chrome截图](https://github.com/xfgryujk/blivechat/blob/master/screenshots/chrome.png)
|
||
![样式生成器截图](https://github.com/xfgryujk/blivechat/blob/master/screenshots/stylegen.png)
|
||
|
||
## 特性
|
||
* 兼容YouTube直播评论栏的样式
|
||
* 金瓜子礼物模仿醒目留言显示
|
||
* 高亮舰队、房管、主播的用户名
|
||
* 支持屏蔽弹幕、合并相似弹幕等设置
|
||
* 自带样式生成器
|
||
* 支持自动翻译弹幕、醒目留言到日语
|
||
|
||
## 使用方法
|
||
### 一、本地使用
|
||
1. 下载[发布版](https://github.com/xfgryujk/blivechat/releases)(仅提供x64 Windows版)
|
||
2. 双击`blivechat.exe`运行服务器,或者用命令行可以指定host和端口号:
|
||
```bat
|
||
blivechat.exe --host 127.0.0.1 --port 12450
|
||
```
|
||
3. 用浏览器打开[http://localhost:12450](http://localhost:12450),输入房间ID,复制房间URL
|
||
4. 用样式生成器生成样式,复制CSS
|
||
5. 在OBS中添加浏览器源,输入URL和自定义CSS
|
||
|
||
**注意事项:**
|
||
|
||
* 本地使用时不要关闭blivechat.exe那个黑框,否则不能继续获取弹幕
|
||
* 样式生成器没有列出所有本地字体,但是可以手动输入本地字体
|
||
|
||
### 二、公共服务器
|
||
请优先在本地使用,使用公共服务器会有更大的弹幕延迟,而且服务器故障时可能发生直播事故
|
||
|
||
* [第三方公共服务器](http://chat.bilisc.com/)
|
||
* [仅样式生成器](https://style.vtbs.moe/)
|
||
|
||
### 三、源代码版(自建服务器或在Windows以外平台)
|
||
0. 由于使用了git子模块,clone时需要加上`--recursive`参数:
|
||
```sh
|
||
git clone --recursive https://github.com/xfgryujk/blivechat.git
|
||
```
|
||
如果已经clone,拉子模块的方法:
|
||
```sh
|
||
git submodule update --init --recursive
|
||
```
|
||
1. 编译前端(需要安装Node.js):
|
||
```sh
|
||
cd frontend
|
||
npm i
|
||
npm run build
|
||
```
|
||
2. 运行服务器(需要Python3.6以上版本):
|
||
```sh
|
||
pip3 install -r requirements.txt
|
||
python3 main.py
|
||
```
|
||
或者可以指定host和端口号:
|
||
```sh
|
||
python3 main.py --host 127.0.0.1 --port 12450
|
||
```
|
||
3. 用浏览器打开[http://localhost:12450](http://localhost:12450),以下略
|
||
|
||
### 四、Docker(自建服务器)
|
||
1. ```sh
|
||
docker run -d -p 12450:12450 xfgryujk/blivechat:latest
|
||
```
|
||
2. 用浏览器打开[http://localhost:12450](http://localhost:12450),以下略
|
||
|
||
### nginx配置(可选)
|
||
自建服务器时使用,`sudo vim /etc/nginx/sites-enabled/blivechat.conf`
|
||
|
||
```conf
|
||
upstream blivechat {
|
||
keepalive 8;
|
||
# 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;
|
||
|
||
# 代理header
|
||
proxy_http_version 1.1;
|
||
proxy_set_header Host $host;
|
||
proxy_set_header Connection "";
|
||
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_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;
|
||
}
|
||
}
|
||
```
|