You could consider using AWS Elemental MediaLive service. It is a broadcast-grade live video processing service. It lets you create high-quality video streams for delivery to broadcast televisions and internet-connected multiscreen devices, like connected TVs, tablets, smart phones, and set-top boxes. The service 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. With AWS Elemental MediaLive, you can easily set up streams for both live events and 24x7 channels with advanced broadcasting features, high availability, and pay-as-you-go pricing.
MediaLive allows you to ingest live stream directly from your source feed. In MediaLive, you create inputs and channels where you attach these inputs and define outputs. I have described both in detail below :
1. Inputs : An input specifies how the source feed and MediaLive channel are connected. For example, you can create a RTMP Push input which means your source encoder/streaming application will use the RTMP protocol to push stream to MediaLive channel
2. Channels : A channel contains the details that instruct MediaLive how to transcode (decode and encode) and package the inputs into specific outputs. For example, you can configure a MediaLive channel to produce output with different resolutions and bitrates. You also define where the MediaLive pushed the output too. For example, you can choose to push the output to a packaging system like AWS Elemental MediaPackage which can package the live stream into either HLS, DASH or CMAF format and provide an endpoint for distribution. This endpoint can then be used by viewers for playback in a player.
In Summary, a typical live streaming workflow looks like the following :
Source Encoder/streaming application -> MediaLive->MediaPackage->Viewer
For details on how to use MediaLive and various components involved, please see : https://docs.aws.amazon.com/medialive/latest/ug/how-medialive-works-channels.html
For details on MediaPackage, please see : https://docs.aws.amazon.com/mediapackage/latest/ug/what-is.html
I would request you go through the documentation provided and please let me know if MediaLIve is something you would be interested in and we can then go into specific details. Also, I would recommend getting started with MediaLive by implementing the following workflow :