IIT-RTC 2017 Tutorial

Native C++ WebRTC tutorial

This tutorial was first presented at the IIT-RTC 2017 edition.

Upon completion of this tutorial you will have written a complete Native C++ App that can connect to a webrtc SFU (Janus). You will have gone through installation of libwebrtc, and import in a C++ app project through cmake, the steps of a call establishment (a.k.a. JSEP) through SDP offer / answer and corresponding C++ class, as well as the foundations of streams, tracks and frames and how to render them.

The tutorial will consist of both slides and code. You can chose to follow from the slides only for a more theoretical / conceptual knowledge, or you can go ahead and code along. In the latter case, please go ahead and install the software listed in the pre-requisite below.


The tutorial and corresponding code works theoretically on ubuntu, windows and mac, but the presenters will mainly be knowledgeable on Mac and Windows. The pre-compile screen sharing component will also not be available on linux at this time.

Here are the prerequisite:

Windows User

Mac Users

Linux Users

This tutorial won’t have Linux support, if you still want to develop on this platform, you can follow the guide here : https://webrtc.org/native-code/development/

Links to material

  • prerequisite (this document)
  • Slides (coming soon)
  • Github repository (coming soon)