A Windows-only WebRTC desktop client built with C++, SDL3, ImGui, Boost.Beast, and a custom signaling server.
- 1:1 audio/video calling
- camera and media-file video source switching
- real-time call stats in the sidebar
- repeated-call handling fixes for stale signaling, ICE timing, and one-way video regressions
- Windows
- Visual Studio C++ build tools
clang-clcmakeninja
Use the batch script from a normal Windows shell or Developer Command Prompt.
build.cmd clean
build.cmd
build.cmd debug
build.cmd test
build.cmd test debugNotes:
- default build is
release - build output lives under
build\releaseorbuild\debug build.cmd cleanremoves the wholebuild\directorybuild\compile_commands.jsonis synchronized from the active config directory after configure/buildbuild.cmd testbuilds then runsctest --verboseautomatically for the selected config, showing each test case
This repository also provides a default Ninja preset:
cmake --preset default
cmake --build --preset defaultTo run tests manually after build:
ctest --test-dir build\release --output-on-failure
ctest --test-dir build\release -N
ctest --test-dir build\release -VThe client expects the matching signaling service in:
webrtc-signaling-server/
Update the server URL in the app configuration if your deployment target changes.
BSD 3-Clause. The project license is aligned with the WebRTC source license style.
