1 Star 0 Fork 1

m7s/plugin-room

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 1.51 KB
一键复制 编辑 原始数据 按行查看 历史
langhuihui 提交于 2022-05-12 11:58 . first commit

Room 插件

可以用于视频会议等,多人实时视频场景

插件地址

https://github.com/Monibuca/plugin-room

插件引入

    import (  _ "m7s.live/plugin/room/v4" )

配置

默认配置如下:

room:
  http: # 默认使用全局http配置
    listenaddr: :8080
    listenaddrtls: ""
    certfile: ""
    keyfile: ""
    cors: true
    username: ""
    password: ""
  appname: room # 房间用于广播数据的流的AppName(StreamPath=AppName/RoomID)
  size: 20 # 房间大小(最大人数)
  private: {} # 私密房间配置,key是房间ID,value是密码
  verify: # 入房验证远程请求
    url: ""
    method: ""
    header: {}

插件使用方式

通过WebSocket建立与本插件的连接,规则如下:

  • ws://localhost:8080/room/[roomID]/[userID] 建立连接,如果是私密房间,需要携带密码(?password=xxx)
  • 连接建立后,客户端接收到{"data":"4f8990a1-e7ae-4926-81b0-a3ab191c8e3b","event":"joined"}代表进房成功,data是token用于发布流时的参数
  • 进房后,可以通过WebSocket发送任意文本数据,该数据会被广播到房间内的其他用户(包括自己),格式:{"data":"abc","event":"msg","userId":"dexter"}
  • 在房间里面可以发布视频流,发布流的时候需要在StreamPath后面携带三个参数userId,roomId,token。
  • 当有用户发布流的时候,房间内其他人会收到事件:{"data":"[streamPath]","event":"publish","userId":"dexter"},用户可以选择订阅这个流
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/m7s/plugin-room.git
git@gitee.com:m7s/plugin-room.git
m7s
plugin-room
plugin-room
v4

搜索帮助

344bd9b3 5694891 D2dac590 5694891