Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devopvoid/webrtc-java
WebRTC for desktop platforms running Java
https://github.com/devopvoid/webrtc-java
desktop java jni webrtc
Last synced: 6 days ago
JSON representation
WebRTC for desktop platforms running Java
- Host: GitHub
- URL: https://github.com/devopvoid/webrtc-java
- Owner: devopvoid
- License: apache-2.0
- Created: 2019-11-29T16:41:25.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-22T15:09:56.000Z (20 days ago)
- Last Synced: 2024-12-29T06:03:06.022Z (13 days ago)
- Topics: desktop, java, jni, webrtc
- Language: C++
- Homepage:
- Size: 833 KB
- Stars: 272
- Watchers: 16
- Forks: 63
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-webrtc - webrtc-java - WebRTC for desktop platforms running Java. (Miscellaneous / Tool)
README
[![](https://github.com/devopvoid/webrtc-java/actions/workflows/build.yml/badge.svg)](https://github.com/devopvoid/webrtc-java/actions/workflows/build.yml)
[![](https://img.shields.io/maven-central/v/dev.onvoid.webrtc/webrtc-java.svg?label=Maven%20Central&logo=apache-maven)](https://search.maven.org/search?q=g:%22dev.onvoid.webrtc%22%20AND%20a:%22webrtc-java%22)## webrtc-java
Java native interface implementation based on the free, open [WebRTC](https://webrtc.org) 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](https://webrtc.github.io/webrtc-org/native-code/native-apis) and is similar to the [JS API](https://w3c.github.io/webrtc-pc).
### Maven
```xml
dev.onvoid.webrtc
webrtc-java
0.9.0```
### Gradle
```groovy
implementation "dev.onvoid.webrtc:webrtc-java:0.9.0"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.9.0", classifier: "windows-x86_64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.9.0", classifier: "macos-x86_64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.9.0", classifier: "macos-aarch64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.9.0", classifier: "linux-x86_64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.9.0", classifier: "linux-aarch64"
implementation group: "dev.onvoid.webrtc", name: "webrtc-java", version: "0.9.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
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 `//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. | /\/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. | /\/webrtc/build |