WebRTC for desktop platforms running Java
Go to file
2023-11-28 13:52:21 +01:00
.github Updated action runners 2023-10-14 09:16:46 +00:00
webrtc Prepare for next development iteration 2023-10-14 11:28:35 +02:00
webrtc-jni Revert version of cmake-maven-plugin for compatibility with older maven 2023-11-28 13:52:21 +01:00
.gitignore Add dynamic libraries to .gitignore 2019-12-30 20:54:43 +01:00
CHANGELOG.md Updated CHANGELOG and README 2023-10-14 13:59:41 +02:00
LICENSE Updated WebRTC license URL 2020-01-29 17:18:28 +01:00
NOTICE Updated WebRTC license URL 2020-01-29 17:18:28 +01:00
pom.xml Updated maven plugin versions. 2023-11-27 16:34:21 +01:00
README.md Update README.md with Linux ARM architectures 2023-10-29 22:44:16 +01:00

webrtc-java

Java native interface implementation based on the free, open WebRTC project. The goal of this project is to enable development of RTC applications for desktop platforms running Java. This project wraps the WebRTC Native API and is similar to the JS API.

Maven

<dependency>
    <groupId>dev.onvoid.webrtc</groupId>
    <artifactId>webrtc-java</artifactId>
    <version>0.8.0</version>
</dependency>

Gradle

implementation "dev.onvoid.webrtc:webrtc-java:0.8.0"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.8.0", classifier: "windows-x86_64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.8.0", classifier: "macos-x86_64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.8.0", classifier: "macos-aarch64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.8.0", classifier: "linux-x86_64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.8.0", classifier: "linux-aarch64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.8.0", classifier: "linux-aarch32"

Supported Platforms

Maven Central artifacts contain native libraries that can be loaded on the following platforms:

Linux x86_64, arm64, arm32
macOS x86_64, arm64
Windows x86_64

The native libraries were build with WebRTC branch M99/4844.

Build Notes

In order to build the native code, be sure to install the prerequisite software (follow the links):

Note: You don't have to install the Depot Tools, the build script will do that for you.

Linux Debian & Ubuntu, other distros
macOS Xcode 9 or higher
Windows Visual Studio

Assuming you have all the prerequisites installed for your OS, run:

mvn install

On the first run, the WebRTC source tree will be loaded into the /<user home>/webrtc directory. This will take a while and require about 18 GB of disk space.

Build Parameters

Parameter Description Default Value
webrtc.branch The WebRTC branch to checkout. branch-heads/4844
webrtc.src.dir The absolute checkout path for the WebRTC source tree. /<user_home>/webrtc
webrtc.install.dir The install path for the compiled WebRTC library. Is also used to link against a pre-compiled WebRTC library to reduce build time. /<user_home>/webrtc/build