The Internet of Things on AWS – Official Blog

Choose the right AWS video service for your use case

Today, customers rely on video enabled data, audio data and time-encoded data for many use cases, including live streaming, home security, video on demand, predictive maintenance in industrial settings or doing peer video chats at work. Many organizations and consumers are embracing video enabled technology to improve their professional and personal interactions. The result is a rapid growth in the number and type of use cases including video integrated with AI/ML, interactivity and content protection.

This blog post will provide an overview of each AWS video service along with common use cases which will help you make an informed decision about which solution is the right one for you.

To meet the growing and diverse needs of different video use cases, AWS offers four video services which include Amazon Kinesis Video Streams, the AWS Elemental Media Services, Amazon Interactive Video Streaming, and Amazon Chime.

Service

Description

Characteristics

Use Case

Kinesis Video Streams

Fully managed service

to securely stream video

from connected devices

to AWS for analytics,

machine learning (ML), playback, and other

processing

Many to one • Predictive Maintenance
• Smart Cities
• Smart Homes
Kinesis Video Streams WebRTC

Fully managed service to

live stream media or

perform two-way audio

or video interaction

Two way interactive video and audio • Telehealth and virtual care
• Real time media streaming in Connected Cars and V2X
• Augment customer experience
AWS Elemental Media Services

Broadcast-grade live video

processing services that

incorporate many solutions

One to many • Primary broadcast distribution
• Live OTT video streaming
Amazon IVS

Managed live streaming

solution that is quick

and easy to set up, and

ideal for creating interactive

video experiences

One to many • Social chat with streaming content
• Votes and Polls
• E-commerce and alternative revenue
Amazon Chime

Communications service

that lets you meet, chat,

and place business calls

inside and outside your

organization, all using a single application

One to one or one to many • Business chat
• Audio and video conference
• Online meetings

Amazon Kinesis Video Streams

Kinesis Video Streams, together with AWS IoT, makes it easy for customers to build video enabled products and services, for solutions that can be deployed in smart cities, smart homes, industrial automation, digital twin use cases and of course a lot more.

Kinesis Video Streams provides Software Development Kits (SDKs) that you can download and install on your connected camera device to securely stream video and audio data to Kinesis Video Streams for analytics and storage. The SDKs, which are available for popular device-oriented development environments, receive data from the device’s media source and manage the entire lifecycle of the stream as it is transmitted from the media source to the Kinesis video stream.

Neosperience is using Kinesis Video Streams to simplify their video streaming requirements and to integrate with AI/ML.

How Amazon Kinesis Video Streams Works.

Common use cases for Kinesis Video Streams

Industrial automation – predictive maintenance
Industrial Automation Predictive Maintenance use case with AWS
Smart cities – AMBER alert system                                                                                                                                                                                                                                              Smart Cities Amber Alert Use Case with AWS
Smart home – pet monitor
Smart Home Pet Monitor Use Case with AWS

 

Amazon Kinesis Video Streams with WebRTC

Kinesis Video Streams also supports real-time media streaming via WebRTC. WebRTC is an open-source project that incorporates the required technology for real time communication (RTC) of audio, video and data in web and native apps via APIs. WebRTC is supported on all major browsers on desktops, laptops, tablets and smart phones. Libraries supporting WebRTC make it straightforward to add WebRTC support to a mobile phone or desktop app without the need of custom plugins. Media streams are secure and encrypted with Secure Real Time Protocol (SRTP).

WYZE is using Kinesis Video Streams with WebRTC to accelerate their live streaming capabilities.

Live Video Streaming workflow with Amazon Kinesis Video Streams with WebRTC                                                                                                                                                Live Video Streaming workflow with Amazon Kinesis Video Streams with WebRTC       

Kinesis Video Streams provides a standards-compliant WebRTC implementation as a fully managed capability. You can use Kinesis Video Streams with WebRTC to securely live stream media or perform two-way audio or video interaction between any camera IoT device and WebRTC-compliant mobile or web players. As a fully managed capability, you don’t have to build, operate, or scale any WebRTC-related cloud infrastructure, such as signaling or media relay servers to securely stream media across applications and devices.

