Automation Professionals' Image Streamer Driver Module

I have set up the opencv connection under the OPC UA section of the config menu but it is not able to load with the given file paths. I checked that the paths were correct. Does the JNI file need to be renamed? It also throws an error for the Keyence driver stating that it is only supported on full or edge builds of Ignition. No worries here though as I do not need that driver. Should I see an option to add a ReStream device when I select add an OPC UA device connection?

Thanks!

No, don't rename the JNI file. I need to see your wrapper.log file. Or at least the part from where the module is starting up. You can use a Private Message if you don't want to display it here. A successful load will look something like this (I've trimmed off the line prefixes...):

I [g.ModuleManager               ] [18:44:30]: Installing module: "com.automation_pros.streamer" 
I [c.a.s.r.OpenCVLoader          ] [18:44:30]: OpenCV ClassLoader is com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader@f6ae96b (0x0f6ae96b) from com.inductiveautomation.ignition.gateway.modules.NativeLibraryManagerImpl@431c11c6 
I [c.a.s.r.OpenCVLoader          ] [18:44:30]: Succeeded loading Jar /usr/share/java/opencv.jar and JNI /usr/lib/jni/libopencv_java420.so as libopencv_java420-3081778859878048979.so 
Direct Load org.opencv.aruco.Aruco to system.cv2.aruco
Indirect Load org.opencv.aruco.Board to system.cv2.aruco
Indirect Load org.opencv.aruco.CharucoBoard to system.cv2.aruco
Indirect Load org.opencv.aruco.DetectorParameters to system.cv2.aruco
Indirect Load org.opencv.aruco.Dictionary to system.cv2.aruco
Indirect Load org.opencv.aruco.GridBoard to system.cv2.aruco
Indirect Load org.opencv.bgsegm.BackgroundSubtractorCNT to system.cv2.bgsegm
Indirect Load org.opencv.bgsegm.BackgroundSubtractorGMG to system.cv2.bgsegm
Indirect Load org.opencv.bgsegm.BackgroundSubtractorGSOC to system.cv2.bgsegm
Indirect Load org.opencv.bgsegm.BackgroundSubtractorLSBP to system.cv2.bgsegm
Indirect Load org.opencv.bgsegm.BackgroundSubtractorLSBPDesc to system.cv2.bgsegm
Indirect Load org.opencv.bgsegm.BackgroundSubtractorMOG to system.cv2.bgsegm
Direct Load org.opencv.bgsegm.Bgsegm to system.cv2.bgsegm
Indirect Load org.opencv.bgsegm.SyntheticSequenceGenerator to system.cv2.bgsegm
Direct Load org.opencv.bioinspired.Bioinspired to system.cv2.bioinspired
Indirect Load org.opencv.bioinspired.Retina to system.cv2.bioinspired
Indirect Load org.opencv.bioinspired.RetinaFastToneMapping to system.cv2.bioinspired
Indirect Load org.opencv.bioinspired.TransientAreasSegmentationModule to system.cv2.bioinspired
Direct Load org.opencv.calib3d.Calib3d to system.cv2.calib3d
Indirect Load org.opencv.calib3d.StereoBM to system.cv2.calib3d
Indirect Load org.opencv.calib3d.StereoMatcher to system.cv2.calib3d
Indirect Load org.opencv.calib3d.StereoSGBM to system.cv2.calib3d
Indirect Load org.opencv.core.Algorithm to system.cv2
Direct Load org.opencv.core.Core to system.cv2
Indirect Load org.opencv.core.CvException to system.cv2
Direct Load org.opencv.core.CvType to system.cv2
Indirect Load org.opencv.core.DMatch to system.cv2
Indirect Load org.opencv.core.KeyPoint to system.cv2
Indirect Load org.opencv.core.Mat to system.cv2
Indirect Load org.opencv.core.MatOfByte to system.cv2
Indirect Load org.opencv.core.MatOfDMatch to system.cv2
Indirect Load org.opencv.core.MatOfDouble to system.cv2
Indirect Load org.opencv.core.MatOfFloat to system.cv2
Indirect Load org.opencv.core.MatOfFloat4 to system.cv2
Indirect Load org.opencv.core.MatOfFloat6 to system.cv2
Indirect Load org.opencv.core.MatOfInt to system.cv2
Indirect Load org.opencv.core.MatOfInt4 to system.cv2
Indirect Load org.opencv.core.MatOfKeyPoint to system.cv2
Indirect Load org.opencv.core.MatOfPoint to system.cv2
Indirect Load org.opencv.core.MatOfPoint2f to system.cv2
Indirect Load org.opencv.core.MatOfPoint3 to system.cv2
Indirect Load org.opencv.core.MatOfPoint3f to system.cv2
Indirect Load org.opencv.core.MatOfRect to system.cv2
Indirect Load org.opencv.core.MatOfRect2d to system.cv2
Indirect Load org.opencv.core.MatOfRotatedRect to system.cv2
Indirect Load org.opencv.core.Point to system.cv2
Indirect Load org.opencv.core.Point3 to system.cv2
Indirect Load org.opencv.core.Range to system.cv2
Indirect Load org.opencv.core.Rect to system.cv2
Indirect Load org.opencv.core.Rect2d to system.cv2
Indirect Load org.opencv.core.RotatedRect to system.cv2
Indirect Load org.opencv.core.Scalar to system.cv2
Indirect Load org.opencv.core.Size to system.cv2
Indirect Load org.opencv.core.TermCriteria to system.cv2
Indirect Load org.opencv.core.TickMeter to system.cv2
Indirect Load org.opencv.dnn.ClassificationModel to system.cv2.dnn
Indirect Load org.opencv.dnn.DetectionModel to system.cv2.dnn
Indirect Load org.opencv.dnn.DictValue to system.cv2.dnn
Direct Load org.opencv.dnn.Dnn to system.cv2.dnn
Indirect Load org.opencv.dnn.KeypointsModel to system.cv2.dnn
Indirect Load org.opencv.dnn.Layer to system.cv2.dnn
Indirect Load org.opencv.dnn.Model to system.cv2.dnn
Indirect Load org.opencv.dnn.Net to system.cv2.dnn
Indirect Load org.opencv.dnn.SegmentationModel to system.cv2.dnn
Indirect Load org.opencv.face.BIF to system.cv2.face
Indirect Load org.opencv.face.BasicFaceRecognizer to system.cv2.face
Indirect Load org.opencv.face.EigenFaceRecognizer to system.cv2.face
Direct Load org.opencv.face.Face to system.cv2.face
Indirect Load org.opencv.face.FaceRecognizer to system.cv2.face
Indirect Load org.opencv.face.Facemark to system.cv2.face
Indirect Load org.opencv.face.FacemarkAAM to system.cv2.face
Indirect Load org.opencv.face.FacemarkKazemi to system.cv2.face
Indirect Load org.opencv.face.FacemarkLBF to system.cv2.face
Indirect Load org.opencv.face.FacemarkTrain to system.cv2.face
Indirect Load org.opencv.face.FisherFaceRecognizer to system.cv2.face
Indirect Load org.opencv.face.LBPHFaceRecognizer to system.cv2.face
Indirect Load org.opencv.face.MACE to system.cv2.face
Indirect Load org.opencv.face.PredictCollector to system.cv2.face
Indirect Load org.opencv.face.StandardCollector to system.cv2.face
Indirect Load org.opencv.features2d.AKAZE to system.cv2.features2d
Indirect Load org.opencv.features2d.AgastFeatureDetector to system.cv2.features2d
Indirect Load org.opencv.features2d.BFMatcher to system.cv2.features2d
Indirect Load org.opencv.features2d.BOWImgDescriptorExtractor to system.cv2.features2d
Indirect Load org.opencv.features2d.BOWKMeansTrainer to system.cv2.features2d
Indirect Load org.opencv.features2d.BOWTrainer to system.cv2.features2d
Indirect Load org.opencv.features2d.BRISK to system.cv2.features2d
Indirect Load org.opencv.features2d.DescriptorMatcher to system.cv2.features2d
Indirect Load org.opencv.features2d.FastFeatureDetector to system.cv2.features2d
Indirect Load org.opencv.features2d.Feature2D to system.cv2.features2d
Direct Load org.opencv.features2d.Features2d to system.cv2.features2d
Indirect Load org.opencv.features2d.FlannBasedMatcher to system.cv2.features2d
Indirect Load org.opencv.features2d.GFTTDetector to system.cv2.features2d
Indirect Load org.opencv.features2d.KAZE to system.cv2.features2d
Indirect Load org.opencv.features2d.MSER to system.cv2.features2d
Indirect Load org.opencv.features2d.ORB to system.cv2.features2d
Indirect Load org.opencv.features2d.Params to system.cv2.features2d
Indirect Load org.opencv.features2d.SimpleBlobDetector to system.cv2.features2d
Direct Load org.opencv.highgui.HighGui to system.cv2
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.highgui.ImageWindow to system.cv2
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.AverageHash to system.cv2.img_hash
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.BlockMeanHash to system.cv2.img_hash
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.ColorMomentHash to system.cv2.img_hash
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.ImgHashBase to system.cv2.img_hash
DirecINFO   | jvm 1    | 2020/09/01 14:44:30 | t Load org.opencv.img_hash.Img_hash to system.cv2.img_hash
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.MarrHildrethHash to system.cv2.img_hash
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.PHash to system.cv2.img_hash
IndirINFO   | jvm 1    | 2020/09/01 14:44:30 | ect Load org.opencv.img_hash.RadialVarianceHash to system.cv2.img_hash
Direct Load org.opencv.imgcodecs.Imgcodecs to system.cv2.imgcodecs
Indirect Load org.opencv.imgproc.CLAHE to system.cv2.imgproc
Indirect Load org.opencv.imgproc.GeneralizedHough to system.cv2.imgproc
Indirect Load org.opencv.imgproc.GeneralizedHoughBallard to system.cv2.imgproc
Indirect Load org.opencv.imgproc.GeneralizedHoughGuil to system.cv2.imgproc
Direct Load org.opencv.imgproc.Imgproc to system.cv2.imgproc
Override Load org.opencv.imgproc.LineSegmentDetector to system.cv2.line_descriptor as LSDetector
Indirect Load org.opencv.imgproc.Moments to system.cv2.imgproc
Indirect Load org.opencv.imgproc.Subdiv2D to system.cv2.imgproc
Indirect Load org.opencv.ml.ANN_MLP to system.cv2.ml
Indirect Load org.opencv.ml.Boost to system.cv2.ml
Indirect Load org.opencv.ml.DTrees to system.cv2.ml
Indirect Load org.opencv.ml.EM to system.cv2.ml
Indirect Load org.opencv.ml.KNearest to system.cv2.ml
Indirect Load org.opencv.ml.LogisticRegression to system.cv2.ml
Direct Load org.opencv.ml.Ml to system.cv2.ml
Indirect Load org.opencv.ml.NormalBayesClassifier to system.cv2.ml
Indirect Load org.opencv.ml.ParamGrid to system.cv2.ml
Indirect Load org.opencv.ml.RTrees to system.cv2.ml
Indirect Load org.opencv.ml.SVM to system.cv2.ml
Indirect Load org.opencv.ml.SVMSGD to system.cv2.ml
Indirect Load org.opencv.ml.StatModel to system.cv2.ml
Indirect Load org.opencv.ml.TrainData to system.cv2.ml
Indirect Load org.opencv.objdetect.BaseCascadeClassifier to system.cv2.objdetect
Indirect Load org.opencv.objdetect.CascadeClassifier to system.cv2.objdetect
Indirect Load org.opencv.objdetect.HOGDescriptor to system.cv2.objdetect
Direct Load org.opencv.objdetect.Objdetect to system.cv2.objdetect
Indirect Load org.opencv.objdetect.QRCodeDetector to system.cv2.objdetect
Discarding unknown org.opencv.osgi.OpenCVInterface
Discarding unknown org.opencv.osgi.OpenCVNativeLoader
Indirect Load org.opencv.phase_unwrapping.HistogramPhaseUnwrapping to system.cv2.phase_unwrapping
Indirect Load org.opencv.phase_unwrapping.PhaseUnwrapping to system.cv2.phase_unwrapping
Direct Load org.opencv.phase_unwrapping.Phase_unwrapping to system.cv2.phase_unwrapping
Indirect Load org.opencv.photo.AlignExposures to system.cv2.photo
Indirect Load org.opencv.photo.AlignMTB to system.cv2.photo
Indirect Load org.opencv.photo.CalibrateCRF to system.cv2.photo
Indirect Load org.opencv.photo.CalibrateDebevec to system.cv2.photo
Indirect Load org.opencv.photo.CalibrateRobertson to system.cv2.photo
Indirect Load org.opencv.photo.MergeDebevec to system.cv2.photo
Indirect Load org.opencv.photo.MergeExposures to system.cv2.photo
Indirect Load org.opencv.photo.MergeMertens to system.cv2.photo
Indirect Load org.opencv.photo.MergeRobertson to system.cv2.photo
Direct Load org.opencv.photo.Photo to system.cv2.photo
Indirect Load org.opencv.photo.Tonemap to system.cv2.photo
Indirect Load org.opencv.photo.TonemapDrago to system.cv2.photo
Indirect Load org.opencv.photo.TonemapMantiuk to system.cv2.photo
Indirect Load org.opencv.photo.TonemapReinhard to system.cv2.photo
Direct Load org.opencv.plot.Plot to system.cv2.plot
Indirect Load org.opencv.plot.Plot2d to system.cv2.plot
Indirect Load org.opencv.structured_light.GrayCodePattern to system.cv2.structured_light
Indirect Load org.opencv.structured_light.Params to system.cv2.structured_light
Indirect Load org.opencv.structured_light.SinusoidalPattern to system.cv2.structured_light
Indirect Load org.opencv.structured_light.StructuredLightPattern to system.cv2.structured_light
Direct Load org.opencv.structured_light.Structured_light to system.cv2.structured_light
Indirect Load org.opencv.text.BaseOCR to system.cv2.text
Indirect Load org.opencv.text.Callback to system.cv2.text
Indirect Load org.opencv.text.ClassifierCallback to system.cv2.text
Indirect Load org.opencv.text.ERFilter to system.cv2.text
Indirect Load org.opencv.text.OCRBeamSearchDecoder to system.cv2.text
Indirect Load org.opencv.text.OCRHMMDecoder to system.cv2.text
Indirect Load org.opencv.text.OCRTesseract to system.cv2.text
Direct Load org.opencv.text.Text to system.cv2.text
Indirect Load org.opencv.text.TextDetector to system.cv2.text
Indirect Load org.opencv.text.TextDetectorCNN to system.cv2.text
Indirect Load org.opencv.tracking.MultiTracker to system.cv2.tracking
Indirect Load org.opencv.tracking.Tracker to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerBoosting to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerCSRT to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerGOTURN to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerKCF to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerMIL to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerMOSSE to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerMedianFlow to system.cv2.tracking
Indirect Load org.opencv.tracking.TrackerTLD to system.cv2.tracking
Direct Load org.opencv.tracking.Tracking to system.cv2.tracking
Direct Load org.opencv.utils.Converters to system.cv2
Indirect Load org.opencv.video.BackgroundSubtractor to system.cv2
Indirect Load org.opencv.video.BackgroundSubtractorKNN to system.cv2
Indirect Load org.opencv.video.BackgroundSubtractorMOG2 to system.cv2
Indirect Load org.opencv.video.DISOpticalFlow to system.cv2
Indirect Load org.opencv.video.DenseOpticalFlow to system.cv2
Indirect Load org.opencv.video.FarnebackOpticalFlow to system.cv2
Indirect Load org.opencv.video.KalmanFilter to system.cv2
Indirect Load org.opencv.video.SparseOpticalFlow to system.cv2
Indirect Load org.opencv.video.SparsePyrLKOpticalFlow to system.cv2
Indirect Load org.opencv.video.VariationalRefinement to system.cv2
Direct Load org.opencv.video.Video to system.cv2
VideoCapture is org.opencv.videoio.VideoCapture
Indirect Load org.opencv.videoio.VideoCapture to system.cv2
Indirect Load org.opencv.videoio.VideoWriter to system.cv2
Direct Load org.opencv.videoio.Videoio to system.cv2
Indirect Load org.opencv.ximgproc.AdaptiveManifoldFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.ContourFitting to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.DTFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.DisparityFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.DisparityWLSFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.EdgeAwareInterpolator to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.EdgeBoxes to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.FastBilateralSolverFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.FastGlobalSmootherFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.FastLineDetector to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.GraphSegmentation to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.GuidedFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.RFFeatureGetter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.RICInterpolator to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.RidgeDetectionFilter to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentation to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentationStrategy to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentationStrategyColor to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentationStrategyFill to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentationStrategyMultiple to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentationStrategySize to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SelectiveSearchSegmentationStrategyTexture to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SparseMatchInterpolator to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.StructuredEdgeDetection to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SuperpixelLSC to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SuperpixelSEEDS to system.cv2.ximgproc
Indirect Load org.opencv.ximgproc.SuperpixelSLIC to system.cv2.ximgproc
Direct Load org.opencv.ximgproc.Ximgproc to system.cv2.ximgproc
Indirect Load org.opencv.xphoto.GrayworldWB to system.cv2.xphoto
Indirect Load org.opencv.xphoto.LearningBasedWB to system.cv2.xphoto
Indirect Load org.opencv.xphoto.SimpleWB to system.cv2.xphoto
Indirect Load org.opencv.xphoto.TonemapDurand to system.cv2.xphoto
Indirect Load org.opencv.xphoto.WhiteBalancer to system.cv2.xphoto
Direct Load org.opencv.xphoto.Xphoto to system.cv2.xphoto
Generated field class for system.cv2
Generated field class for system.cv2.line_descriptor
Generated field class for system.cv2.plot
Generated field class for system.cv2.xphoto
Generated field class for system.cv2.face
Generated field class for system.cv2.features2d
Generated field class for system.cv2.ximgproc
Generated field class for system.cv2.imgproc
Generated field class for system.cv2.calib3d
Generated field class for system.cv2.aruco
Generated field class for system.cv2.bioinspired
Generated field class for system.cv2.bgsegm
Generated field class for system.cv2.tracking
Generated field class for system.cv2.phase_unwrapping
Generated field class for system.cv2.structured_light
Generated field class for system.cv2.objdetect
Generated field class for system.cv2.text
Generated field class for system.cv2.ml
Generated field class for system.cv2.dnn
Generated field class for system.cv2.img_hash
Generated field class for system.cv2.photo
I [c.a.s.GatewayHook             ] [18:44:31]: Streamer servlet registered. Device streams will be http(s)://gwName:port/main/streamer/deviceName. 
I [g.ModuleManager               ] [18:44:31]: Starting up module 'com.automation_pros.streamer' v0.5.0 (b2009011843)... module-name=Image and Video Streaming Driver
I [ReStreamer[FrontSouthCam]     ] [18:44:31]: Capture thread started 
Loaded org.opencv.core.Core to Namespace system.cv2
Loaded org.opencv.core.CvType to Namespace system.cv2
Loaded org.opencv.highgui.HighGui to Namespace system.cv2
Loaded org.opencv.utils.Converters to Namespace system.cv2
Loaded org.opencv.video.Video to Namespace system.cv2
Loaded org.opencv.videoio.Videoio to Namespace system.cv2
Loaded com.automation_pros.streamer.rpc.system.cv2 to Namespace system.cv2
Loaded org.opencv.plot.Plot to Namespace system.cv2.plot
Loaded com.automation_pros.streamer.rpc.system.cv2.plot to Namespace system.cv2.plot
Loaded org.opencv.xphoto.Xphoto to Namespace system.cv2.xphoto
Loaded com.automation_pros.streamer.rpc.system.cv2.xphoto to Namespace system.cv2.xphoto
Loaded com.automation_pros.streamer.rpc.system.cv2.line_descriptor to Namespace system.cv2.line_descriptor
Loaded org.opencv.face.Face to Namespace system.cv2.face
Loaded com.automation_pros.streamer.rpc.system.cv2.face to Namespace system.cv2.face
Loaded org.opencv.features2d.Features2d to Namespace system.cv2.features2d
Loaded com.automation_pros.streamer.rpc.system.cv2.features2d to Namespace system.cv2.features2d
Loaded org.opencv.ximgproc.Ximgproc to Namespace system.cv2.ximgproc
Loaded com.automation_pros.streamer.rpc.system.cv2.ximgproc to Namespace system.cv2.ximgproc
Loaded org.opencv.imgproc.Imgproc to Namespace system.cv2.imgproc
Loaded com.automation_pros.streamer.rpc.system.cv2.imgproc to Namespace system.cv2.imgproc
Loaded org.opencv.calib3d.Calib3d to Namespace system.cv2.calib3d
Loaded com.automation_pros.streamer.rpc.system.cv2.calib3d to Namespace system.cv2.calib3d
Loaded org.opencv.aruco.Aruco to Namespace system.cv2.aruco
Loaded com.automation_pros.streamer.rpc.system.cv2.aruco to Namespace system.cv2.aruco
Loaded org.opencv.bioinspired.Bioinspired to Namespace system.cv2.bioinspired
Loaded com.automation_pros.streamer.rpc.system.cv2.bioinspired to Namespace system.cv2.bioinspired
Loaded org.opencv.bgsegm.Bgsegm to Namespace system.cv2.bgsegm
Loaded com.automation_pros.streamer.rpc.system.cv2.bgsegm to Namespace system.cv2.bgsegm
Loaded org.opencv.tracking.Tracking to Namespace system.cv2.tracking
Loaded com.automation_pros.streamer.rpc.system.cv2.tracking to Namespace system.cv2.tracking
Loaded org.opencv.phase_unwrapping.Phase_unwrapping to Namespace system.cv2.phase_unwrapping
Loaded com.automation_pros.streamer.rpc.system.cv2.phase_unwrapping to Namespace system.cv2.phase_unwrapping
Loaded org.opencv.structured_light.Structured_light to Namespace system.cv2.structured_light
Loaded com.automation_pros.streamer.rpc.system.cv2.structured_light to Namespace system.cv2.structured_light
Loaded org.opencv.objdetect.Objdetect to Namespace system.cv2.objdetect
Loaded com.automation_pros.streamer.rpc.system.cv2.objdetect to Namespace system.cv2.objdetect
Loaded org.opencv.text.Text to Namespace system.cv2.text
Loaded com.automation_pros.streamer.rpc.system.cv2.text to Namespace system.cv2.text
Loaded org.opencv.ml.Ml to Namespace system.cv2.ml
Loaded com.automation_pros.streamer.rpc.system.cv2.ml to Namespace system.cv2.ml
Loaded org.opencv.dnn.Dnn to Namespace system.cv2.dnn
Loaded com.automation_pros.streamer.rpc.system.cv2.dnn to Namespace system.cv2.dnn
Loaded org.opencv.img_hash.Img_hash to Namespace system.cv2.img_hash
Loaded com.automation_pros.streamer.rpc.system.cv2.img_hash to Namespace system.cv2.img_hash
Loaded org.opencv.imgcodecs.Imgcodecs to Namespace system.cv2.imgcodecs
Loaded org.opencv.photo.Photo to Namespace system.cv2.photo
Loaded com.automation_pros.streamer.rpc.system.cv2.photo to Namespace system.cv2.photo
I [Project                       ] [18:44:32]: Restarting gateway scripts... project=Forum
Loaded org.opencv.core.Core to Namespace system.cv2
Loaded org.opencv.core.CvType to Namespace system.cv2
Loaded org.opencv.highgui.HighGui to Namespace system.cv2
Loaded org.opencv.utils.Converters to Namespace system.cv2
Loaded org.opencv.video.Video to Namespace system.cv2
Loaded org.opencv.videoio.Videoio to Namespace system.cv2
Loaded com.automation_pros.streamer.rpc.system.cv2 to Namespace system.cv2
Loaded org.opencv.plot.Plot to Namespace system.cv2.plot
Loaded com.automation_pros.streamer.rpc.system.cv2.plot to Namespace system.cv2.plot
Loaded org.opencv.xphoto.Xphoto to Namespace system.cv2.xphoto
Loaded com.automation_pros.streamer.rpc.system.cv2.xphoto to Namespace system.cv2.xphoto
Loaded com.automation_pros.streamer.rpc.system.cv2.line_descriptor to Namespace system.cv2.line_descriptor
Loaded org.opencv.face.Face to Namespace system.cv2.face
Loaded com.automation_pros.streamer.rpc.system.cv2.face to Namespace system.cv2.face
Loaded org.opencv.features2d.Features2d to Namespace system.cv2.features2d
Loaded com.automation_pros.streamer.rpc.system.cv2.features2d to Namespace system.cv2.features2d
Loaded org.opencv.ximgproc.Ximgproc to Namespace system.cv2.ximgproc
Loaded com.automation_pros.streamer.rpc.system.cv2.ximgproc to Namespace system.cv2.ximgproc
Loaded org.opencv.imgproc.Imgproc to Namespace system.cv2.imgproc
Loaded com.automation_pros.streamer.rpc.system.cv2.imgproc to Namespace system.cv2.imgproc
Loaded org.opencv.calib3d.Calib3d to Namespace system.cv2.calib3d
Loaded com.automation_pros.streamer.rpc.system.cv2.calib3d to Namespace system.cv2.calib3d
Loaded org.opencv.aruco.Aruco to Namespace system.cv2.aruco
Loaded com.automation_pros.streamer.rpc.system.cv2.aruco to Namespace system.cv2.aruco
Loaded org.opencv.bioinspired.Bioinspired to Namespace system.cv2.bioinspired
Loaded com.automation_pros.streamer.rpc.system.cv2.bioinspired to Namespace system.cv2.bioinspired
Loaded org.opencv.bgsegm.Bgsegm to Namespace system.cv2.bgsegm
Loaded com.automation_pros.streamer.rpc.system.cv2.bgsegm to Namespace system.cv2.bgsegm
Loaded org.opencv.tracking.Tracking to Namespace system.cv2.tracking
Loaded com.automation_pros.streamer.rpc.system.cv2.tracking to Namespace system.cv2.tracking
Loaded org.opencv.phase_unwrapping.Phase_unwrapping to Namespace system.cv2.phase_unwrapping
Loaded com.automation_pros.streamer.rpc.system.cv2.phase_unwrapping to Namespace system.cv2.phase_unwrapping
Loaded org.opencv.structured_light.Structured_light to Namespace system.cv2.structured_light
Loaded com.automation_pros.streamer.rpc.system.cv2.structured_light to Namespace system.cv2.structured_light
Loaded org.opencv.objdetect.Objdetect to Namespace system.cv2.objdetect
Loaded com.automation_pros.streamer.rpc.system.cv2.objdetect to Namespace system.cv2.objdetect
Loaded org.opencv.text.Text to Namespace system.cv2.text
I [c.Test1                       ] [18:44:32]: Startup globals=AttrListReq 
Loaded com.automation_pros.streamer.rpc.system.cv2.text to Namespace system.cv2.text
Loaded org.opencv.ml.Ml to Namespace system.cv2.ml
Loaded com.automation_pros.streamer.rpc.system.cv2.ml to Namespace system.cv2.ml
Loaded org.opencv.dnn.Dnn to Namespace system.cv2.dnn
Loaded com.automation_pros.streamer.rpc.system.cv2.dnn to Namespace system.cv2.dnn
Loaded org.opencv.img_hash.Img_hash to Namespace system.cv2.img_hash
Loaded com.automation_pros.streamer.rpc.system.cv2.img_hash to Namespace system.cv2.img_hash
Loaded org.opencv.imgcodecs.Imgcodecs to Namespace system.cv2.imgcodecs
Loaded org.opencv.photo.Photo to Namespace system.cv2.photo
Loaded com.automation_pros.streamer.rpc.system.cv2.photo to Namespace system.cv2.photo
I [ReStreamer[FrontSouthCam]     ] [18:44:33]: receiveStream() Starting 
I [c.a.s.s.DummyImgResource      ] [18:45:04]: Instantiated Singleton 
I [c.a.s.s.DummyImgResource      ] [18:45:04]: Instantiated Generator Thread 
I [c.a.s.s.StreamerServlet       ] [18:45:04]: Streamer Servlet Initialized in  w/
I [c.a.s.s.StreamerServlet       ] [18:45:04]: New Stream for /streamer/FrontSouthCam in Thread[webserver-549,5,main] 
I [c.a.s.s.DummyImgResource      ] [18:45:04]: Started Generator 
I [c.a.s.s.StreamerServlet       ] [18:45:09]: Client Closed Thread[webserver-549,5,main] 

[ Yes, this module is kinda’ noisy… I’ll suppress some of that when I release v1.0.0. ]

Yes, when OpenCV load is successful, that will be one of the device type options.

Hi all! I was able to get it to work… my problem was I renamed the copy of the opencv jar file “opencv.jar” when it should have been “opencv”. The only issue I am experiencing now with maker edition is my client feeds do not appear to continue streaming. They will count a few seconds but eventually stop until I refresh the page. Thank you @pturmel for your thorough assistance! Very much looking forward to the future of maker edition and this wonderful module as now that I’m able to integrate all of my devices into ignition it has solidified a spot as my platform of choice moving forward with this project! Next big step, integrating and controlling a greenhouse! I may make a thread for that one.

I’m not sure what can be done with browser tabs/iframes to keep the stream going. I have a work-around for Vision’s bad behaviour (restarting streams in the IP Camera Viewer).

Hey this is a cool module! I tried running this on 8.1 but i got the error message that the device failed to start. I attached a few photos showing the error message

That’s strange. The missing class is a rather low-level part of the OPC server. Are you sure the OPC-UA module is loaded and running? (IIRC, there was licensing nuance in v8.1 that was tightened up.)

No, that should be UaNode. Are you using the -v8 module? That looks like what you’d get from running my v7.9 module in v8.+.

The OPC UA Module is what I’m using to connect to our rockwell PLC’s and that is functioning well. What’s interesting is when I add the new camera device, it doesn’t show up as a device under the OPC UA module using the quickconnect client.

I downloaded from the link in your Sept 1 post.

Another note. I tested the RTSP link using VLC so I know it’s a functional link. Attached are a few more photos. I was able to create the Network Video ReStreamer device but again, I got that failed to start message.

Hope this helps!

@pturmel I think your module needs to be updated for 8.1.

Well, shoot. Milo 0.5?

Yes, turns out there was a binary incompatible change. You need to recompile against the 8.1 SDK (so you compile against Milo 0.5).

It’s pretty interesting. It starts with this change: https://github.com/eclipse/milo/commit/1f19f5eb6fb2d553e544a0ee45212c1b566e7e94

This in itself would be an API incompatible change, when used directly, but that’s not what got you.

The NodeManager interface takes a type parameter T that has an upper bound on the previously mentioned Node interface that changed packages.

Your driver module invokes various methods on this interface that have T in the type signature.

I bet your module will recompile with zero changes, and when I peaked at the de-compilation output I saw no import or explicit usages of Node via the old package. But those interface calls result in bytecode invokeinterface instructions that do reference Node by its previous package. Like this call to NodeManager::removeNode:

   L3
    LINENUMBER 445 L3
    ALOAD 0
    GETFIELD com/automation_pros/streamer/driver/CV5kDevice.nodeManager : Lorg/eclipse/milo/opcua/sdk/server/api/NodeManager;
    ALOAD 3
    INVOKEINTERFACE org/eclipse/milo/opcua/sdk/server/api/NodeManager.removeNode (Lorg/eclipse/milo/opcua/sdk/server/api/nodes/Node;)Ljava/util/Optional; (itf)
    POP

So yeah… you have to recompile even if there are no changes necessary.

Just did some poking. Had to factor out some unnecessary usage of ExpandedNodeId.local() that doesn’t exist any more. Will revisit tomorrow.

Wait! It is tomorrow. ):

2 Likes

Alrighty, now. Updated for v8.1:

https://www.automation-pros.com/ignition/Image%20and%20Video%20Streaming%20Driver-0.5.0.2011191454-v81.modl

{ Now I have to go fix my E/IP driver… }

{Edit: Updated links below.}

1 Like

Wow you work incredibly quick! It’s working wonderfully!

1 Like

Phil, in order to get around Perspective’s current lack of support for showing video streams that need basic credentials, can your driver be used in place of this?

e.g. I have a stream with address:
http://x.x.x.x/mjpg/1/video.mjpg

Also, I don’t see this module on your website, do you have a price listed for it somewhere?

Cheers!

Nick, there is an indicative price mentioned by Phil about 3 replies down from the start of thread.

The pricing is listed in my sales policy PDF, linked from my site. Note that v1.0 has not been released–I have an open bug for occasional leaked file handles (I think it is file handles).