Skip to content

WebRTC P2P online web media streaming tool (for files, video, screen, live streaming, text) with management and statistical monitoring capabilities.

License

Notifications You must be signed in to change notification settings

laoxiongshiye/tl-rtc-file

Repository files navigation

tl-rtc-file-tool (tl webrtc file tools)

体验地址DockerHub EN-DOC |QQ群: 624214498

目录

背景-简介

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

优点-扩展

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

修改配置

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

自行部署

安装环境

1.安装node-14.21.x或14.21.x以上,npm后,进入项目目录运行下面命令

cd svr/
npm install

2.首次运行/自行开发页面,用下面两个命令之一即可

npm run build:dev (如果你需要自己开发/修改前端页面,用这个命令)
npm run build:pro (不需要开发/修改前端页面,用这个命令)

3.修改 tlrtcfile.env 配置文件

准备启动

启动以下两个服务, 选一种模式启动即可,两者的区别就是,https环境启动才可以使用音视频,直播,屏幕共享功能,其他功能不影响

http模式启动后,访问 http://你的机器ip:9092 即可

  • api服务: npm run http-api
  • socket服务 : npm run http-socket

https模式启动后,访问 https://你的机器ip:9092 即可

  • api服务: npm run https-api
  • socket服务 : npm run https-socket

配置数据库 (非必须步骤)

修改 tlrtcfile.env 中的数据库相关配置即可

企微通知 (非必须步骤)

修改 tlrtcfile.env 中的企业微信通知相关配置即可

OSS云存储 (非必须步骤)

修改 tlrtcfile.env 中的OSS存储相关配置即可

Chat-GPT (非必须步骤)

修改 tlrtcfile.env 中的openai相关配置即可

管理后台 (非必须步骤)

前提 : 需要开启数据库配置

修改 tlrtcfile.env 中的管理后台相关配置即可, 启动后,输入配置的房间号,输入密码,即可进入管理后台

配置turnserver (局域网非必须步骤,公网必须步骤)

目前有两种形式去生成使用turn服务的帐号密码,一种是固定帐号密码 (优先推荐),一种是有效期帐号密码。选一种方式即可

ubuntu示例:

  • 安装coturn sudo apt-get install coturn

有效帐号密码 : docker/coturn/turnserver-with-secret-user.conf

  1. 修改 listening-device, listening-ip, external-ip, static-auth-secret, realm 几个字段即可
  2. 启动turnserver turnserver -c /这个地方路径填完整/conf/turn/turnserver-with-secret-user.conf

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

  1. 修改 listening-device, listening-ip, external-ip, user, realm 几个字段即可
  2. 生成用户 turnadmin -a -u 帐号 -p 密码 -r 这个地方填配置文件中的relam
  3. 启动turnserver
    turnserver -c /这个地方路径填完整/docker/coturn/turnserver-with-secret-user.conf

部署好coturn后,在对应的 tlrtcfile.env 配置中设置好webrtc相关信息即可

## webrtc-stun中继服务地址
tl_rtc_file_webrtc_stun_host=
## webrtc-turn中继服务地址
tl_rtc_file_webrtc_turn_host=
## webrtc中继服务用户名
tl_rtc_file_webrtc_turn_username=tlrtcfile
## webrtc中继服务密码
tl_rtc_file_webrtc_turn_credential=tlrtcfile
## webrtc中继服务Secret
tl_rtc_file_webrtc_turn_secret=tlrtcfile
## webrtc中继服务帐号过期时间 (毫秒)
tl_rtc_file_webrtc_turn_expire=86400000

Docker

目前支持 官方镜像自行打包镜像,使用官方镜像目前支持两种操作方式 docker脚本启动docker-compose启动

自行部署 操作/配置上的差异有下面两点。

  • docker环境默认开启数据库,coturn服务

  • docker环境需要挂载coturn的配置,项目基础配置(tlrtcfile.env)

由于是内置coturn和mysql服务,所以这两个相应的配置(可以在docker-compose.yml中找到具体配置文件位置),也需要在启动前修改好。

使用官方镜像(docker脚本启动) :

按需修改好 tlrtcfile.env 配置 (或使用默认配置也可) 后,进入 bin/ 目录执行脚本 auto-pull-and-start-docker.sh

chmod +x ./auto-pull-and-start-docker.sh
./auto-pull-and-start-docker.sh

使用官方镜像(docker-compose启动) :

按需修改好 tlrtcfile.env 配置 (或使用默认配置也可) 后,根据你的Docker Compose版本在主目录执行如下对应的命令

  • 对于Docker Compose V1
docker-compose --profile=http up -d
  • 对于Docker Compose V2
docker compose --profile=http up -d

自行打包启动镜像(docker-compose打包启动) :

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

  • 对于Docker Compose V1
docker-compose -f docker-compose-build-code.yml up -d
  • 对于Docker Compose V2
docker compose -f docker-compose-build-code.yml up -d

其他形式部署

除了上面的手动安装,docker官方镜像,docker自己打包镜像之外,还支持自动脚本,托管平台一键部署等

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

注意 : 执行之前可以先修改好 tlrtcfile.env 配置,如使用默认配置,后续修改需要重启两个服务才能生效,重启可以先执行 停止服务脚本,然后再次执行 自动脚本 即可

ubuntu自动脚本 (比如ubuntu16)

chmod +x ./ubuntu16/*.sh

cd ubuntu16/

./auto-check-install-http.sh

使用https方式则是执行这个脚本

./auto-check-install-https.sh

停止服务脚本 :

./auto-stop.sh

windows自动脚本

windows/auto-check-install-http.bat

或者使用https方式则是执行这个脚本

windows/auto-check-install-https.bat

zeabur平台一键部署

Deploy on Zeabur

概述图

image

License

MIT License Copyright (c) 2022 iamtsm

免责声明

免责声明

About

WebRTC P2P online web media streaming tool (for files, video, screen, live streaming, text) with management and statistical monitoring capabilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 68.0%
  • HTML 17.5%
  • TypeScript 4.0%
  • CSS 3.6%
  • Shell 3.4%
  • Vue 3.0%
  • Other 0.5%