Skip to content
General server (streaming/conference/transcoding/anayltics) for OWT. (A.k.a. MediaServer)
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
cert Extend certificate expire date Sep 17, 2018
doc Disabled video-only sip calls (#28) Mar 19, 2019
scripts Add dependency script for analytics agent (#29) Mar 20, 2019
source BUGFIX[JIRA-1926] The last participant in room refreshing page caused… Mar 20, 2019
test 1. Replace CHANGE_BRANCH to GIT_COMMIT 2. Change the repo url Mar 11, 2019
third_party Code cleanup (#22) Mar 18, 2019
.gitattributes Added line ending normalization. Dec 18, 2012

Open WebRTC Toolkit Media Server

The media server for OWT provides an efficient video conference and streaming service that is based on WebRTC. It scales a single WebRTC stream out to many endpoints. At the same time, it enables media analytics capabilities for media streams. It features:

  • Distributed, scalable, and reliable SFU + MCU server
  • High performance VP8, VP9, H.264, and HEVC real-time transcoding on Intel® Core™ and Intel® Xeon® processors
  • Wide streaming protocols support including WebRTC, RTSP, RTMP, HLS, MPEG-DASH
  • Efficient mixing of HD video streams to save bandwidth and power on mobile devices
  • Intelligent Quality of Service (QoS) control mechanisms that adapt to different network environments
  • Customer defined media analytics plugins to perform analytics on streams from MCU
  • The usage scenarios for real-time media stream analytics including but not limited to movement/object detection

How to install develop dependency

In the repository root, use one of following commands to install dependency.

  • Interactive mode: scripts/
  • Non-interactive mode: scripts/ In interactive mode, you need type "yes" to continue installation several times and in non-interactive, the installation continues automatically.

How to build release package


The media server can be built on following platforms:

  1. Ubuntu 18.04
  2. CentOS 7.6


In the root of the repository:

  1. Build native components: scripts/build.js -t all --check.
  2. Pack built components and js files: scripts/pack.js -t all --install-module --sample-path ${webrtc-javascript-sdk-sample-conference-dist}.

The ${webrtc-javascript-sdk-sample-conference-dist} is built from owt-javascript-sdk, see for details.

If "--archive ${name}" option is appended to the pack command, a "Release-${name}.tgz" file will be generated in root folder. For other options, run the scripts with "--help" option.

Quic Start

In the repository root, run following commands to start media server on single machine:

  1. ./bin/ --deps
  2. ./bin/
  3. Open https://localhost:3004 to visit the web sample page. Due to the test certificate, you may need confirm this unsafe access.

Where to find API documents

See "doc/servermd/" and "doc/servermd/".

How to contribute

We warmly welcome community contributions to Open WebRTC Toolkit Media Server repository. If you are willing to contribute your features and ideas to OWT, follow the process below:

  • Make sure your patch will not break anything, including all the build and tests
  • Submit a pull request onto
  • Watch your patch for review comments if any, until it is accepted and merged OWT project is licensed under Apache License, Version 2.0. By contributing to the project, you agree to the license and copyright terms therein and release your contributions under these terms.

How to report issues

Use the "Issues" tab on Github.

See Also

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.