Skip to content

通过 WebRTC 来进行多人 P2P 通话,支持实时变声/人像背景虚化、以及文件传输

License

Notifications You must be signed in to change notification settings

BobbyJonas/my-stream-fe

Repository files navigation

项目名称

MyStream - 自定义 P2P 视频直播系统

环境准备

配置 mongoDB

在 Docker [下载网址] 下进行安装

docker pull mongo:5.0.13

docker run -d --name mongodb -v /home/mongo/db:/data/db -p 27017:27017 mongo:5.0.13

配置本地 SSL

开启本地 HTTPS 需要额外生成本地 SSL 证书,并在项目中进行引用。

使用 mkcert (仅 macOS)
  1. 安装 mkcert

    brew install mkcert
    brew install nss # if you use Firefox
  2. 添加 mkcert 到你本地 CA 中

    mkcert -install
  3. 生成本地证书

    在终端中 cd 到本项目的根目录,然后执行

    mkcert localhost
    mv localhost-key.pem localhost.pem config/cert
  4. [可选] 更改证书引用路径

    如果证书名字有更改的话,在 nuxt.config.jssrc/api/modules/socket-io/index.ts 中更改引用路径

使用 OpenSSL
openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout RootCA.key -out RootCA.pem -subj "/C=US/CN=Example-Root-CA"
openssl x509 -outform pem -in RootCA.pem -out RootCA.crt

mv RootCA.crt ./config/cert/localhost-cert.crt
mv RootCA.key ./config/cert/localhost-key.key
rm RootCA.pem

把证书设置为本地信任,然后检查下列文件中证书引用路径是否正确。

  • nuxt.config.js
  • src/api/modules/socket-io/index.ts

相关链接: https://web.dev/how-to-use-local-https/

项目启动

部署网址

本地

注意: 非 https 环境下,无法正常使用 WebRTC.

测试环境

https://mystream-dev.jonaspete.com

构建命令

安装依赖

npm i

本地调试 (https)

npm run dev:https

生产环境

构建并启动服务 (http)

npm run build
npm run start

引用

file-icon-vectors: https://github.com/dmhendricks/file-icon-vectors

Robot Avatar Icons: https://dighital.com/icon-pack/icons/flat-icons/robot-avatar-icons/


App built by NuxtJS.

For detailed explanation on how things work, check out Nuxt.js docs.

About

通过 WebRTC 来进行多人 P2P 通话,支持实时变声/人像背景虚化、以及文件传输

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published