Using Kinesis Video Streams with WebRTC, you can easily build applications for live peer-to-peer media streaming, or real-time audio or video interactivity between camera IoT devices, web browsers, and mobile devices for a variety of use cases. Typical use cases include interactive video and audio between a video doorbell or baby monitor or your automobile and your mobile phone, video chat and peer-to-peer media streaming. Some advanced automotive use-cases include: a) high-definition sensor sharing – AV lane change, b) see-through for pass maneuvers, c) tele-operated driving, d) obstructed view assist, e) infrastructure assisted environment perception (requirements from 5G Automotive Association).

 

Comparison of Kinesis Video Streams with WebRTC and Kinesis Video Streams

Kinesis Video Streams with WebRTC is for real time communication, which is defined as sub-second latency and 2-way communication. Kinesis Video Streams with WebRTC current implementation supports 1:1 or 1:N scenarios. For 1 to N communication, each stream is unique. You cannot ingest data into the cloud for storage or processing through this capability. Kinesis Video Streams can ingest audio and video and throttles based on the number of fragments requested rather than the number of playback sessions. This gives developers the flexibility to enable up to 10x more simultaneous playback sessions for applications that use Kinesis Video Streams for live or on-demand playback. Kinesis Video Streams HTTPS streaming capability supports use cases that require streaming data into AWS ( supported by the video stream ARN) for storage and processing – live and on-demand playback via HLS/DASH, and real-time or batch-mode processing for machine learning. The ingestion path is supported by the

