8 Star 56 Fork 35

TheFreeOne / electron-webrtc-meeting-room

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

electron-webrtc-meeting-room

clone 仓库的时候请使用--depth 1 命令缩小下载体积

介绍

sfu/mesh的服务端+electron客户端的webrtc音视频会议室例子

sfu-server 基于 mediasoup,window上使用mediasoup请到mediasoup的官网下载mediasoup-worker-window并参考官方文档的相关方法配置MEDIASOUP_WORKER_BIN

浏览器使用webrtc需要https,electron比较简单

已知mesh模式在一台电脑下, 自己创建会议复制房号又加入会议的操作,会出现高频刺耳的声音

相关技术

模块 说明
node-room-server webrtc信令服务器
sfu-server 流中转服务器
electron-meeting-room-client electron写的客户端

计划

  • 创建房间可选密码

强烈建议在页面右侧下载最新发行版快速体验)

下载源码体验

  • 房间服务器(二选一,或者两者都用)

    • mesh方案: (内网环境不需要sturnserver|turnserver,外网需要额外的sturnserver|turnserver)

      • 安装nodejs 和 typescript

      • 进入node-room-server,执行npm install 下载依赖,执行npm run start开启房间服务器

    • sfu 架构: 服务器中转

      • 安装nodejs 和 typescript

      • 进入sfu-server,编辑config.js设置announcedIp为客户端能访问到的IP地址,执行npm install下载依赖,执行npm run start开启房间服务器

      • 若你的电脑是windows,可能会出现mediasoup编译失败的情况,可以 阅读sfu-server/README.md按照里头的流程来

  • 启动客户端(sfu模式不需要sturnserver|turnserver)

    • npm install 下载依赖npm run start 启动客户端,或者下载发行版
    • 设置中修改相关信息

    登陆

    设置

    单机演示页面

输入图片说明

关于turnserver

本人的stun/turn服务器是使用docker的zolochevska/turn-server

说明

node-room-server 原来源 https://github.com/harcop/webrtc-demo.git

sfu-server 原来源 https://github.com/Dirvann/mediasoup-sfu-webrtc-video-rooms.git

android 来源 https://github.com/haiyangwu/mediasoup-demo-android.git

感觉就像用了别人和发动机和轮子,自己写的车身拼出来的东西

参考资料

MIT License Copyright (c) 2021 TheFreeOne Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

使用electron提供客户端webrtc,node+mediasoup提供相关交互的音视频会议室例子 可用作语音通话,视频聊天, 屏幕共享 展开 收起
MIT
取消

发行版 (7)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/TheFreeOne/electron-webrtc-meeting-room.git
git@gitee.com:TheFreeOne/electron-webrtc-meeting-room.git
TheFreeOne
electron-webrtc-meeting-room
electron-webrtc-meeting-room
master

搜索帮助