By using AWS re:Post, you agree to the Terms of Use
/AWS IoT Greengrass (V2) and Video Streaming/

AWS IoT Greengrass (V2) and Video Streaming



The use case I have is this -

There are two types of AWS IoT Greengrass V2 core devices that are implemented, which are connected (in the same private LAN network) in hub and spoke architecture. None of them are connected to client devices (Greengrass is being used because of its IPC and orchestration benefits):

  1. [Spoke] AWS IoT Greengrass V2 core device is directly attached to a camera. The Video stream is sent to an Hub AWS IoT Greengrass V2 core device for ML processing (inference) that must be near-real time.
  2. [Hub] AWS IoT Greengrass V2 core device that is processing and Fan-Out video streams: A) to ML inference interface (local component of the hub) B) to Kinesis Firehose (S3; to re-train the model) C) AWS Kinesis Video Stream (for human to view the video online)

I have a couple of questions:

  1. Is the architecture feasible? Make sense?
  2. What is the best (performance and security wise) technology (open source, AWS component, protocol) to use in Spoke and Hub devices to send the video stream from the spokes to the hub (the video has to be high quality with minimal/no compression to keep the inference accuracy high)?
  3. Can the Stream Manager component of AWS IoT Greengrass V2 core send (Hub) streams in fun-out mode (e.g., to two different destinations concurrently, AWS Kinesis Firehose and AWS Kinesis Video Streams)?

Thank you, Yossi

1 Answers


  1. The Hub and Spoke architecture is feasible and makes sense. Have a look at - AWS IoT Greengrass device connectivity.
  2. The protocols should be selected according to the video feeds you have and the HW you use. Review and for additional ideas.
  3. It's possible to run multiple components that will do the requested tasks. However, suggest to use the pattern of sending to AWS and fan-out from there. This will address the upload bandwidth, the resources on the hub device and ease with consistency of the delivered data.
answered a month ago
  • Thank you Vlad. Please note that question #1 is about Hub-and-Spoke of Greengrass Core devices, they are all running on-premise. I could not find any reference to a similar configuration, hence my question. For example, is there an out-of-the-box method to connect (network-wise) multiple Greengrass V2 Core devices? I will implement discovery API if there is none.

    Regarding question #2 - the Panorama design is interesting but slightly different than mine. The 'client-device' in my case is a smart device with multiple input channels and logic. How can I effectively stream video (e.g., H264) from one Greengrass Core device to another?

    Regarding question #3 - just to clarify - the idea is to use one component, the Greengrass V2 Core Device stream manager, to stream to multiple destinations at the same time, does the stream manager supports that?

    Thanks a lot! Yossi

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