# Broadcasting to Openvidu from a Mediasoup C++ client

**URL:** <https://openvidu.discourse.group/t/broadcasting-to-openvidu-from-a-mediasoup-c-client/3637>\
**Category:** How to implement?\
**Tags:** v2\
**Created:** [November 29, 2021, 10:58am UTC](https://openvidu.discourse.group/t/broadcasting-to-openvidu-from-a-mediasoup-c-client/3637 "2021-11-29T10:58:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![trantako](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/trantako/32/1785_2.png) [@trantako](https://openvidu.discourse.group/u/trantako)\
**Post date:** [November 29, 2021, 10:58am UTC](https://openvidu.discourse.group/t/broadcasting-to-openvidu-from-a-mediasoup-c-client/3637/1 "2021-11-29T10:58:30Z")

</div>

Hi,

We want to send high quality video/audio from special cameras to OpenVidu sessions.

We have installed Openvidu server and configured it to use Mediasoup as the video backend. This seems to be working OK, we can videoconference using browsers and mediasoup-controller is running.

Mediasoup project has a C++ client libmediasoupclient and they also have an example C++ broadcaster app and a demo server:

> **[GitHub - versatica/mediasoup-broadcaster-demo: mediasoup broadcaster demo...](https://github.com/versatica/mediasoup-broadcaster-demo)**
>
> mediasoup broadcaster demo (libmediasoupclient). Contribute to versatica/mediasoup-broadcaster-demo development by creating an account on GitHub.

> **[GitHub - versatica/mediasoup-demo: mediasoup official demo application](https://github.com/versatica/mediasoup-demo)**
>
> mediasoup official demo application. Contribute to versatica/mediasoup-demo development by creating an account on GitHub.

Using these resources, we have created a custom C++ application and are able to broadcast both video and audio from our own app to the mediasoup-demo server instance. We can also view the streams in browsers using mediasoup-demo project’s web app by connecting to the same server IP and room ID as the C++ app.

Our next task is to publish the streams to OpenVidu session via Mediasoup backend. However, we couldn’t find information on how OpenVidu actually operates with Mediasoup:

- How do we communicate with Mediasoup that is integrated to OpenVidu?
- How do we identify a particular OpenVidu session / how this maps to Mediasoup rooms?
- What steps do we need to perform to publish mediasoup-demo compatible streams to OpenVidu?

All information is much appreciated!

---

<div class="post-metadata">

**Author:** ![trantako](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/trantako/32/1785_2.png) [@trantako](https://openvidu.discourse.group/u/trantako)\
**Post date:** [December 3, 2021, 2:00pm UTC](https://openvidu.discourse.group/t/broadcasting-to-openvidu-from-a-mediasoup-c-client/3637/2 "2021-12-03T14:00:15Z")

</div>

Answering to my own question:

I got it working by combining the principles of OpenVidu Android example (OpenVidu REST API, WebSocket API, and native WebRTC) with some C++ implementation details from libmediasoupclient.

In practice, I ported the key elements of OpenVidu Android example from Java to C++ and used self compiled Google libwebrtc without MediaSoup libraries.

---

<div class="post-metadata">

**Author:** ![cruizba](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/cruizba/32/18_2.png) [@cruizba](https://openvidu.discourse.group/u/cruizba)\
**Post date:** [December 3, 2021, 3:36pm UTC](https://openvidu.discourse.group/t/broadcasting-to-openvidu-from-a-mediasoup-c-client/3637/3 "2021-12-03T15:36:58Z")

</div>

What an interesting approach… is it open source?
