Guidance for Deploying Smart Cameras Using Amazon Kinesis Video Streams with WebRTC
Overview
This Guidance demonstrates how to use Amazon Kinesis Video Streams with WebRTC to enable low-latency, bi-directional, peer-to-peer video streaming from home surveillance cameras. Kinesis Video Streams, a managed service for real-time video processing, can store video and other media files for replay and analytics, while WebRTC facilitates direct, low-latency connections between the camera and client applications. This Guidance allows seamless, responsive home monitoring from mobile devices or web browsers, as the peer-to-peer WebRTC connection minimizes latency and bandwidth compared to traditional client-server streaming. It also includes sample applications with the included software development kit (SDK). Camera manufacturers and connected home providers can use the SDK as a starting point to build custom camera management and viewing experiences. This helps them to more easily integrate high-quality, low-latency video capabilities into their connected home offerings and provides consumers with a reliable home monitoring experience.
How it works
Live View Smart Home Surveillance Cameras
This architecture diagram shows how use Kinesis Video Streams for WebRTC, allowing for the low-latency, bi-directional, peer-to-peer streaming of video from home surveillance cameras.

Smart Home Surveillance Camera
This architecture diagram shows how to stream video from smart home cameras to Kinesis Video Streams for storage, playback, and analytics. It also shows how to send push notifications to mobile application users to notify them of events.

Well-Architected Pillars
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
Additional Resources
These additional resources can assist in the development of both camera-side applications as well as web and mobile applications. Included are links to the associated GitHub repositories containing example applications.
Amazon Kinesis Video Streams
This developer guide provides an overview of the C++ Producer Library for Amazon Kinesis Video Streams, including the key objects, features, and a 3-step procedure to use the SDK. |
|
This developer guide provides a step-by-step guide on how to set up and use the Amazon Kinesis Video Streams C++ Producer SDK on a Raspberry Pi device. |
|
This developer guide provides an example for how to use HTTP Live Streaming (HLS) to view Kinesis Video Streams, including how to retrieve an HLS streaming session URL, display the stream in a web page using various players, and troubleshoot common HLS playback issues. |
Amazon Kinesis Video Streams WebRTC
This developer guide provides instructions on how to download, build, and run the Kinesis Video Streams with WebRTC SDK in C for embedded devices, including details on supported codecs and sample applications. |
|
This developer guide provides instructions for installing, using, and customizing the Kinesis Video Streams with WebRTC SDK in JavaScript for web applications. |
|
These examples includes a framework for building mobile applications with WebRTC capabilities for Android and iOS, as well as integration with Amazon Kinesis Video Streams to enable real-time video streaming. |
Disclaimer
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages