Monday, June 5, 2023
HomeIoTIngesting industrial media to Amazon Kinesis Video Streams utilizing AWS IoT Greengrass...

Ingesting industrial media to Amazon Kinesis Video Streams utilizing AWS IoT Greengrass V2 parts


Organizations set up lots of of Web Protocol (IP) cameras to extend safety by surveilling indoor and outside areas. This can be a frequent want for manufacturing plant flooring throughout industries similar to automotive, industrial, Oil & Fuel, public security, and agri-tech. Corporations join cameras to the cloud to create a centralized view of their siloed knowledge and in addition so as to add digital twin capabilities to their services. On this put up, we’ll talk about the best way to use AWS IoT Greengrass V2 parts to package deal and deploy an Amazon Kinesis Video Streams stream uploader that may do live-streaming, on-demand video add, and native caching, thus facilitating use instances that require ingestion of dwell audio and video streams from pre-installed IP cameras.

Kinesis Video Streams is a totally managed AWS service that you should use to stream dwell video from units to AWS, construct functions for real-time video processing, carry out batch video analytics, and extra. You should utilize the Kinesis Video Streams service to ingest video and non-video knowledge from many various sources like smartphones, safety cameras, internet cameras, drones, thermal imagery, and audio. Not too long ago, we launched an AWS IoT Greengrass part for Kinesis Video Streams that permits you to stream media out of your current units. The sting connector for the Kinesis Video Streams part (aws.iot.EdgeConnectorForKVS) reads video feeds from native IP cameras utilizing Actual Time Streaming Protocol (RTSP) and publishes the streams to the Kinesis Video Streams endpoint.

Answer overview

An organization that develops good constructing options is interested by constructing an software that ingests lots of of video streams from the constructing entry, entry management areas, and safety gates. The corporate is likely to be trying to incorporate video feeds in to a digital twin software utilizing AWS IoT TwinMaker, together with utilizing the AWS IoT TwinMaker software plugin for Grafana dashboard to request importing of movies and checking historic video timelines.

It may be difficult to refactor the prevailing cameras to stream to an endpoint. As an alternative, you may deploy an AWS IoT Greengrass edge gateway and an AWS IoT Greengrass edge connector for Kinesis Video Streams part to ingest knowledge from these cameras. The part connects to IP cameras inside the identical community and streams the video feed to Kinesis Video Streams. On the consumption aspect, you should use an software to learn from the Kinesis Video Streams endpoint to behave as a shopper. This part helps options like edge video caching, scheduled video recording, scheduled video importing, dwell streaming, and historic video importing to Kinesis Video Streams. The sting connector part gives a totally working AWS IoT Greengrass V2 part for video ingestion that may be custom-made based mostly on wants.

The variety of cameras that may be related to this part per AWS IoT Greengrass hub relies on the compute energy of the underlying {hardware}, community bandwidth, and AWS IoT SiteWise youngster belongings used to retailer the configuration of the connector (presently this restrict is 2000, check with the documentation for particulars on youngster asset quotas). This structure assumes that there’s a steady community connection between the AWS IoT Greengrass system and AWS, with enough bandwidth for streaming the media.

Determine: Ingesting video feed from IP cameras utilizing AWS IoT Greengrass v2 parts

  1. Deployment of AWS IoT Greengrass Core on the edge system. This system will likely be liable for working the sting connector and interfacing with the cameras. The Greengrass Core software program could be deployed on a Linux system, similar to a Raspberry Pi or a Home windows system. This system will ultimately run the sting connector  Kinesis Video Streams part. Refer documentation for extra particulars on the best way to setup AWS IoT Greengrass.
  2. Set up GStreamer model 1.18.4 or afterward the sting system.
  3. As soon as the sting system is setup, use the AWS IoT Greengrass service to deploy the sting connector for Kinesis Video Streams part. Edit the configuration web page with the small print particular to your deployment. Refer documentation to be taught extra about the best way to deploy parts to AWS IoT Greengrass.
  4. As soon as the sting connector for Kinesis Video Streams part is deployed, the configuration for the part is saved in AWS IoT SiteWise and AWS Secrets and techniques Supervisor. AWS IoT SiteWise shops two forms of belongings: theEdgeConnectorForKVSHub asset accommodates the asset title that identifies the distinctive hub the place the connector is working and the EdgeConnectorForKVSCamera accommodates the properties particular to the cameras, like cron expression to begin streaming and recording. For particulars, refer the GitHub web page concerning the configuration parameters wanted for this service .
  5. The sting connector for Kinesis Video Streams ingests knowledge from the digicam feeds. There may be an possibility right here so as to add native storage in addition to stream them to the Kinesis Video Streams endpoint.
  6. On the shopper aspect, you may construct your individual customized functions to devour knowledge from the Kinesis Video Streams endpoint. For example, you may set off dwell streaming video while you detect a movement.

