The Open WebRTC Toolkit 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 and conference mode communication working with Open Media Stream MCU server.
- Supported Windows platform: Windows 7 and above.
- Supported Linux platform: Ubuntu 16.04.
- Supported iOS platform: iOS 9.0 and above.
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.
Before you start, make sure you have the following prerequisites installed/built:
The following dependencies are for Windows only:
- Make sure you clone the source code to a directory named
src
. - Create a file named .gclient in the directory above the
src
dir, with these contents:
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 = []
- Set the environment variable
BOOST_ROOT
to your boost source tree. - Run
gclient sync
. It may take a long time to download a large amount of data. - 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/out
. The built binary will be underoutput_path
, the document for sdk will also be copied to this directory if docs have been generated. Ifoutput_path
is not set, the built binary will be undersrc/out
directory. Note the first time you run this it will take a long time to pull chromium/webrtc dependencies and require network access to Google's code/storage infrastructure. Setssl_root
to the directory of your OpenSSL 1.1.0 binary. Setmsdk_root
to the directory of your Intel Media SDK for Windows, version 2018 R1 or higher. Use--gn_gen
to generate args.gn during the first build or when you change themsdk_root
orssl_root
paths.
- Run
gclient sync
. It may take a long time to download a large amount of data. - Go to the
src/scripts
directory, and run:python build_linux.py --gn_gen --sdk --tests --ssl_root /path/to/ssl --output_path /path/to/out
. The built binary will be underoutput_path
, the document for sdk will also be copied to this directory if docs have been generated. Ifoutput_path
is not set, the built binary will be under thesrc/out
directory. Note the first time you run this it will take a long time to pull chromium/webrtc dependencies and require network access to Google's code/storage infrastructure. Setssl_root
to the directory of your OpenSSL 1.1.0 binary. Use--gn_gen
to generate args.gn during the first build or when you change thessl_root
path.
- Run
gclient sync
. It may take a long time to download a large amount of data. - Build OWT iOS SDK with
scripts\build.py
.
- Replace the last line of .gclient with target_os=["android"]
- Run gclient sync. It may take a long time to download large amount of data.
- Build libwebrtc for OWT Android SDK with scripts/build_android.py.
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:
- Make sure your patch will not break anything, including all the build and tests.
- Submit a pull request to Pull Requests.
- Watch your patch for review comments, if any, until it is accepted and merged.
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.
Use the "Issues" tab on Github.