How to set KVS-WebRTC as an input for MediaLive?

0

I'm using Kinesis Video Streams with WebRTC for a live streaming application and planning to add MediaLive -> S3 -> CloudFront workflow to it. I'm using the JS SDK for WebRTC but I can only see methods for MediaStore. Can I use WebRTC with MediaLive directly without using MediaStore? Thanks.

2 Answers
1

Hi, To use Kinesis Video Streams with WebRTC as an input for MediaLive, follow these steps:

  • Using the AWS Management Console or the AWS SDK, create a signaling channel in Kinesis Video Streams with WebRTC. A signaling channel is a resource that allows programs to use signaling messages to discover, set up, control, and terminate a peer-to-peer connection.
  • Use the Kinesis Video Streams WebRTC SDKs to connect to the signaling channel as a master or a viewer. These are software libraries that you may download, install, and configure on your devices and application clients to enable your WebRTC-capable camera IoT devices to engage in low-latency peer-to-peer media streaming.
  • Ingest the media stream from the WebRTC peer into a Kinesis video stream using the Kinesis Video Streams Producer SDKs or the GStreamer plugin. These are software libraries for capturing, processing, and sending video and audio data via Kinesis Video Streams.
  • Assign a Kinesis video stream as the input source to a MediaLive channel. To build and configure a MediaLive channel, utilize the AWS Management Console or the AWS SDK. For the Kinesis video stream input, you must give the stream name, stream ARN, and AWS credentials.
  • Launch the MediaLive channel and keep an eye on the output stream. To start and terminate the MediaLive channel, utilize the AWS Management Console or the AWS SDK. You may also utilize CloudWatch metrics and alerts to monitor the channel's health and performance.

I hope this answer helped you with your question. 😊

profile picture
answered 7 months ago
0

AWS MediaLive does not accept WebRTC as an input. Any Kinesis Video in WebRTC format will need to be converted to one of the following stream formats:

  • HLS Push or HLS Pull
  • RTMP/RTMPS
  • RTP

These conversions could be cumbersome.

An alternative may be to use the KVS WebRTC stream as an input to the Amazon Interactive Video Stream (IVS), via the Stages input, which uses WebRTC. Amazon IVS does provide a translation between the Stages inputs and an HLS stream. The HLS is offered as a real time stream. This HLS stream can also be recorded to S3.

https://aws.amazon.com/about-aws/whats-new/2023/03/amazon-ivs-multiple-hosts-live-streams/ https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/getting-started-create-stage.html https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html

AWS
Mike-ME
answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions