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.
Common use cases for Kinesis Video Streams
Industrial automation – predictive maintenance
Smart cities – AMBER alert system
Smart home – pet monitor
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
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://thinkwithwp.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
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.
Common use cases for AWS Elemental Media Services
Primary broadcast distribution
Live OTT video streaming optimized for low end-to-end latency
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.
Common use cases for Amazon IVS
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
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.
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://thinkwithwp.com/blogs/media/part1-how-to-set-up-a-resilient-end-to-end-live-workflow/