Automation Professionals' Image Streamer Driver Module

Automation Professionals is pleased to announce a Release Candidate for its new driver module, supporting the live Network Image transmission format of Keyence CV-5000 machine vision controllers, plus support for common Network Video streams via OpenCV. Stream metadata is exposed as OPC items, and the output streams are Motion JPEG.

The IP Camera Viewer Component in Vision can consume these streams, making it possible to integrate IP Cameras that don’t have MJPEG support or have poor support for MJPEG.

The Keyence driver also provides access to the machine vision controller’s TCP command channel via gateway scripting, including automatic encoding and decoding of binary payloads for supported commands.

The module gracefully degrades to just the Keyence driver if OpenCV is not available on the gateway server, or the library parts cannot be found in the expected locations. If OpenCV loads successfully, the module will inject the Java Bindings into all gateway scripting scopes using the cv2 module name. (Unfortunately, this isn’t as complete as the CPython bindings, and uses the C++ method signatures.)

Support for other machine vision controllers is planned.

Support for OpenCV scripting in client/designer scope is planned.

Support for Ignition V8 is planned done, see below.

Preview the documentation here.


The release candidate link above has been replaced with an update that fixes the configuration properties files (for translatable content).
Due to long-standing platform behavior, a complete gateway restart is required to activate the update to these files if any older version of the module was installed.

When will this be released on the market place, what price will it be, and have you proven it working with any CCTV DVR’s?

Though not in the marketplace, it is available now for v7.9.x. (It has been in uninterrupted production since October.) It will be available in late Q1 or early Q2 for v8.0.x. It is $500. It has only been tested with fairly generic IP Cameras (mine and the sponsoring client’s), with streams up to 1080p 30fps. As with all of my modules, it respects Ignition’s 2-hour trial mode, so you can test it with any RTSP streams you like.

Any news on the v8 version for Perspective?

Sliding a bit… been busy with a large, urgent project. /:

This module has been updated to my new Code Signing Certificate…

This module has been updated to support OpenCV scripting in Vision Client and Designer scopes, as long as a suitable version of OpenCV is installed locally.

Updated documentation.

Support for V8 (with Maker) is next.

The above update has a completely reworked handler for the OpenCV jar to accommodate pretty much any existing version that has java bindings, though only v3.2+ is officially supported.

Any plan to support in perspective?

I think Perspective will “just work” when I get the v8 module running. OpenCV will load in the gateway just like v7.9, and Perspective scripting is an extension of gateway scope, so the system.cv2 namespace should be available to Perspective scripts.

1 Like

A release candidate for v8 support is now available:

It includes the bare bones of Maker support, but that part is untested. (I haven’t played with Maker yet, and haven’t traced the license interaction in my module.) Please let me know if/how it breaks on the Maker Edition.

Huh. Maybe a dud. I thought at least @nader.chinichian and @simada would have downloaded it. /:

Not a dud! I will give this a shot soon! Sorry I have not been keeping up with the forum posts lately, lots going on at the moment.

Thanks so much for sharing!

I have set up everything for your module to run but am not having luck with rtsp streaming in Perspective on Maker Edition. I know that I can access the rtsp stream when I use other devices but the streams are not displaying in the video player. I have even changed the user account that the service runs under in order to enable more network accessibility. Just a quick sanity check, what format should I add my rtsp stream url into the player? I’m prone to formatting errors.

I very much appreciate your guides and documentation as everything was very clear which allowed me to setup opencv and ffmpg very quickly.


The RTSP stream url is only used in the device settings to make the gateway read the stream from the camera. The streams that are to be used in clients (or browsers) are HTTP or HTTPS streams carrying MJPEG. That is part of the point of the module–Ignition’s IP Camera Viewer in Vision only understands MJPEG video. As it happens, most modern browsers (ones that can display Perspective) can also display the MJPEG streams in tabs or iframes.

So, after you get OpenCV loading (you can tell from the gateway log), you need to create a “Network Video ReStreamer” device for each camera. (Under Config => OPC UA Server => Device Connections.)

1 Like

One more thing: if you are using Windows for your gateway, you need to run the Ignition Service as a user that has access rights to the network. The default LOCALSYSTEM account usually does not.

1 Like

If you aren’t yet licensed, be sure to reset the trial mode. When trial mode expires, the streams cut off.

Thank you sir! I am looking forward to getting off work so I can set up the “Network Video ReStreamer” devices and give this another go. That was the step I was missing.


Thanks for testing! If you look at the first page of the documentation, you’ll see that the name you give the restreamer device will be part of the HTTP url your players will use.