Skip to content

Commit 4d34d51

Browse files
committed
feat: audio room
feat: show room type feat: update doc fix: socket default host port err fix: log err
1 parent 58921d2 commit 4d34d51

File tree

24 files changed

+992
-325
lines changed

24 files changed

+992
-325
lines changed

README.md

Lines changed: 129 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
[![](https://img.shields.io/badge/deployment-private-yellow)](https://github.com/iamtsm/tl-rtc-file/)
77
[![](https://img.shields.io/badge/platform-unlimited-coral)](https://github.com/iamtsm/tl-rtc-file/)
88

9-
109
<p align="center">
1110
<a href="https://im.iamtsm.cn/file" target="_blank">体验地址</a> |
1211
<a href="https://hub.docker.com/u/iamtsm" target="_blank">DockerHub</a> |
@@ -16,171 +15,125 @@
1615

1716
## 目录
1817

19-
- [背景-简介](#背景-简介)
20-
- [优点-扩展](#优点-扩展)
21-
- [修改配置](#修改配置)
18+
- [背景](#背景)
19+
- [优点](#优点)
20+
- [部署前必看](#部署前必看)
2221
- [自行部署](#自行部署)
2322
- [安装环境](#安装环境)
24-
- [准备启动](#准备启动)
25-
- [配置数据库 (非必须步骤)](#配置数据库-非必须步骤)
26-
- [管理后台 (非必须步骤)](#管理后台-非必须步骤)
27-
- [企微通知 (非必须步骤)](#企微通知-非必须步骤)
28-
- [OSS云存储 (非必须步骤)](#oss云存储-非必须步骤)
29-
- [Chat-GPT (非必须步骤)](#chat-gpt-非必须步骤)
30-
- [配置turnserver (局域网非必须步骤,公网必须步骤)](#配置turnserver-局域网非必须步骤公网必须步骤)
31-
- [Docker部署](#Docker部署)
23+
- [启动服务](#启动服务)
24+
- [docker部署](#docker部署)
25+
- [docker一键脚本启动](#docker一键脚本启动)
26+
- [docker-compose命令启动](#docker-compose启动)
27+
- [自行打包镜像启动](#自行打包启动镜像)
3228
- [其他形式部署](#其他形式部署)
29+
- [配置数据库 (非必须步骤)](#配置数据库-非必须步骤)
30+
- [管理后台 (非必须步骤)](#管理后台-非必须步骤)
31+
- [企微通知 (非必须步骤)](#企微通知-非必须步骤)
32+
- [OSS云存储 (非必须步骤)](#oss云存储-非必须步骤)
33+
- [Chat-GPT (非必须步骤)](#chat-gpt-非必须步骤)
34+
- [配置turnserver (局域网非必须步骤,公网必须步骤)](#配置turnserver-局域网非必须步骤公网必须步骤)
3335
- [概述图](#概述图)
3436
- [License](#license)
3537
- [免责声明](#免责声明)
3638

37-
### 背景-简介
39+
## 背景
3840

3941
20年毕设的题目相关整理出来的,用webrt在web端传输文件,支持传输超大文件。
4042

41-
### 优点-扩展
43+
## 优点
4244

4345
分片传输,跨终端,不限平台,方便使用,内网不限速(局域网最高到过70多M/s),支持私有部署,支持多文件拖拽发送,网页文件预览。 扩展了许多丰富的小功能,如本地屏幕录制,远程屏幕共享(无延迟),远程音视频通话(无延迟),直播(无延迟),密码房间,oss云存储,中继服务设置,webrtc检测,webrtc统计,文字传输(群聊,私聊),公共聊天,远程画板,AI聊天框,丰富的后台管理,实时执行日志展示,机器人告警通知等功能... 等等
4446

4547

46-
## 修改配置
48+
## 部署前必看
4749

4850
无论是自行部署,还是docker部署,还是其他脚本部署,都需要先行修改 `tlrtcfile.env` 中相应配置,再执行下面操作,且后续还需修改配置,需要重启服务
4951

52+
当然,你也可以不修改配置,使用默认的配置,但是默认的配置仅限于可以在localhost测试使用,其他人访问不到也使用不了。所以如果是需要部署到服务器上给局域网或者公网其他用户使用,就必须按需设置好 `tlrtcfile.env`
53+
54+
5055
## 自行部署
5156
#### 安装环境
5257

53-
1.安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令
58+
安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令
5459
```
5560
cd svr/
61+
5662
npm install
5763
```
58-
2.首次运行/自行开发页面,用下面两个命令之一即可
59-
60-
`npm run build:dev` (如果你需要自己开发/修改前端页面,用这个命令)
61-
`npm run build:pro` (不需要开发/修改前端页面,用这个命令)
62-
63-
3.修改 `tlrtcfile.env` 配置文件
64-
65-
#### 准备启动
66-
67-
启动以下两个服务, 选一种模式启动即可,两者的区别就是,https环境启动才可以使用音视频,直播,屏幕共享功能,其他功能不影响
68-
69-
http模式启动后,访问 http://你的机器ip:9092 即可
70-
71-
- api服务: `npm run http-api`
72-
- socket服务 : `npm run http-socket`
73-
74-
https模式启动后,访问 https://你的机器ip:9092 即可
75-
76-
- api服务: `npm run https-api`
77-
- socket服务 : `npm run https-socket`
78-
79-
#### 配置数据库 (非必须步骤)
80-
81-
修改 `tlrtcfile.env` 中的数据库相关配置即可
82-
83-
#### 企微通知 (非必须步骤)
84-
85-
修改 `tlrtcfile.env` 中的企业微信通知相关配置即可
86-
87-
#### OSS云存储 (非必须步骤)
88-
89-
修改 `tlrtcfile.env` 中的OSS存储相关配置即可
90-
91-
#### Chat-GPT (非必须步骤)
64+
首次运行执行一次下面的命令
9265

93-
修改 `tlrtcfile.env` 中的openai相关配置即可
94-
95-
#### 管理后台 (非必须步骤)
66+
```
67+
npm run build:pro
68+
```
9669

97-
前提 : 需要开启数据库配置
70+
如果你需要自己开发/修改前端页面,用这个命令,不需要开发页面就跳过这一个
9871

99-
修改 `tlrtcfile.env` 中的管理后台相关配置即可, 启动后,输入配置的房间号,输入密码,即可进入管理后台
72+
```
73+
npm run build:dev
74+
```
10075

101-
#### 配置turnserver (局域网非必须步骤,公网必须步骤)
76+
#### 启动服务
10277

103-
目前有两种形式去生成使用turn服务的帐号密码,一种是固定帐号密码 (优先推荐),一种是有效期帐号密码。**选一种方式即可**
78+
启动以下两个服务, 选一种模式启动即可,两者的区别就是,https环境启动才可以使用音视频,直播,屏幕共享功能,其他功能不影响
10479

105-
ubuntu示例:
80+
http模式启动后,访问 `http://你的机器ip:9092`
10681

107-
- 安装coturn `sudo apt-get install coturn`
82+
- 启动api服务 和 socket服务
10883

109-
有效帐号密码 : `docker/coturn/turnserver-with-secret-user.conf`
84+
```
85+
npm run http-api
11086
111-
1. 修改 `listening-device`, `listening-ip`, `external-ip`, `static-auth-secret`, `realm` 几个字段即可
112-
2. 启动turnserver
113-
`turnserver -c /这个地方路径填完整/conf/turn/turnserver-with-secret-user.conf`
87+
npm run http-socket
88+
```
11489

115-
固定帐号密码 : `docker/coturn/turnserver-with-fixed-user.conf`
11690

117-
1. 修改 `listening-device`, `listening-ip`, `external-ip`, `user`, `realm` 几个字段即可
118-
2. 生成用户
119-
`turnadmin -a -u 帐号 -p 密码 -r 这个地方填配置文件中的relam`
120-
3. 启动turnserver
121-
`turnserver -c /这个地方路径填完整/docker/coturn/turnserver-with-secret-user.conf`
91+
或者使用https模式启动,访问 `https://你的机器ip:9092`
12292

123-
部署好coturn后,在对应的 `tlrtcfile.env` 配置中设置好webrtc相关信息即可
93+
- 启动api服务 和 socket服务
12494

125-
## webrtc-stun中继服务地址
126-
tl_rtc_file_webrtc_stun_host=
127-
## webrtc-turn中继服务地址
128-
tl_rtc_file_webrtc_turn_host=
129-
## webrtc中继服务用户名
130-
tl_rtc_file_webrtc_turn_username=tlrtcfile
131-
## webrtc中继服务密码
132-
tl_rtc_file_webrtc_turn_credential=tlrtcfile
133-
## webrtc中继服务Secret
134-
tl_rtc_file_webrtc_turn_secret=tlrtcfile
135-
## webrtc中继服务帐号过期时间 (毫秒)
136-
tl_rtc_file_webrtc_turn_expire=86400000
95+
```
96+
npm run https-api
13797
98+
npm run https-socket
99+
```
138100

139-
## Docker
101+
## docker部署
140102

141103
目前支持 `官方镜像``自行打包镜像`,使用官方镜像目前支持两种操作方式 `docker脚本启动``docker-compose启动`
104+
#### docker一键脚本启动
142105

143-
`自行部署` 操作/配置上的差异有下面两点。
144-
145-
- [x] docker环境默认开启数据库,coturn服务
146-
147-
- [x] docker环境需要挂载coturn的配置,项目基础配置(tlrtcfile.env)
148-
149-
由于是内置coturn和mysql服务,所以这两个相应的配置(可以在docker-compose.yml中找到具体配置文件位置),也需要在启动前修改好。
150-
151-
#### 使用官方镜像(docker脚本启动) :
152-
153-
按需修改好 `tlrtcfile.env` 配置 (或使用默认配置也可) 后,进入 `bin/` 目录执行脚本 `auto-pull-and-start-docker.sh`
106+
进入 `bin/` 目录执行脚本 `auto-pull-and-start-docker.sh`
154107

155108
```
156109
chmod +x ./auto-pull-and-start-docker.sh
110+
157111
./auto-pull-and-start-docker.sh
158112
```
113+
#### docker-compose启动
159114

160-
#### 使用官方镜像(docker-compose启动) :
115+
根据你的 `Docker Compose` 版本在 `主目录` 执行如下对应的命令
161116

162-
按需修改好 `tlrtcfile.env` 配置 (或使用默认配置也可) 后,根据你的`Docker Compose`版本在主目录执行如下对应的命令
163-
164-
- 对于`Docker Compose V1`
117+
- 对于 `Docker Compose V1`
165118
```
166119
docker-compose --profile=http up -d
167120
```
168121

169-
- 对于`Docker Compose V2`
122+
- 对于 `Docker Compose V2`
170123
```
171124
docker compose --profile=http up -d
172125
```
173126

174-
#### 自行打包启动镜像(docker-compose打包启动) :
127+
#### 自行打包启动镜像
175128

176-
确认修改好 `tlrtcfile.env` 配置文件 (或使用默认配置也可) 后, 进入 `docker/` 目录后根据你的`Docker Compose`版本在主目录执行如下对应的命令
129+
进入 `docker/` 目录后根据你的 `Docker Compose` 版本在主目录执行如下对应的命令
177130

178-
- 对于`Docker Compose V1`
131+
- 对于 `Docker Compose V1`
179132
```
180133
docker-compose -f docker-compose-build-code.yml up -d
181134
```
182135

183-
- 对于`Docker Compose V2`
136+
- 对于 `Docker Compose V2`
184137
```
185138
docker compose -f docker-compose-build-code.yml up -d
186139
```
@@ -191,32 +144,36 @@ docker compose -f docker-compose-build-code.yml up -d
191144

192145
下载项目后,可以进入 `bin/` 目录,选择对应的系统脚本,直接执行即可,会自动检测安装环境,自动安装依赖,自动启动服务
193146

194-
**注意 : 执行之前可以先修改好 tlrtcfile.env 配置,如使用默认配置,后续修改需要重启两个服务才能生效**,重启可以先执行 `停止服务脚本`,然后再次执行 `自动脚本` 即可
195-
196147
#### ubuntu自动脚本 (比如ubuntu16)
197148

149+
- 如果脚本没有执行权限,执行一下下面的命令
198150
```
199151
chmod +x ./ubuntu16/*.sh
152+
```
200153

201-
cd ubuntu16/
202-
154+
- 使用 `http` 方式则是执行这个脚本
155+
```
203156
./auto-check-install-http.sh
204157
```
205-
使用https方式则是执行这个脚本
158+
159+
- 或者使用 `https` 方式则是执行这个脚本
206160
```
207161
./auto-check-install-https.sh
208162
```
209-
停止服务脚本 :
163+
164+
- 停止服务脚本 :
210165
```
211166
./auto-stop.sh
212167
```
213168

214169
#### windows自动脚本
215170

171+
- 使用 `http` 方式则是执行这个脚本
216172
```
217173
windows/auto-check-install-http.bat
218174
```
219-
或者使用https方式则是执行这个脚本
175+
176+
- 或者使用https方式则是执行这个脚本
220177
```
221178
windows/auto-check-install-https.bat
222179
```
@@ -226,6 +183,68 @@ windows/auto-check-install-https.bat
226183
[![Deploy on Zeabur](https://zeabur.com/button.svg)](https://zeabur.com/templates/898TLE?referralCode=iamtsm)
227184

228185

186+
## 其他配置项
187+
#### 配置数据库 (非必须步骤)
188+
189+
需要自行安装mysql数据库,新建一个数据库名称为 `webchat`,然后修改 `tlrtcfile.env` 中的数据库相关配置即可
190+
191+
#### 企微通知 (非必须步骤)
192+
193+
如果需要设置一些访问通知,错误告警通知,可以在企业微信建立机器人后,每一个机器人会有一个key,修改 `tlrtcfile.env` 中的企业微信通知相关配置即可
194+
195+
#### OSS云存储 (非必须步骤)
196+
197+
目前支持对接了seafile存储,后续会逐步支持阿里云,腾讯云,七牛云,自己的服务器等存储方式。 修改 `tlrtcfile.env` 中的OSS存储相关配置即可
198+
199+
#### Chat-GPT (非必须步骤)
200+
201+
对接了openai的接口,内置了一个聊天对话框, 修改 `tlrtcfile.env` 中的openai相关配置即可
202+
203+
#### 管理后台 (非必须步骤)
204+
205+
前提 : 需要开启数据库配置
206+
207+
修改 `tlrtcfile.env` 中的管理后台相关配置即可, 启动后,输入配置的房间号,输入密码,即可进入管理后台
208+
209+
#### 配置turnserver (局域网非必须步骤,公网必须步骤)
210+
211+
目前有两种形式去生成使用turn服务的帐号密码,一种是固定帐号密码 (优先推荐),一种是有效期帐号密码。**选一种方式即可** ,以下以ubuntu示例
212+
213+
安装coturn
214+
215+
```
216+
sudo apt-get install coturn
217+
```
218+
219+
有效帐号密码模式配置文件 : `docker/coturn/turnserver-with-secret-user.conf`
220+
221+
- 修改配置文件字段
222+
```
223+
`listening-device`, `listening-ip`, `external-ip`, `static-auth-secret`, `realm`
224+
```
225+
- 启动turnserver
226+
227+
```
228+
turnserver -c /这个地方路径填完整/conf/turn/turnserver-with-secret-user.conf
229+
```
230+
231+
固定帐号密码模式配置文件 : `docker/coturn/turnserver-with-fixed-user.conf`
232+
233+
- 修改配置文件字段
234+
```
235+
`listening-device`, `listening-ip`, `external-ip`, `user`, `realm`
236+
```
237+
- 生成用户
238+
```
239+
turnadmin -a -u 帐号 -p 密码 -r 这个地方填配置文件中的relam
240+
```
241+
- 启动turnserver
242+
```
243+
turnserver -c /这个地方路径填完整/docker/coturn/turnserver-with-secret-user.conf
244+
```
245+
246+
部署好coturn后,在对应的 `tlrtcfile.env` 配置中设置好webrtc相关信息即可
247+
229248
## 概述图
230249

231250
![image](doc/tl-rtc-file-tool.jpg)

0 commit comments

Comments
 (0)