Receiving RTSP stream from Insta360 Pro 2 and other cameras

Any solutions out there with low latency? I am trying to built an opencv-based (https://gist.github.com/benjaminbojko/0bd9659b62f1bb181520) streamer on cinder 0.9.1 / Catalina, and am getting linker errors about libraries absence:

Ld /Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/Debug/ocvCapture.app/Contents/MacOS/ocvCapture normal x86_64 (in target ‘ocvCapture’ from project ‘ocvCapture’)

  • cd /Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode*
  • /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target x86_64-apple-macos10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -L/Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/Debug -F/Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/Debug -filelist /Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/ocvCapture.build/Debug/ocvCapture.build/Objects-normal/x86_64/ocvCapture.LinkFileList -dead_strip -Xlinker -object_path_lto -Xlinker /Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/ocvCapture.build/Debug/ocvCapture.build/Objects-normal/x86_64/ocvCapture_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -stdlib=libc++ …/…/…/…/…/lib/libcinder_d.a …/…/…/lib/macosx/libopencv_core.a …/…/…/lib/macosx/libopencv_imgproc.a …/…/…/lib/macosx/libopencv_ml.a …/…/…/lib/macosx/libippicv.a …/…/…/lib/macosx/libopencv_hal.a -lz -framework IOSurface -lopencv_flann -framework OpenCL -lopencv_stitching -framework IOKit -framework AVFoundation -framework CoreMedia -lopencv_calib3d -lopencv_videoio -framework Cocoa -framework OpenGL -lopencv_photo -lopencv_ts -framework CoreVideo -lopencv_imgcodecs -lopencv_highgui -lopencv_objdetect -lopencv_hal -lopencv_video -lopencv_core -lopencv_imgproc -lopencv_superres -framework Accelerate -framework AudioToolbox -framework AudioUnit -framework CoreAudio -lopencv_features2d -lopencv_videostab -lopencv_shape -lippicv -lopencv_ml -Xlinker -dependency_info -Xlinker /Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/ocvCapture.build/Debug/ocvCapture.build/Objects-normal/x86_64/ocvCapture_dependency_info.dat -o /Users/eigh_io/repos/cinder_0.9.0_mac/blocks/Cinder-OpenCV3-master/samples/ocvCapture/xcode/build/Debug/ocvCapture.app/Contents/MacOS/ocvCapture*

ld: library not found for -lopencv_flann
clang: error: linker command failed with exit code 1 (use -v to see invocation)

although they are included

My app is here: https://gist.github.com/eighteight/ed7d68f480cc433c94a6950b4ee63a69

I think the linker error is caused when the complier can not find the needed definitions (not the included declarations). I saw that you’ve included the videoio modules of OpenCV and it reminded me of an issue I had a couple of years back when I wanted to use the same modules with Cinder’s pre-built OpenCV lib. The problem was that those modules’ 3rd party libs were not built with Cinder’s build. Back then , I made a GitHub issue about it at https://github.com/cinder/Cinder-OpenCV3/issues/7 . So you might want to try building OpenCV again and this time include those modules properly in your build. Might be worth a try :blush:

Thanks, Kino!
I switched to the older Cinder version 0.8.6, which had opencv libs packaged with it, and after minor modification of the ocvCapture (as shown above in the first gist), everything compiled and linked.

–8

1 Like