RTCPilot 是一个使用现代 C++ 实现的开源 WebRTC SFU(Selective Forwarding Unit,选择性转发单元)。
RTCPilot主要特点
- 高性能的 WebRTC SFU,用于实时媒体转发。
- 跨平台支持:Windows 11、Linux(推荐 Debian)和 macOS。
- 支持 SFU 集群,便于横向扩展部署。
- 使用现代 C++ 开发,需 C++17 或更高版本进行编译。
RTCPilot 支持的平台与构建方式
Windows 11(Visual Studio)
- 推荐:Visual Studio Community 2022(在 17.14.16 版本上有测试)。
- 打开仓库中的 Visual Studio 解决方案
RTCPilot.sln,选择 x64 的 Debug/Release 配置并进行构建。 - 请确保所需的第三方库(OpenSSL、libuv、libsrtp、yaml-cpp 等)已放置在
win_3rdparty或已在系统中安装。
Linux(推荐 Debian)
- 要求:支持 C++17 的编译器(gcc/clang)、
cmake以及常规构建工具。 - 示例构建步骤:
sudo apt update
sudo apt install -y build-essential cmake git libssl-dev
mkdir build && cd build
cmake ..
make -j 2
macOS
- 使用 CMake 构建(可采用 Xcode 或 clang 工具链)。
- 示例:
mkdir build && cd build
cmake ..
make -j 2
集群与 pilot_center
pilot_center目录包含用于集群管理的 Python 服务。- 该服务负责 SFU 节点的注册,并在服务间转发 SFU 信息,以支持集群发现与调度。
- 请参考
pilot_center/requirements.txt和pilot_center/pilot_center.py获取快速启动说明。
配置
- 项目使用 YAML 文件进行配置(例如
RTCPilot/config.yaml)。 - 在运行前请根据网络、日志和 SFU 参数需求调整配置文件。
- 详细配置说明:请参阅 config_guide.md(中文)和 config_guide_en.md(英文)。
依赖要求
- 支持 C++17 或更新的编译器。
- 推荐使用 CMake 3.10 及以上进行跨平台构建。
- 平台相关的本地依赖:OpenSSL、libsrtp、libuv、yaml-cpp 等。详见
3rdparty和win_3rdparty目录。
Github开源地址:
服务端:https://github.com/runner365/RTCPilot
客户端:https://github.com/runner365/webrtc_js_client
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/64201.html