Stream Video (Camera) Over MQTT

I keep hearing/seeing in webinars, podcasts, case studies, etc., about sending videos over MQTT. I don’t see how this works but maybe since I don’t know how to do it.

I have multiple IP cameras on the same LAN as an Ignition Edge system (with Transmission Module). I want to send that video feed to our cloud server via MQTT but no idea where to start to do that.

Can anyone point me in the right direction to get started?

MQTT is not an ideal transport for streaming video. Sparkplug doesn’t support any type of streaming data. However, we do support transferring of files if that might work for you.

To get started, this tutorial shows the basics of sending tag data over MQTT: Getting Started: Two Ignition Architecture - MQTT Modules for Ignition 8.x - Confluence

This tutorial shows how to send files: Managing files with MQTT Transmission and MQTT Engine - MQTT Modules for Ignition 8.x - Confluence

Thank you, I’ve successfully sent files using that.

Now I sent a png and it came in as file.png.part, which tells me the size was too large, the default setting is 1000 bytes on the transmission setting and the file was 3,000+ KB.

Do I just increase the size setting to get that to come through? If I want to send video files, which can be quite large, what’s the limit of that setting?

Take a closer look at the end of the files tutorial I posted above. There is an ‘advanced’ section. This includes the options around ‘chunking’ of the messages. By default, there are sent in 1kB blocks and then reassembled on the MQTT Engine side. If you had waited a bit longer, the full file would’ve arrived and been reassembled. You can modify these settings to send larger blocks if you like.