All Collections
FLOW - real-time monitoring
Advanced settings
Video streaming with FLOW - How to create a motion JPEG (MJPEG) stream
Video streaming with FLOW - How to create a motion JPEG (MJPEG) stream
DataFromSky avatar
Written by DataFromSky
Updated over a week ago

Introduction

From FLOW version 1.11 you can create an anonymized motion JPEG (MJPEG for short) video stream via HTTP and from FLOW version 1.13 you can visualize and monitor the video output of the video analytics in this stream that is accessible on port 8090. Read on to learn more.

Create MJPEG stream

To create an MJPEG stream, you need admin rights as it is defined on the BLOCK level under the Interfaces tab. There you will find it on the bottom of the page under Video streams as shown in the image below.

Every stream has a unique URL address that is created in the following format:

http://IP:8090/usetrdefinednameofthestream, an example of a stream link would be: http://95.129.97.171:8090/Grosvenor_Road_Cam1 Breakdown: IP address: 95.129.97.171; Port number:8090; stream name: Grosvenor_Road_Cam1) The stream is accessible on the port 8090. More about ports can be found here.

Stream settings

Below you can see the MJPEG stream settings. With the FPS divider, you can reduce the stream FPS. For example with FPS divider 2 on a 30 FPS stream, you would be streaming 30/2=15 FPS.

In the Rendering options section, you can decide what exactly you want to visualize in the stream. You are able to render the outputs from the Video analytics into the MJPEG stream - including - detections, trajectories, all the flag data, etc. You can also adjust the quality of the stream with resolution and compression settings which can help you reduce the broadband requirements of the stream. Note that the FPS of the stream is set by the computation tick (max 10 FPS). Also, the number of streams can be limited for the specific device. The TrafficCamera can have only one MJPEG stream. Watch the video to see how to set up an MJPEG stream.

Please be aware that encoding the analytics into a video stream takes up some processing power of the device. In case you have multiple streams, the detection/evaluation FPS can be reduced due to this on devices with lower processing power.

Live view of MJPEG stream on dashboard

It is possible to visualize the stream on the streaming/service widget on the dashboard in the associated analytics. The image is however not synchronized with the other widgets on the dashboard. The widget is showing what is being streamed from the device at the given moment while the other widgets have a synced tick rate at which they visualize the analyzed time-consistent data. Please note that adding a streaming widget to an already created MJPEG stream will not increase the load on the FLOW device.

Conclusion

MJPEG streaming allows you to publish and/or visualize the performance of a video-analytic engine in real-time. You may configure what type of attributes will be rendered into the video to make the outcomes easy to understand. These AI-augmented camera streams with metadata provided by FLOW can be valuable for monitoring centers or smart city platforms.

To learn more about analytics settings that affect the visualization speed of widgets head over here. If you have any questions or feedback, please don't hesitate to contact us!

• Follow us on Linkedin.

• Learn more about FLOW.

• Visit our homepage to view our products and news.

• Check out our webinars.

• Read from our BLOG.

Did this answer your question?