GstKinesisWebRTC: Overview of Amazon Kinesis Video Streams with WebRTC

From RidgeRun Developer Wiki


Previous: Context Overview/WebRTC Index Next: Description






What is Amazon Kinesis Video Stream with WebRTC?

Amazon offers a fully managed AWS service called Amazon Kinesis Video Streams that can be used to stream live video from devices to the AWS Cloud or build real-time video processing or video analytics. This service also incorporates a standards-compliant WebRTC implementation, so you can use Amazon Kinesis Video Streams with WebRTC to securely live streaming media, and perform two-way audio and video interaction between any camera IoT device and WebRTC compliant mobile or web players. The WebRTC support is fully managed, it already includes signaling and media relay servers, you don’t need to extend or build any WebRTC-related cloud infrastructure.

Basic Concepts

Peer

Any device or application that is configured for real-time, two-way streaming through a Kinesis Video Streams with WebRTC.

Signaling Channel

A resource to handle peer connections. Each peer can connect to a signaling channel allowing it to be discovered by other peers, can terminate the connection, and can set up and control the peer-to-peer connection by exchanging signaling messages. The signaling messages are metadata that the peers exchange in order to establish peer-to-peer connectivity, like local media information and possible network candidates. The signaling channel allows applications to connect with each other in a one to few model, using the concepts of master and viewer (see below). An application initiates the signaling channel connection and then up to 10 applications can connect to that signaling channel.

Master

A peer that initiates the connection and is connected to the signaling channel, with the ability to discover and exchange media with any of the other connected peers in the same signaling channel. A signaling channel can only have one master.

Viewer

A peer that connects to a signaling channel with the ability to discover and exchange media only with the signaling channel’s master. A viewer cannot discover or interact with other viewers. A signaling channel can have up to 10 connected viewers.

Components

Control plane

Component responsible for creating and maintaining the Kinesis Video Streams with WebRTC signaling channels.

Signaling

Component that manages the WebRTC signaling endpoints that allow applications to securely connect to each other to establish peer-to-peer live streaming.

STUN

Component manages STUN endpoints that enable applications to discover their public IP address when they are located behind a NAT or a firewall.

TURN

Component that manages TURN endpoints that enable media relay via the cloud when applications can't stream media peer-to-peer.

Kinesis Video Streams WebRTC SDKs

Software libraries that provide the APIs to add WebRTC capabilities to your application and engage in low-latency peer-to-peer media streaming. These SDKs also enable Android, iOS, and web application clients to integrate Kinesis Video Streams with WebRTC signaling, TURN, and STUN capabilities with any WebRTC-compliant mobile or web players.



Previous: Context Overview/WebRTC Index Next: Description