- Newest
- Most votes
- Most comments
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:
-
Scalability: Kinesis Video Streams can handle multiple concurrent streams from numerous devices without you having to manage the infrastructure.
-
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.
-
Integration with other AWS services: It's easier to integrate with other AWS services for processing, storage, or playback of your video streams.
-
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:
- Create a Kinesis Video Stream for each of your ESP32-S3-EYE devices.
- Use the Kinesis Video Streams SDK for embedded devices to stream video from your ESP32-S3-EYE.
- 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
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/
answered 2 years ago
Relevant content
asked 3 years ago
- AWS OFFICIALUpdated 3 years ago

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