/janus-client

c/c++ webrtc native janus client Qt opengl video-meeting video-room video-call text-room meeting chat

Primary LanguageC++MIT LicenseMIT

janus-client

'janus-client' is an open source Janus Gateway client developed with webrtc native C++ for learning and research purposes. Most components are based on 'rtc_base' of WebRTC. In order to facilitate learning and debugging WebRTC code, I choose to use Visual Studio to develop on Windows platform. MacOS, IOS and Linux platforms will be supported after the main features are completed.

Dependencies

  • Qt5 Used Qt for UI

  • asio Referenced by websocketpp

  • websocketpp WebSockets support for the Janus API

  • x2struct Used to convert between C++ objects and json

  • glew Used to render video frames

  • spdlog Used to build a log system

  • WebRTC

  • Note:

  • asio/websocketpp/x2struct/spdlog have joined this repository as submodules.

  • glew and WebRTC library(M85, release, webrtc.7z) have been included directly in this repository.

Features

  • video room (available, and multistream branch is also avaliable)
  • text room
  • video call
  • voice mail

Arch


Compile

Get the code:

git clone --recursive https://github.com/ouxianghui/janus-client.git

Open RTCSln.sln with Visual Studio(2017)

UI


Author

Jackie Ou 750265900@qq.com

Any thought, suggestion, feedback is welcome!