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.
<dependency>
<groupId>dev.onvoid.webrtc</groupId>
<artifactId>webrtc-java</artifactId>
<version>0.8.0</version>
</dependency>
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"
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.
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.
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 |