For detailed steps on implementing this structure and above steps, check with github documentation.

Detailed edge structure

Determine: Structure for ingesting IP video cameras feed in Amazon Kinesis Video Stream

The sting structure has three modules: controller, video recorder, and video uploader (see the earlier diagram). Whereas the default setting of the Kinesis Video Streams connector part is to stream the video, it has an optionally available performance of recording video on the file system for native storage. The controller acts as a dealer between the recorder and the uploader. It additionally facilitates communication between the 2. The controller first initiates a pair of piped enter and output stream objects. The video recorder retrieves stream knowledge from the digicam and places the info into the piped output stream. Lastly, the video uploader takes stream knowledge from the piped enter stream, then uploads the info to Kinesis Video Streams.

Scaling the answer

Subsequent, we’ll have a look at sizing and limits to see how the answer scales. Within the structure, the sting connector for Kinesis Video Streams part and Greengrass Core shouldn’t have any scaling limitations. As the answer makes use of AWS IoT SiteWise to handle the RTSP digicam configuration, the one onerous restrict is from the AWS IoT SiteWise youngster belongings quota, which is fewer than 2000 youngster belongings per father or mother asset. The variety of cameras that may be supported by the sting system/Hub solely relies on its {hardware} configurations. If there’s sufficient community bandwidth and {hardware} capability, the AWS IoT Greengrass system can assist extra cameras. From our inside testing, we examined 10+ cameras related to the identical edge system to ingest the feeds with none points. Confer with the documentation Kinesis Video Streams API limits and quotas.

Under are some pattern edge system configurations and the variety of video streams they’ll assist for optimum efficiency:

  1. A small occasion (like Raspberry Pi 4 Mannequin B) with 2GB RAM and 16GB SSD can assist as much as 2 1080p HD RTSP cameras importing to the cloud on the identical time with a community velocity of 100 MBPS.
  2. A medium occasion (like NVIDIA Jetson Nano Developer Package) with 4GB RAM and 16GB SSD can assist as much as 4 1080p HD RTSP cameras importing to the cloud on the identical time over a community velocity of 100 MBPS.
  3. A big occasion (like Intel NUC) with 25GB RAM and 1T SSD can assist as much as 24 1080p HD RTSP cameras importing to the cloud on the identical time with a community velocity of 600 MBPS.

This resolution is primarily reminiscence dependent, therefore compute assets like CPU and GPU kind and capability are much less related.

Clear up

In the event you used the GitHub hyperlink to implement this structure, be sure that to make use of the under steps to clean-up the assets to keep away from incurring value.

  1. Uninstall Greengrass core software program from the sting system
  2. Delete Kinesis Video Stream:
    1. Open the Kinesis Video Streams console
    2. Select Video streams within the left-hand menu and choose the video stream
    3. Select Delete video stream within the higher proper nook of the display
    4. A affirmation display will seem. Enter Delete within the area and choose Delete.


On this weblog put up, we now have given an outline of the AWS IoT Greengrass part for Kinesis Video Streams, use instances the place it may be deployed, and the GitHub hyperlink for steps to deploy this connector. You should utilize this characteristic similar to some other AWS-provided Greengrass part and allow Kinesis Video Streams on your current units. To be taught extra about this resolution intimately together with steps to deploy, please refer this git hub repository.


Aditi Gupta

is a Senior IoT Specialist Options Architect at Amazon Net Companies. She has 18+ expertise in designing and creating extremely scalable and dependable methods for a lot of authorities businesses and large-scale enterprises. Her pursuits embrace Huge Knowledge, Synthetic Intelligence and Machine Studying.

Harish Rajagopalan

is a Senior Options Architect at Amazon Net Companies. Harish works with enterprise clients and helps them with their cloud journey.



Please enter your comment!
Please enter your name here

Most Popular

Recent Comments