/juanSFU

一个学习性质的webrtc SFU架构实现,持续开发中。

Primary LanguageC++

juansfu

目录结构

webrtc-client

webrtc客户端程序,在main.js中配置信令地址

let zal_rtc = new ZalRtc("ws://192.168.110.10:5000/signaling");

server

服务器端程序

依赖

windows编译

  • 根据项目的依赖配置库路径(这里可能需要手动配置uvnet、openssl、libsrtp及abseil-cpp的头文件路径及库文件路径)
  • 打开juansfu.sln执行编译,推荐使用VS 2019打开
  • windows下的openssl依赖openssl_win

ubuntu linux服务器端编译

  • 进入server目录,运行ubuntu_3rd_build.sh
  • 然后运行build_other.sh
  • 进入server/juansfu目录,新建build目录,进入build目录,执行cmake ..
  • 如果自动执行不成功,可以尝试手动执行上面两个文件的命令
  • 执行cmake命令时,可能需要配置
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

运行

  • 将juanSFU/server/juansfu目录下的webrtc_config.json配置文件拷贝到可执行文件所在目录(juanSFU/server/juansfu/bin)
  • 修改配置文件中的server_ip字段为可访问ip

客户端说明

  • 只支持一端推流一端拉流
  • 首先加入房间的用户,必须推流
  • 后面加入房间的用户拉流