open-webrtc-toolkit / owt-client-native

Open WebRTC Toolkit client SDK for native Windows/Linux/iOS applications.
https://01.org/open-webrtc-toolkit
Apache License 2.0
384 stars 180 forks source link
mcu webrtc

Open WebRTC Toolkit Native SDK

Introduction

The Open WebRTC Toolkit(OWT) client SDK for native Windows/Linux/Android/iOS applications is built upon the W3C WebRTC standard to accelerate the development of real time communication applications on these platforms. It supports peer to peer communication, and conference mode communication working with Open WebRTC Toolkit conference server.

Documentation

To generate the API document, go to the scripts directory, and run python build-win.py --docs for Windows or ./gendoc.sh in talk/owt/docs/ios for iOS.

You need Doxygen in your path.

How to build

Prepare the development environment

Before you start, make sure you have the following prerequisites installed/configured:

The following dependencies are for Windows only:

Get the code

solutions = [
  {
     "managed": False,
     "name": "src",
     "url": "https://github.com/open-webrtc-toolkit/owt-client-native.git",
     "custom_deps": {},
     "deps_file": "DEPS",
     "safesync_url": "",
  },
]
target_os = []

Build

Windows

  1. Set DEPOT_TOOLS_WIN_TOOLCHAIN to 0 in your system environment.
  2. Set Visual Studio related environmental variables. You can either call VsDevCmd.bat under Common7\Tools directory of your Visual Studio installation, or start build in Developer Command Prompt for VS.
  3. In src directory, Run gclient sync. It may take long time to download large amount of data the first time you run it. Also you are required to run this whenever DEPS file is updated.
  4. Go to the src/scripts directory, and run: python build-win.py --gn_gen --sdk --tests --ssl_root /path/to/ssl --msdk_root /path/to/msdk --output_path /path/to/output.
    • The optional msdk_root should be set to the directory of your Intel MediaSDK for Windows, version 2020 R1 or higher. This is typically C:\Program Files (x86)\IntelSWTools\Intel(R) Media SDK 2020 R1\Software Development Kit. If specified, will enable hardware accelerated video codecs for most of the video codecs.

Linux

  1. In src direcotry, run gclient sync. It may take long time to download large amount of data.
  2. Go to the src/scripts directory, and run: python build_linux.py --gn_gen --sdk --tests --shared --output_path /path/to/out.
    • If --msdk_root is specified to correct Intel MediaSDK path, for example, '/opt/intel/mediasdk', hardware decoders will be built besides the software implementations.
    • If the optional --fake_audio is specified, the internal audio devices implementation based on alsa or pulseaudio will not be built and a dummy implementation will be used.
    • If you would like to build shared library instead of default static library, add --shared option when invoking build_linux.py. Shared library is recommend because it avoids symbol conflicts.
    • The document for sdk will also be copied to this directory if you specify --docs option in above command.

Common build options shared by Windows and Linux:

iOS

Update to latest macOS and Xcode. iOS SDK can only be built on macOS.

  1. Replace the last line of .gclient with target_os=["ios"]
  2. Run gclient sync. It may take a long time to download a large amount of data.
  3. Run scripts\build.py.

Android

This branch doesn't support Android build. owt-client-android depends on 5.0.x branch of this repository.

How to contribute

We warmly welcome community contributions to the owt-client-native repository. If you are willing to contribute your features and ideas to OWT, follow the process below:

The 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

http://webrtc.intel.com