• This repository has been archived on 15/May/2023
  • Stars
    star
    97
  • Rank 348,505 (Top 7 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android Things video call sample app using WebRTC

This Android Things sample app demonstrates how to establish WebRTC video call. It's based on the original WebRTC Android sample, slightly modified to easily run on Android Things devices. For simplicity it creates a WebRTC room with a random ID, which is shown on display and in logcat, and then auto-joins the room on boot. Now this room can be joined to establish a video call connection from either a web client at https://appr.tc or an Android client running the original WebRTC sample by entering the same room ID.

Two WebRTC clients need to exchange session description when establishing video call connection via a signal server. This sample uses a hosted version of the WebRTC signaling server. Please refer to https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ for more information on WebRTC signaling.

Note: The Android Things Console will be turned down for non-commercial use on January 5, 2022. For more details, see the FAQ page.

Pre-requisites

  1. Android Things compatible boards e.g. Raspberry Pi 3 or NXP boards
  2. Android Things compatible camera (for example, the Raspberry Pi 3 camera module)
  3. Android Studio 3+

WebRTC-specific dependencies

This sample has the following dependencies but they are either already included or directly linked so that no additional steps are necessary.

Build and Run

Build this app in Android Studio and run it on an Android Things board:

  • Deploy and run the app module, which creates and joins a room with random ID
  • The room ID will be shown on the display and on logcat. Take note of it, so that you can join the room with another device

Join the room from another WebRTC client:

  • From a web browser, go to https://appr.tc and enter the same room ID shown on the Android Things display, or
  • Use one of the native webRTC samples, like Android or iOS app and enter the room ID to join

Categories

  • Android Things

Solutions

  • IoT

Languages

  • Java

License

See LICENSE

More Repositories

1

sample-tensorflow-imageclassifier

Classify camera images locally using TensorFlow models
Java
623
star
2

contrib-drivers

Open source peripheral drivers
Java
559
star
3

sample-googleassistant

Google Assistant API sample for Android Things
Java
467
star
4

doorbell

Cloud-based photo doorbell with companion app
Java
297
star
5

new-project-template

Java
263
star
6

weatherstation

Sensor-based peripheral sample using Android Things
Java
213
star
7

sample-bluetooth-le-gattserver

Build a Bluetooth GATT server with Android Things
Java
205
star
8

sample-simplepio

Basic Peripheral I/O examples with Android Things
Java
190
star
9

sample-bluetooth-audio

Bluetooth A2DP sample using Android Things
Java
161
star
10

drivers-samples

Peripheral driver samples
Java
153
star
11

sample-simpleui

Connect GPIO states with a graphical UI on Android Things
Java
120
star
12

sample-button

Basic input and output using a button and LED
Java
104
star
13

sample-usbenum

Discover connected devices using the Android USB Host APIs
Java
98
star
14

sample-uartloopback

Echo received characters over a UART with Android Things
Java
78
star
15

sensorhub-cloud-iot

Sensor-based data collection device publishing to Cloud IoT Core
Java
71
star
16

sample-nativepio

Basic Peripheral I/O examples in C/C++ with Android Things
C++
48
star
17

edison-candle

Production sample using Android Things
Java
43
star
18

photobooth

Cloud-connected talking photobooth using TensorFlow
Java
40
star
19

cloud-iot-core-androidthings

Java
34
star
20

robocar

Android Things robot car controlled by a companion app using local Nearby APIs
Java
32
star
21

sample-lowpan

Discover and connect to Thread mesh networks on Android Things
Java
27
star
22

native-libandroidthings

NDK library for exposing Peripheral I/O APIs in C/C++
C
26
star
23

sample-updatemanager

Configure and control OTA updates on Android Things
Java
17
star
24

experiment-expression-flower

Java
15
star
25

native-new-project-template

CMake
12
star
26

sample-pio-app

Kotlin
4
star
27

snippet-cookbook

Java
3
star
28

endtoend-base

Kotlin
1
star