Java Clean Architecture Masterclass

Java Clean Architecture MasterclassNov 20-21

Join

Build Status Maven Central

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.11.0</version>
</dependency>

Gradle

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

Supported Platforms

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

x64 arm arm64
Linux ✔ ✔ armeabi-v7a ✔ arm64-v8a
macOS ✔ - ✔
Windows ✔ - -

The native libraries were built using the m134 (6998) WebRTC branch as the stable release, dated Tuesday, March 4, 2025.

Build Notes

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 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 20 GB of disk space.

Build Parameters

Parameter Description Default Value
webrtc.branch The WebRTC branch to checkout. branch-heads/6998
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

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.