Skip to content

Live video streaming using EC2 and esp32-s3-eye

1

Hi,

I'm trying to make a live stream from an ESP32-S3-EYE device, I created an EC2 instance and I'm using nginx to make the transmission with rtmp protocol, I don't know if it's the best way to make video transmissions and I'm developing the firmware project in Arduino IDE which doesn't have a native rtmp library, that's why I don't know if I'm on the right track, I'm trying to get many devices to be able to transmit at the same time.

Is what I'm doing a good option?

2 Answers
0

While your approach using an EC2 instance with nginx for RTMP streaming can work, it may not be the most efficient or scalable solution for live streaming from multiple ESP32-S3-EYE devices. AWS offers more specialized services that are better suited for this use case.

For live streaming from IoT devices like the ESP32-S3-EYE, Amazon Kinesis Video Streams is a more appropriate and managed solution. It's designed to handle real-time video streaming from a large number of devices and offers several advantages:

  1. Scalability: Kinesis Video Streams can handle multiple concurrent streams from numerous devices without you having to manage the infrastructure.

  2. SDK Support: Kinesis Video Streams provides SDKs for embedded devices, which could be more suitable for your ESP32-S3-EYE than trying to implement RTMP in Arduino IDE.

  3. Integration with other AWS services: It's easier to integrate with other AWS services for processing, storage, or playback of your video streams.

  4. WebRTC Support: If you need low-latency, two-way communication, Kinesis Video Streams supports WebRTC, which could be beneficial for your use case.

To implement this, you would need to:

  1. Create a Kinesis Video Stream for each of your ESP32-S3-EYE devices.
  2. Use the Kinesis Video Streams SDK for embedded devices to stream video from your ESP32-S3-EYE.
  3. For viewing the streams, you can use the Kinesis Video Streams console, or integrate the streams into your own application using the Kinesis Video Streams Media Viewer.

This approach would be more scalable and manageable than setting up your own RTMP server on EC2, especially when dealing with multiple devices streaming simultaneously. It also provides a more robust, AWS-native solution for your live streaming needs.
Sources
Stream live media (SDKs) - Kinesis Video Streams
Build a Cloud Gateway to Ingest RTSP video to Amazon Kinesis Video Streams | The Internet of Things on AWS – Official Blog

answered 2 years ago

  • How would an implementation with ESP32-S3 with Arduino IDE using WebRTC ?

0

Hi, any custom solution is eventually good if it follows software developer/devOps/security best practices. 

But if you want to offload the overhead of installing the software (at least server-side), I suggest checking AWS native managed services. Kinesis Video Stream was already mentioned by the bot. You can also check AWS Elemental Media Live or Amazon Interactive video services https://aws.amazon.com/ivs/ https://aws.amazon.com/medialive/

AWS

answered 2 years 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.