Skip to content

TheFreeOne/electron-webrtc-meeting-room-example

Repository files navigation

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

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

参考资料

About

A case to create audio-video meeting by electron and mediasoup ; Download release from https://gitee.com/TheFreeOne/electron-webrtc-meeting-room

Resources

License

Stars

Watchers

Forks

Packages

No packages published