This is the Nabto WebRTC Signaling SDK for android. This repository contains the core signaling library, utils and an example app.
The libraries in this repository can be used together with the Nabto WebRTC Signaling Service and a WebRTC library. This way it is possible to create an application which streams video from an IoT device such as a camera.
Contents of this repository:
core: Thecom.nabto.webrtc.corepackage which implements the nabto WebRTC core signaling client.util: Thecom.nabto.webrtc.utilpackage which implements generic utilities used when creating a WebRTC connection.util-org-webrtc: The com.nabto.webrtc.util.org.webrtc package, this package has utilities which are specific to applications using the org.webrtc packages to create a WebRTC connection such as https://github.com/GetStream/webrtc-android or https://github.com/webrtc-sdk/androidapp: A simple example app using these libraries to showcase how to make a WebRTC connection to a Nabto WebRTC Signaling Device.
- copy app/options.properties.default to app/options.properties and insert real productid, deviceid and shared secret configuration.
- run the app.
A test video feed can be started at https://nabto.github.io/nabto-webrtc-sdk-js/
settings.gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}build.gradle
dependencies {
implementation 'com.github.nabto.nabto-webrtc-sdk-android:core:<gittag>'
implementation 'com.github.nabto.nabto-webrtc-sdk-android:util:<gittag>'
implementation 'com.github.nabto.nabto-webrtc-sdk-android:util-org-webrtc:<gittag>'
}settings.gradle.kts
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}build.gradle.kts
dependencies {
implementation("com.github.nabto.nabto-webrtc-sdk-android:core:<gittag>")
implementation("com.github.nabto.nabto-webrtc-sdk-android:util:<gittag>")
implementation("com.github.nabto.nabto-webrtc-sdk-android:util-org-webrtc:<gittag>")
}- run the integration test server from https://github.com/nabto/nabto-webrtc-sdk-js/tree/main/integration_test_server
- generate openapi test stubs. ./gradlew openApiGenerate this should only be ran if the openapi specification has been updated in the integration test server.
- run the integration test server from above.
- specify an url where the integration test server is reachable in project.properties.local
- run ./gradlew core:connectedAndroidTest