Kinesis Video Streams producer SDKs that are available in Java, C/C++, and for Android. The best case live playback latency in this case can range between 3-6 second depending on device capabilities, a limitation that stems from HLS and DASH being fragment based protocols. For adaptive bitrate streaming that would define a decode ladder to adjust to various bandwidths and screen sizes, please refer to the following blog post (https://aws.amazon.com/blogs/media/introducing-automated-abr-adaptive-bit-rate-configuration-a-better-way-to-encode-vod-content-using-aws-elemental-mediaconvert/).

Common use cases for Kinesis Video Streams with WebRTC

Video chat using Kinesis Video Streams with WebRTC                                                                                                                                                                                                          This diagram shows how Video chat using Kinesis Video Streams with WebRTC works.

Telehealth and virtual care in the cloud: COVID-19 pandemic has highlighted the fundamental importance of providing non-COVID-19 related outpatient and inpatient care in clinical settings without exposing patients and health care providers to the virus.

Because WebRTC is a protocol that allows applications to connect to each other in a Peer-to-Peer fashion, there is no intermediary server transferring data between the two parties once the connection is established through the signaling process. Confidential information is never stored in the cloud and patient information is encrypted in transit over the internet.

Real time media streaming in connected cars and vehicle to everything (V2X): V2X is a term that refers to high-bandwidth, low latency, and highly reliable communication between vehicle to vehicle (V2V) and vehicle to infrastructure (V2I) communications. If a vehicle is involved in an accident, the vehicle can live stream the feed on WebRTC while using location awareness so emergency services can call for help as necessary.

There is a new concept emerging called road side units (RSU’s) and when vehicles approach that geographical zone as defined on a map, information is sent to them using the cellular network. RSU cameras can capture video and turn it into a regular webRTC flow that provides a high perspective of the environment such as parked vehicles or road obstacles. Because this transformation does not require transcoding, it has a low processing load and lossless conversion.

In the sharing economy, number anonymity creates a secure, professional barrier in the un-traditional business models at play. With webRTC, ridesharing companies can replace phone masking with the feature of VOIP calling Contextual applications to augment customer experience within websites and applications as a tool for sales enablement.

WebRTC provides a seamless, non-invasive way to connect and collaborate. Massive files can be shared using the webRTC’s data channel with very low latency and the benefit of full encryption between the two end points.

AWS Elemental Media Services

AWS Elemental Media Services provide our broadcast-grade live video processing functionality. The combination of services lets you create high-quality video streams for delivery to broadcast televisions and internet-connected multi-screen devices, like connected TVs, tablets, smart phones, and set-top boxes. For example, AWS Elemental MediaLive works by encoding your live video streams in real-time, taking a larger-sized live video source and compressing it into smaller versions for distribution to your viewers.

DishTV are using the AWS Elemental Media Services and the AWS cloud to create “sticky” customer experiences, improve engagement and reduce churn.

Diagram showing How AWS Elemental Media Services Works. First you have source content. Then AWS Elemental MediaLive channel converts redundant live inputs into two streams instead of multiple compressed outputs, based on output group configuration. Destination A is AWS Elemental MediaStore. Destination B is AWS Elemental MediaPackage. Both are for origination and packaging. Finally Amazon Cloudfront and/or other CDNs deliver video to output devices.
Common use cases for AWS Elemental Media Services

Primary broadcast distribution                                                                                                                                                                                                                                                        How Primary broadcast distribution Works with AWS Elemental Services. First you have Broadcast Video Sources for live video and media files played out with source files in Amazon S3. Then AWS Elemental MediaLive has statistical multiplexing. Multiple MediaLive channels produce Single-Program Transport Streams (SPTS), each controlled by MediaLive Statmux and output as variable bitrate. The statistical multiplexer analyses incoming channels that comprise the output Multi-Program Transport Stream (MPTS), distributing bitrate across all SPTS channels to produce the best quality broadcast content in the available MPTS bandwidth.
Live OTT video streaming optimized for low end-to-end latency
Diagram showing how Live OTT video streaming optimized for low end-to-end latency works. From the source, AWS Elemental Live will do live video processing and contains an on-premises encoder. AWS Elemental MediaStore has media-optimized storage and origin. Amazon Cloudfront has a content distribution network. You can then deliver to multiple OTT devices.

Amazon Interactive Video Service

Amazon IVS is a managed live streaming solution that is quick and easy to set up, and ideal for creating interactive video experiences. Send your live streams to Amazon IVS using streaming software and the service does everything you need to make low-latency live video available to any viewer around the world, letting you focus on building interactive experiences alongside the live video. You can easily customize and enhance the audience experience through the Amazon IVS player SDK and timed metadata APIs, allowing you to build a more valuable relationship with your viewers on your own websites and applications.

ViacomCBS are using Amazon IVS to serve their users in a faster and more flexible way than ever before.

This is a diagram showing How Amazon Interactive Video Service (Amazon IVS) Works. First, you use streaming software to send a video stream to the Amazon IVS ingest endpoint and use the player SDK for web, iOS, and Android to build engaging live video streaming applications.

Common use cases for Amazon IVS

Common use cases for Amazon IVS are to engage your audience with social chat, e-commerce and alternative revenue, votes and polls, and real-time Q&A.

Amazon Chime

Amazon Chime is a communications service that transforms online meetings with an application that is secure and comprehensive. Amazon Chime works across your devices so that you can stay connected and allows you to share your desktop or video during a work meeting or conference. The service has been built with the capabilities and functionality, such as flexibility to completely customize end user experience and multi party video options, required to make these types of interactions of a high quality.

Connexity Inc leverages Amazon Chime for their video conferencing needs.

Common use cases for Amazon Chime

Common use cases for Amazon Chime are online meetings, audio and video conferencing, business chat, and user administration.

Summary

More customers across all industries are using video services to drive new ways to engage and connect with each other. Now that you know the benefits and use cases for each services, you can choose the right AWS video service to enable you to deliver great quality video to your internal teams, customer organizations, and home users alike.

This image shows the right AWS video service for your use case that will enable you to deliver great quality video to your internal teams, customer organizations, and home users alike

Use the comparison chart at beginning of the blog to help you select the most suitable video service for your needs. Rather than investing effort on managing IoT and media streaming infrastructure, you can focus on core competencies and accelerate your time to value.

To learn more about the services and start building, explore the following articles, sample applications, and workshops.

https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-js
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java
https://video-streaming-and-analysis.workshop.aws/en/
https://ivs-streaming.workshop.aws/en/
https://aws.amazon.com/blogs/media/part1-how-to-set-up-a-resilient-end-to-end-live-workflow/