Giter Club home page Giter Club logo

gst-plugins-vision's People

Contributors

5shekel avatar ab-eskild avatar fehlfarbe avatar genevanmeter avatar joshdoe avatar mrstecklo avatar thiesmoeller avatar thortom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gst-plugins-vision's Issues

Pylonsrc Image Resized

Hello,

My name is Frank and I want to say that you have done awesome work! I am coming over from Zingmars' git. I was having issues with the corrupted frames bug but your code has fixed that for me. My current project requires me to send a video stream of my two Basler cameras over UDP with zero latency. I am able to do this to some degree. My video stream works just fine but crashes after some time. I dont have to stream the image at full resolution (1600x1200). I can change it to something smaller like 800x600, but when I do that the image sort of displays an area of interest instead of resizing the entire image. This is the pipeline I am using to send the video stream over UDP:

gst-launch-1.0 -v pylonsrc pixel-format=mono8 width=1600 height=1200 camera=0 ! "video/x-raw,format=GRAY8" ! videoflip method=vertical-flip ! videoconvert ! x264enc bitrate=30000 speed-preset=superfast qp-min=30 tune=zerolatency ! rtph264pay ! udpsink host=XXX.XXX.XXX port=XXXX

This is the error message I get when using the above pipeline:

c:2982:gst_pylonsrc_create:<pylonsrc0> Failed capture count=10. Status=4, ErrorCode=-503315950
0:01:10.491583302  5741 0x55bc1b2a82d0 ERROR               pylonsrc gstpylonsrc.c:2986:gst_pylonsrc_create:<pylonsrc0> Error in the image processing loop. Status=4, ErrorCode=-503315950
ERROR: from element /GstPipeline:pipeline0/GstPylonSrc:pylonsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstPylonSrc:pylonsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:01:10.000411637
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
0:01:10.493346976  5741 0x55bc1b273890 DEBUG               pylonsrc gstpylonsrc.c:3004:gst_pylonsrc_stop:<pylonsrc0> stop
0:01:10.540193224  5741 0x55bc1b273890 DEBUG               pylonsrc gstpylonsrc.c:3048:pylonc_disconnect_camera:<pylonsrc0> Camera disconnected.
Setting pipeline to NULL ...
Freeing pipeline ...
0:01:10.540830965  5741 0x55bc1b273890 DEBUG               pylonsrc gstpylonsrc.c:3015:gst_pylonsrc_dispose:<pylonsrc0> dispose
0:01:10.540859517  5741 0x55bc1b273890 DEBUG               pylonsrc gstpylonsrc.c:3023:gst_pylonsrc_finalize:<pylonsrc0> finalize

This works fine for about a minute or so but then crashes. I can get around this by reducing the image size to 800x600 but I get this image when I do that:

image

When I apply a 1600x1200 image size, this is what I get:

image

Is there any way I can display the full image at 800x600? I would assume less bandwidth would be used if I send an 800x600 image instead of a 1600x1200. Also reducing the latency and bitrate is not an option at the moment. When I send the camera image with 800x600 over UDP, I have no problems and it does not crash.

Thank you,
Frank

How to interrupt pylonsrc grab-timeout when setting pipeline state to NULL?

I have a pipeline that makes use of the pylonsrc plugin, it's in trigger mode with grab-timeout set to 60000 ms (1 min). When user press CTRL+C, the bus will handle it by stopping the mainloop, and subsequently, call gst_element_set_state(pipeline, GST_STATE_NULL);, however, the program will wait for the grab-timeout amount before fully exit. Is there a way interrupt the grab-timeout itself?

Create meson build files

Wondering if it's time to add meson build files as GStreamer has already done, even though the CMake files have been mostly updated to support Linux. It would integrate better with the GStreamer build environment, however requires a few more tools than just CMake, and meson is not as familiar to as many developers as CMake. I wonder if @5shekel or anyone else has input.

Other machine vision capture and processing plugins

I'm creating this issue to track similar GStreamer capture plugins that have been discovered. I don't have specific plans to try to merge them with this project at this time, but think that might be a good idea in some cases.

Capture

  • gst-plugin-dalsa: Supports Teledyne DALSA GigE cameras
  • gst-plugin-ueye: Supports IDS uEye cameras under Linux (we already do so under Linux, though this exposes more properties than our source)
  • gst-plugin-flycap: Supports Point Grey (now FLIR) cameras under Linux, via the FlyCapture SDK
  • gst-plugin-lumenera: Supports Lumenera cameras under Linux
  • gst-plugin-spinnaker: Supports FLIR Spinnaker cameras under Windows and Linux (including Jetson)
  • gst-pylonsrc: Supports Basler Pylon cameras under Linux (this has been merged with gst-plugins-vision)
  • pylon_gstreamer: Supports Basler Pylon cameras under Linux, but not a direct GStreamer plugin, instead links Pylon via appsrc
  • tiscamera: Supports The Imaging Source cameras under Linux
  • gst-plugin-toupcam: Supports ToupTek cameras (primarily microscopy)
    Other machine vision manufacturers I've not found GStreamer support for include:
  • Allied Vision Technologies (aka AVT, via Vimba SDK)
  • Euresys: We support Picolo cards, but don't support Coaxlink API, but might work via GenTL support
  • JAI: JAI SDK is used for older cameras, but support is ending and being replaced by the Pleora eBUS SDK

Processing

And a shout out to @atdgroup, @MattsProjects, @TheImagingSource and @zingmars to keep them in the loop.

Pylonsrc for arm64 ubuntu 18.04 with pylon version 6 or version 5 displays libpylonc-6.2.0.so: cannot open shared object file: No such file or director

Hello,
When compiling and running pylonsrc with arm64 ubuntu 18.04 on both pylon version 6 or pylon version 5 I got:
Error -> Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpylon.so': libpylonc-6.2.0.so: cannot open shared object file: No such file or directory

Please see below the steps used:
_Pylon + gst-plugins-vision build/compilation steps:

  1. install latest Pylon6 version:

    Download

    • pylon 6.2.0 Camera Software Suite Linux ARM 64 bit - Debian Installer Package 6.2.0 .deb, 69 MB pylon Software

    install on linux arm64:

    • sudo apt-get install ./pylon_6.2.0.21487-deb0_arm64.deb
  2. download and build the new gst-plugins-vision:
    git clone https://github.com/joshdoe/gst-plugins-vision.git

  3. adapt the modules .make to match the latest pylon version of folder naming:

    • cd ~/Downloads/gst-plugins-vision-1.17.1/cmake/modules

    • sudo nano FindPylon.cmake
      else ()
      set (_PYLON_DIR "/opt/pylon5") -> modify this to "/opt/pylon"
      endif ()

    &

    find_library (_PylonCLib NAMES PylonC_MD_VC120 pylonc
    PATHS
    "${PYLON_DIR}/Development/lib/x64"
    "${PYLON_DIR}/lib64") modify this to -> "/lib"

  4. modify the sistem location where gst-pylon-plugin should be installed:

    • cd ~/Downloads/gst-plugins-vision-1.17.1
    • sudo nano CMakeLists.txt
    • go to line 131
      else ()
      set(_PREFIX "/usr/lib") modify to -> "/usr/lib/aarch64-linux-gnu"
      endif ()
  5. build gst-plugins-vision
    cd gst-plugins-vision
    mkdir build
    cd build
    cmake ..
    make

    sudo make install

Result:

(gst-inspect-1.0:27087): GStreamer-WARNING **: 17:51:15.211: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpylon.so': libpylonc-6.2.0.so: cannot open shared object file: No such file or directory
Could not load plugin file: Opening module failed: libpylonc-6.2.0.so: cannot open shared object file: No such file or directory
pes@pes-desktop:~/Downloads/gst-plugins-vision-1.17.1/build$

This plugin displays the same error for Pylon5 also._

pylonsrc: exposure can't be changed while plugin is live

As I commented on #46 here, I was having issues changing the exposure while the camera was connected. I needed to change three things to make this work in my application:

  1. My camera had the feature name ExposureTimeAbs instead of ExposureTime, I'm not sure if this is associated with my specific camera (acA1920-25gm) or Pylon version (5).
  2. It seems there may be a typo in propAutoFeature which causes the ExposureTime not to be set.
  3. By default, auto exposure is off, however with the way things work in #46, it still refuses to set the exposure time.

The below diff fixes this for me, but I'd like to have the author of #46 comment (@mrstecklo).

diff --git a/sys/pylon/gstpylonsrc.c b/sys/pylon/gstpylonsrc.c
index e1c808f..36c143c 100644
--- a/sys/pylon/gstpylonsrc.c
+++ b/sys/pylon/gstpylonsrc.c
@@ -193,10 +193,10 @@ G_STATIC_ASSERT (AUTOF_NUM_LIMITED == GST_PYLONSRC_NUM_LIMITED_FEATURES);
 static const char *const featAutoFeature[AUTOF_NUM_FEATURES] =
     { "GainAuto", "ExposureAuto", "BalanceWhiteAuto" };
 static const GST_PYLONSRC_PROP propAutoFeature[AUTOF_NUM_FEATURES] =
-    { PROP_GAIN, PROP_EXPOSURE, PROP_AUTOWHITEBALANCE };
+    { PROP_AUTOGAIN, PROP_AUTOEXPOSURE, PROP_AUTOWHITEBALANCE };
 // Yes,there is no "WhiteBalance" feature, it is only used for logging
 static const char *const featManualFeature[AUTOF_NUM_FEATURES] =
-    { "Gain", "ExposureTime", "WhiteBalance" };
+    { "GainRaw", "ExposureTimeAbs", "WhiteBalance" };
 static const char *const featLimitedLower[AUTOF_NUM_LIMITED] =
     { "AutoGainLowerLimit", "AutoExposureTimeLowerLimit" };
 static const char *const featLimitedUpper[AUTOF_NUM_LIMITED] =
@@ -779,6 +779,21 @@ set_prop_implicitly (GObject * object, GST_PYLONSRC_PROP prop,
   }
 }

+// Use in gst_pylonsrc_set_property to set related string property
+static inline void
+set_string_prop_implicitly(GObject* object, GST_PYLONSRC_PROP prop,
+  GParamSpec* pspec, const gchar * str_val)
+{
+  GstPylonSrc* src = GST_PYLONSRC(object);
+  if (!is_prop_set(src, prop)) {
+    GValue val = G_VALUE_INIT;
+    g_value_init(&val, G_TYPE_STRING);
+    g_value_set_string(&val, str_val);
+    gst_pylonsrc_set_property(object, prop, &val, pspec);
+    g_value_unset(&val);
+  }
+}
+
 /* plugin's parameters/properties */
 void
 gst_pylonsrc_set_property (GObject * object, guint property_id,
@@ -934,9 +949,12 @@ gst_pylonsrc_set_property (GObject * object, guint property_id,
       break;
     case PROP_EXPOSURE:
       src->limitedFeature[AUTOF_EXPOSURE].manual = g_value_get_double (value);
+      // disable autoexposure unless set explicitly
+      set_string_prop_implicitly(object, PROP_AUTOEXPOSURE, pspec, "off");
       break;
     case PROP_GAIN:
       src->limitedFeature[AUTOF_GAIN].manual = g_value_get_double (value);
+      set_string_prop_implicitly(object, PROP_AUTOGAIN, pspec, "off");
       break;
     case PROP_BLACKLEVEL:
       src->blacklevel = g_value_get_double (value);

Pleorasrc stream is found but fails to start from JAI GO-5100-PGE camera module, eBUS SDK 6.1.8, GStreamer 1.14.5

Have successfully compiled/installed the gstpleora6 module on Linux, Ubuntu 18.04 (AARCH64, Nvidia JETSON Nano board). The camera is up and working (eBUS player have no problem catching image stream over GigE Vision (PureGEV) (camera has separate IP from board)

the module was compiled with GCC 7.5.0. I had to add the -D_UNIX_ compiler flag.
link.txt
The camera settings used, which were also loaded in a separate trial (with the plugin config-file= param) are enclosed.
This trial yielded basically the same result.
test.pvcfg.gz

gst-launch-1.0 pleorasrc ! videoconvert ! autovideosink
Setting pipeline to PAUSED ...
0:00:00.088070921 8470 0x558683b860 WARN xcontext xvcontext.c:534:gst_xvcontext_check_xshm_calls: MIT-SHM extension check failed at XShmAttach. Not using shared memory.
0:00:00.105536122 8470 0x558683b860 WARN xcontext xvcontext.c:534:gst_xvcontext_check_xshm_calls: MIT-SHM extension check failed at XShmAttach. Not using shared memory.
0:00:03.500491386 8470 0x558683b860 WARN pleorasrc gstpleorasrc.cpp:1520:gst_pleorasrc_get_pvbuffer: error: Failed to retrieve buffer in timeout (1000 ms): 0x001e, ''
0:00:03.566564863 8470 0x558683b860 WARN basesrc gstbasesrc.c:3452:gst_base_src_start: error: Failed to start
0:00:03.566688824 8470 0x558683b860 WARN basesrc gstbasesrc.c:3807:gst_base_src_activate_push: Failed to start in push mode
0:00:03.566722992 8470 0x558683b860 WARN GST_PADS gstpad.c:1149:gst_pad_set_active:pleorasrc0:src Failed to activate pad
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstPleoraSrc:pleorasrc0: Failed to retrieve buffer in timeout (1000 ms): 0x001e, ''

Any clue as to what may be the issue?

install location CMAKE_INSTALL_PREFIX instead of hardcode

i prefer to control where plugins go.
but to not break scripts out there
CMAKE_INSTALL_PREFIX lib/gstreamer-1.0 by default
and GST_PLUGIN_PATH updated, an extra step

install(TARGETS ${libname}
-  LIBRARY DESTINATION lib/gstreamer-1.0)
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX})
``

Basler camera failed capture

Hi I am trying to get gstreamer working with a pylonsrc on an nvidia jetson NX. I got this plugin working for pylon but I can't get an output. I used the following gstreamer pipeline:

bram@NX:~$ GST_DEBUG=2,pylonsrc:6 gst-launch-1.0 -v pylonsrc pixel-format=mono8 width=1024 height=512 ! "video/x-raw,format=GRAY8" ! videoflip method=vertical-flip ! videoconvert ! x264enc bitrate=30000 speed-preset=superfast qp-min=30 tune=zerolatency ! rtph264pay ! udpsink host=127.0.0.1 port=5000

the output

0:00:03.141785155 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:792:gst_pylonsrc_init:<GstPylonSrc@0x556fbdc6e0> Initialising defaults
0:00:03.141934908 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:958:gst_pylonsrc_set_property:<pylonsrc0> Setting a property: 38
0:00:03.141992506 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:958:gst_pylonsrc_set_property:<pylonsrc0> Setting a property: 3
0:00:03.142032440 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:958:gst_pylonsrc_set_property:<pylonsrc0> Setting a property: 2
0:00:03.214928710 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.214994275 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
0:00:03.215132413 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.215170876 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
0:00:03.215858655 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.215907389 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
0:00:03.216401128 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.216443654 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
0:00:03.222540835 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.222596609 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
0:00:03.227935103 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.227983837 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
0:00:03.228428362 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.228470856 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1467:gst_pylonsrc_get_caps:<pylonsrc0> Could not send caps - no camera connected.
Setting pipeline to PAUSED ...
0:00:03.231529958 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4028:gst_pylonsrc_start:<pylonsrc0> First object created
0:00:03.728845801 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1735:gst_pylonsrc_select_device:<pylonsrc0> src: found 1 Basler device(s).
0:00:03.729071552 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4240:pylonc_connect_camera:<pylonsrc0> Connecting to the camera (index=0)...
0:00:03.885463142 10322   0x556fa4bb90 LOG                 pylonsrc gstpylonsrc.c:4307:pylonc_print_camera_info:<pylonsrc0> Status: Using camera "acA2040-90umNIR" (serial number: 21782582, id: 0). Custom ID: gjm8
0:00:03.886413342 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1866:gst_pylonsrc_set_resolution_axis:<pylonsrc0> Setting BinningHorizontal to 1
0:00:03.890137954 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:3250:read_integer_feature:<pylonsrc0> Reading integer feature: WidthMax = 2048
0:00:03.895826131 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1866:gst_pylonsrc_set_resolution_axis:<pylonsrc0> Setting BinningVertical to 1
0:00:03.900638154 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:3250:read_integer_feature:<pylonsrc0> Reading integer feature: HeightMax = 2048
0:00:03.906318652 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1913:gst_pylonsrc_set_resolution_axis:<pylonsrc0> Max resolution is 2048x2048.
0:00:03.906409496 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1915:gst_pylonsrc_set_resolution_axis:<pylonsrc0> Setting resolution to 1024x512.
0:00:03.907654532 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1957:gst_pylonsrc_set_offset_axis:<pylonsrc0> CenterX: False
0:00:03.908773813 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1957:gst_pylonsrc_set_offset_axis:<pylonsrc0> CenterY: False
0:00:03.909906661 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2018:gst_pylonsrc_set_reverse_axis:<pylonsrc0> ReverseX: False
0:00:03.910999351 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2018:gst_pylonsrc_set_reverse_axis:<pylonsrc0> ReverseY: False
0:00:03.911068980 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2100:gst_pylonsrc_set_pixel_format:<pylonsrc0> Using mono8 PixelFormat.
0:00:03.912787916 10322   0x556fa4bb90 WARN                pylonsrc gstpylonsrc.c:1540:feature_supported:<pylonsrc0> Camera does not implement feature: SensorReadoutMode
0:00:03.913450417 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2184:gst_pylonsrc_set_bandwidth:<pylonsrc0> Limiting camera's bandwidth.
0:00:03.915181928 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2232:gst_pylonsrc_set_framerate:<pylonsrc0> Limiting framerate: False. See below for current framerate.
0:00:03.915910794 10322   0x556fa4bb90 WARN                pylonsrc gstpylonsrc.c:1566:feature_alias_available:<pylonsrc0> Feature is not available: LightSourcePreset or LightSourceSelector
0:00:03.915966151 10322   0x556fa4bb90 WARN                pylonsrc gstpylonsrc.c:1551:feature_available:<pylonsrc0> Feature is not available: BslLightSourcePreset
0:00:03.916001830 10322   0x556fa4bb90 WARN                pylonsrc gstpylonsrc.c:2318:gst_pylonsrc_set_lightsource:<pylonsrc0> This camera doesn't have any lightsource presets
0:00:03.917061177 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2340:gst_pylonsrc_set_auto_feature:<pylonsrc0> Disabling GainAuto.
0:00:03.919020135 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2340:gst_pylonsrc_set_auto_feature:<pylonsrc0> Disabling ExposureAuto.
0:00:03.920277139 10322   0x556fa4bb90 WARN                pylonsrc gstpylonsrc.c:1551:feature_available:<pylonsrc0> Feature is not available: BalanceWhiteAuto
0:00:03.920327952 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2513:gst_pylonsrc_set_auto_exp_gain_wb:<pylonsrc0> Using the auto profile currently saved on the device.
0:00:03.920357839 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2553:gst_pylonsrc_set_colour_balance:<pylonsrc0> Using current settings for the colour Red.
0:00:03.920397710 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2553:gst_pylonsrc_set_colour_balance:<pylonsrc0> Using current settings for the colour Green.
0:00:03.920432524 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2553:gst_pylonsrc_set_colour_balance:<pylonsrc0> Using current settings for the colour Blue.
0:00:03.920475754 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2596:gst_pylonsrc_set_colour_hue:<pylonsrc0> Using saved Red hue.
0:00:03.920500585 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2642:gst_pylonsrc_set_colour_saturation:<pylonsrc0> Using saved Red saturation.
0:00:03.920548839 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2596:gst_pylonsrc_set_colour_hue:<pylonsrc0> Using saved Green hue.
0:00:03.920585062 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2642:gst_pylonsrc_set_colour_saturation:<pylonsrc0> Using saved Green saturation.
0:00:03.920621892 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2596:gst_pylonsrc_set_colour_hue:<pylonsrc0> Using saved Blue hue.
0:00:03.920690241 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2642:gst_pylonsrc_set_colour_saturation:<pylonsrc0> Using saved Blue saturation.
0:00:03.920747583 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2596:gst_pylonsrc_set_colour_hue:<pylonsrc0> Using saved Cyan hue.
0:00:03.920809724 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2642:gst_pylonsrc_set_colour_saturation:<pylonsrc0> Using saved Cyan saturation.
0:00:03.920842683 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2596:gst_pylonsrc_set_colour_hue:<pylonsrc0> Using saved Magenta hue.
0:00:03.920879577 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2642:gst_pylonsrc_set_colour_saturation:<pylonsrc0> Using saved Magenta saturation.
0:00:03.920941559 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2596:gst_pylonsrc_set_colour_hue:<pylonsrc0> Using saved Yellow hue.
0:00:03.921045906 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2642:gst_pylonsrc_set_colour_saturation:<pylonsrc0> Using saved Yellow saturation.
0:00:03.921079697 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain00 transformation value. 
0:00:03.921109936 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain01 transformation value. 
0:00:03.921137839 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain02 transformation value. 
0:00:03.921162158 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain10 transformation value. 
0:00:03.921207564 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain11 transformation value. 
0:00:03.921238410 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain12 transformation value. 
0:00:03.921271881 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain20 transformation value. 
0:00:03.921301352 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain21 transformation value. 
0:00:03.921343558 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2674:gst_pylonsrc_set_colour_transformation:<pylonsrc0> Using saved Gain22 transformation value. 
0:00:03.921405699 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2801:gst_pylonsrc_set_manual_feature:<pylonsrc0> Gain property not set, using the saved setting.
0:00:03.921445602 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:2801:gst_pylonsrc_set_manual_feature:<pylonsrc0> ExposureTime property not set, using the saved setting.
0:00:03.924823764 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1623:gst_pylonsrc_set_float_feature_with_int_alias:<pylonsrc0> Setting BlackLevel to 0,000000
0:00:03.924896625 10322   0x556fa4bb90 WARN                pylonsrc gstpylonsrc.c:1566:feature_alias_available:<pylonsrc0> Feature is not available: DemosaicingMode or PgiMode
0:00:03.925015628 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1644:gst_pylonsrc_set_trigger:<pylonsrc0> Setting trigger mode.
0:00:03.926572107 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:1703:gst_pylonsrc_set_trigger:<pylonsrc0> Using "FrameStart" trigger selector. Software trigger mode is Off.
Pipeline is live and does not need PREROLL ...
0:00:03.933723103 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:1465:gst_pylonsrc_get_caps:<pylonsrc0> Received a request for caps. Filter:
(NULL)
0:00:03.934479999 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:2067:gst_pylonsrc_get_supported_caps:<pylonsrc0> PixelFormat Mono8 supported, adding to caps
0:00:03.934716981 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:2080:gst_pylonsrc_get_supported_caps:<pylonsrc0> Supported caps are video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:03.934835600 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:1472:gst_pylonsrc_get_caps:<pylonsrc0> Return caps:
video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)[ 0/1, 2147483647/1 ]
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:03.936736321 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:1484:gst_pylonsrc_set_caps:<pylonsrc0> Setting caps to video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
0:00:03.936864475 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:1497:gst_pylonsrc_set_caps:<pylonsrc0> Set caps match PixelFormat 'Mono8'
0:00:03.938528886 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3216:read_string_feature:<pylonsrc0> Reading string feature: PixelFormat = Mono8
0:00:03.939680229 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3216:read_string_feature:<pylonsrc0> Reading string feature: PixelSize = Bpp8
0:00:03.939763298 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:1522:gst_pylonsrc_set_caps:<pylonsrc0> Pixel is 8 bits large.
/GstPipeline:pipeline0/GstPylonSrc:pylonsrc0.GstPad:src: caps = video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstVideoFlip:videoflip0.GstPad:src: caps = video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)1024, height=(int)512, framerate=(fraction)0/1, format=(string)Y444
Redistribute latency...
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = video/x-raw, width=(int)1024, height=(int)512, framerate=(fraction)0/1, format=(string)Y444
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstVideoFlip:videoflip0.GstPad:sink: caps = video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)512, framerate=(fraction)0/1
0:00:03.972810617 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3150:gst_pylonsrc_configure_start_acquisition:<pylonsrc0> With current settings the camera requires 51713215/500000000 B/s (51,7 out of 500,0 MB/s) of bandwidth.
0:00:03.973477725 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3163:gst_pylonsrc_configure_start_acquisition:<pylonsrc0> With these settings it will take approximately 5074 microseconds to grab each frame.
0:00:03.974537937 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3174:gst_pylonsrc_configure_start_acquisition:<pylonsrc0> The resulting framerate is 99 fps.
0:00:03.974591662 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3178:gst_pylonsrc_configure_start_acquisition:<pylonsrc0> Each frame is 524288 bytes big (0,5 MB). That's 51,7MB/s.
0:00:03.975367982 10322   0x556fc59140 DEBUG               pylonsrc gstpylonsrc.c:3192:gst_pylonsrc_configure_start_acquisition:<pylonsrc0> Initialised successfully.
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = video/x-h264, codec_data=(buffer)01f4001fffe1001c67f4001f91968040041b016a0c020a8000000300bb9aca00078c195001000468ef3192, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high-4:4:4, width=(int)1024, height=(int)512, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)f4001f, sprop-parameter-sets=(string)"Z/QAH5GWgEAEGwFqDAIKgAAAAwC7msoAB4wZUA\=\=\,aO8xkg\=\=", payload=(int)96, ssrc=(uint)4159041921, timestamp-offset=(uint)1006145840, seqnum-offset=(uint)14130
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)f4001f, sprop-parameter-sets=(string)"Z/QAH5GWgEAEGwFqDAIKgAAAAwC7msoAB4wZUA\=\=\,aO8xkg\=\=", payload=(int)96, ssrc=(uint)4159041921, timestamp-offset=(uint)1006145840, seqnum-offset=(uint)14130
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps = video/x-h264, codec_data=(buffer)01f4001fffe1001c67f4001f91968040041b016a0c020a8000000300bb9aca00078c195001000468ef3192, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high-4:4:4, width=(int)1024, height=(int)512, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: timestamp = 1006150852
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: seqnum = 14130
0:00:04.403982116 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=1. Status=4, ErrorCode=-503315950
0:00:04.420151870 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=2. Status=4, ErrorCode=-503315950
0:00:04.445195941 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=3. Status=4, ErrorCode=-503315950
0:00:04.461584086 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=4. Status=4, ErrorCode=-503315950
0:00:04.486294703 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=5. Status=4, ErrorCode=-503315950
0:00:04.502926621 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=6. Status=4, ErrorCode=-503315950
0:00:04.527588031 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=7. Status=4, ErrorCode=-503315950
0:00:04.543960505 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=8. Status=4, ErrorCode=-503315950
0:00:04.569161893 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=9. Status=4, ErrorCode=-503315950
0:00:04.585155822 10322   0x556fc59140 WARN                pylonsrc gstpylonsrc.c:4136:gst_pylonsrc_create:<pylonsrc0> Failed capture count=10. Status=4, ErrorCode=-503315950
0:00:04.610305436 10322   0x556fc59140 ERROR               pylonsrc gstpylonsrc.c:4142:gst_pylonsrc_create:<pylonsrc0> Error in the image processing loop. Status=4, ErrorCode=-503315950
0:00:04.610411127 10322   0x556fc59140 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<pylonsrc0> error: Internal data stream error.
0:00:04.610450070 10322   0x556fc59140 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<pylonsrc0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstPylonSrc:pylonsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstPylonSrc:pylonsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.675684739
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
0:00:04.620567955 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4160:gst_pylonsrc_stop:<pylonsrc0> stop
0:00:04.646117872 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4215:pylonc_disconnect_camera:<pylonsrc0> Camera disconnected.
Setting pipeline to NULL ...
Freeing pipeline ...
0:00:04.647511862 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4171:gst_pylonsrc_dispose:<pylonsrc0> dispose
0:00:04.647561524 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4179:gst_pylonsrc_finalize:<pylonsrc0> finalize
0:00:04.650839276 10322   0x556fa4bb90 DEBUG               pylonsrc gstpylonsrc.c:4197:gst_pylonsrc_finalize:<pylonsrc0> Last object finalized

I can see that he takes the setting of the camera when I load it up in the pylon viewer after I tried this. I tried running the pipeline with different resolutions, with and without binning. Does anyone know a solution for this problem, as far as I can see not a single frame grab worked. (the camera I am using is the https://www.baslerweb.com/en/products/cameras/area-scan-cameras/ace/aca2040-90umnir/)

kayasrc: Load selected UserSet after opening camera

Josh,

Could you load the selected UserSet that is stored in the camera after opening it? I'm finding out that only some of the parameters in the project file are set, and the other values (like Width, Height) are from the power up settings.

There needs to be a call to
KYFG_CameraExecuteCommand(camHandle, 'UserSetLoadReg')
after
ret = KYFG_CameraOpen2 (cam_handles[src->device_index], src->xml_file);

(line 430 in gstkayasrc.c)
I'm doing this in my Python program before I open the pipeline. When I open the pipeline however, I'm reverting back to the power up settings, at least for the image size.

I suppose the C statement would be

ret = KYFG_CameraExecuteCommand(cam_handles(src->device_index), "UserSetLoadReg");
I need to think more about how to initialize the camera with power up vs. UserSetSelector values.

OpenCV Gstreamer Plugin Windows 10

Josh

is there a way that I can call your plugins from OpenCV (I have rebuilt OpenCV 4.1.2 libs with Gstreamer support) Windows Application using VS C++ 2017 (compiler) ?

Basically, I am trying to make a c++ application, which will use your plugin to talk to a GigE Pleora camera, get the video into OpenCV for image enhancement and then display it using OpenCV imshow functions.

your thoughts ?

Thanks and Regards
Nitin

Yocto/Bitbake cross compiling

Does anyone know how to cross compiling these plugins with yocto/bitbake recipes?
I am using the original gst-pylon repo but i get an error saying
"checking for /opt/pylon5/include/pylonc... configure: error: cannot check for file existence when cross compiling"
I guess its telling me that I can't cross compile? Though i feel like i should be able to still.
I just dont know how to include pylon5 src into the recipe.

update gst-launch example to 1.0

effects many

-gst-launch -v videotestsrc ! autovideoconvert ! gigesimsink
+gst-launch-1.0 -v videotestsrc ! autovideoconvert ! gigesimsink

pixcisrc: Specific frame grabber SDKs

Hi,

We are trying to use your plugins with EPIX PIXCI-EB1 MINI-H its dependencies indicate that "Specific frame grabber SDKs" is required, to be more precise: XCLIB needs to be installed, there are difference XCLIB versions available at PIXCI:

  1. XCLIB
  2. XCLIBLITE
  3. XCLIBIPL
  4. XCAP-LITE

Could you please indicate if XCLIBLITE works with your plugins? Or XCLIB is required? It seems that we require to use pixcisrc element.

Regards,
Carlos A.

klvinjector sample

Hi

Is there an example of how to inject telemetry into a video using klvinjector?

thanks

building with Pleora eBus Ubuntu 18.04

Hi Josh,

Please help again, I'm stuck trying to get your plugins building with Plearasrc in Ubuntu this time. The steps I've taken so far are:

  1. commented out line 17 in /gst-plugins-vision/sys/CMakeList.txt to disable gentl
  2. Added the following to my PATH variable: "/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64:/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include:/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/lib"
  3. Modified /gst-plugins-vision/cmake/FindPleora.cmake as per FindPleora.zip. The original file was looking for files that exist on my Windows install but not in Ubuntu (PvBase64.lib and PvDevice64.lib). The libraries in the same relative location in my Ubuntu install are shown in the following screenshot so my assumption is that it should be looking for libPvBase.so and libPvDevice.so
    Screenshot from 2021-07-07 17-44-19

cmake .. returns:

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gstreamer-1.0'
-- Found gstreamer-1.0, version 1.14.5
-- Checking for module 'gstreamer-base-1.0'
-- Found gstreamer-base-1.0, version 1.14.5
-- Found GSTREAMER_BASE_LIBRARY: /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so
-- Found GSTREAMER_BASE_INCLUDE_DIR: /usr/include/gstreamer-1.0
-- Found GStreamer: /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so
-- Checking for module 'gstreamer-plugins-base-1.0'
-- Found gstreamer-plugins-base-1.0, version 1.14.5
-- Checking for module 'gstreamer-video-1.0'
-- Found gstreamer-video-1.0, version 1.14.5
-- Found GSTREAMER_VIDEO_LIBRARY: /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so
-- Found GSTREAMER_VIDEO_INCLUDE_DIR: /usr/include/gstreamer-1.0
-- Found GStreamerPluginsBase: TRUE
-- Checking for module 'glib-2.0'
-- Found glib-2.0, version 2.56.4
-- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so
-- Checking for module 'gobject-2.0'
-- Found gobject-2.0, version 2.56.4
-- Found GObject: /usr/include/glib-2.0
-- Checking for module 'orc-0.4'
-- Found orc-0.4, version 0.4.28
-- Found ORC: /usr/lib/x86_64-linux-gnu/liborc-0.4.so
-- Could NOT find BITFLOW (missing: BITFLOW_INCLUDE_DIR BITFLOW_LIBRARIES)
-- Could NOT find NIIMAQ (missing: NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES)
-- Could NOT find NIIMAQDX (missing: NIIMAQDX_INCLUDE_DIR NIIMAQDX_LIBRARIES)
-- WARNING: OpenCV was not found. Please specify OpenCV directory using OpenCV_DIR env. variable
-- Could NOT find APTINA (missing: APTINA_INCLUDE_DIR APTINA_LIBRARIES)
-- Could NOT find EDT (missing: EDT_INCLUDE_DIR EDT_LIBRARIES)
-- Could NOT find EURESYS (missing: EURESYS_INCLUDE_DIR EURESYS_LIBRARIES)
-- Could NOT find GIGESIM (missing: GIGESIM_INCLUDE_DIR GIGESIM_LIBRARIES)
-- Could NOT find IDSUEYE (missing: IDSUEYE_INCLUDE_DIR IDSUEYE_LIBRARIES)
-- Could NOT find IMPERX_FLEX (missing: IMPERX_FLEX_INCLUDE_DIR IMPERX_FLEX_LIBRARIES)
-- Could NOT find IMPERX_SDI (missing: IMPERX_SDI_INCLUDE_DIR IMPERX_SDI_LIBRARIES)
-- IOTECHDAQX: WARNING: include dir not found
-- IOTECHDAQX: WARNING: library not found
-- Could NOT find IOTECHDAQX (missing: IOTECHDAQX_INCLUDE_DIR IOTECHDAQX_LIBRARIES)
-- Could NOT find KAYA (missing: KAYA_INCLUDE_DIR KAYA_LIBRARIES)
-- Could NOT find MATROX (missing: MATROX_INCLUDE_DIR MATROX_LIBRARIES)
-- Could NOT find PHOENIX (missing: PHOENIX_INCLUDE_DIR PHOENIX_LIBRARIES)


-- Found Pleora version: 6.2.5.5601
-- Pleora Library DIR: /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/lib
-- Pleora Libraries: /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/lib/libPvBase.so;/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/lib/libPvDevice.so
-- Pleora Include: /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include


-- Found Pleora: /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include (found version "6.2.5.5601")
-- Could NOT find PYLON (missing: PYLON_INCLUDE_DIR PYLON_LIBRARIES)
-- Could NOT find QCAM (missing: QCAM_INCLUDE_DIR QCAM_LIBRARIES)
-- Could NOT find SAPERA (missing: SAPERA_INCLUDE_DIR SAPERA_LIBRARIES)
-- XCLIB: WARNING: include dir not found
-- XCLIB: WARNING: library not found
-- Could NOT find XCLIB (missing: XCLIB_INCLUDE_DIR XCLIB_LIBRARIES)


-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.

  • GStreamer - Required to build gst-plugins-vision
  • GStreamer base library - Required to build most plugins
  • GStreamer video library - Required to build several video plugins
  • GLib - Required to build gst-plugins-vision
  • GObject - Required to build gst-plugins-vision
  • Orc - Required library to improve performance
  • FreeImage - Required to build FreeImage plugin
  • Pleora eBUS - Required to build Pleora eBUS source element

-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.


-- Configuring done
-- Generating done
-- Build files have been written to: /home/adesk/gst-plugins-vision/build

make returns:

Scanning dependencies of target gstbayerutils
[ 5%] Building C object gst/bayerutils/CMakeFiles/gstbayerutils.dir/gstbayer2gray.c.o
/home/adesk/gst-plugins-vision/gst/bayerutils/gstbayer2gray.c: In function โ€˜gst_bayer2gray_transform_capsโ€™:
/home/adesk/gst-plugins-vision/gst/bayerutils/gstbayer2gray.c:273:5: warning: ignoring return value of โ€˜gst_caps_mergeโ€™, declared with attribute warn_unused_result [-Wunused-result]
gst_caps_merge (other_caps, c);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 10%] Linking C shared module libgstbayerutils.so
[ 10%] Built target gstbayerutils
Scanning dependencies of target gstextractcolor
[ 15%] Building C object gst/extractcolor/CMakeFiles/gstextractcolor.dir/gstextractcolor.c.o
/home/adesk/gst-plugins-vision/gst/extractcolor/gstextractcolor.c: In function โ€˜gst_extract_color_transform_capsโ€™:
/home/adesk/gst-plugins-vision/gst/extractcolor/gstextractcolor.c:301:5: warning: ignoring return value of โ€˜gst_caps_mergeโ€™, declared with attribute warn_unused_result [-Wunused-result]
gst_caps_merge (other_caps, c);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 21%] Building C object gst/extractcolor/CMakeFiles/gstextractcolor.dir/gstextractcolororc-dist.c.o
[ 26%] Linking C shared module libgstextractcolor.so
[ 26%] Built target gstextractcolor
Scanning dependencies of target gstmisb
[ 31%] Building C object gst/misb/CMakeFiles/gstmisb.dir/gstmisb.c.o
[ 36%] Building C object gst/misb/CMakeFiles/gstmisb.dir/gstmisbirpack.c.o
[ 42%] Building C object gst/misb/CMakeFiles/gstmisb.dir/gstmisbirunpack.c.o
[ 47%] Linking C shared module libgstmisb.so
[ 47%] Built target gstmisb
Scanning dependencies of target gstselect
[ 52%] Building C object gst/select/CMakeFiles/gstselect.dir/gstselect.c.o
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
from /usr/include/gstreamer-1.0/gst/base/gstbasetransform.h:24,
from /home/adesk/gst-plugins-vision/gst/select/gstselect.h:28,
from /home/adesk/gst-plugins-vision/gst/select/gstselect.c:41:
/home/adesk/gst-plugins-vision/gst/select/gstselect.c: In function โ€˜gst_select_transform_ipโ€™:
/home/adesk/gst-plugins-vision/gst/select/gstselect.c:224:9: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜guint64 {aka long unsigned int}โ€™ [-Wformat=]
"Dropping buffer %d since it's before the chosen offset %d",
^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
(GObject ) (object), VA_ARGS);
^~~~~~~~~~~
/home/adesk/gst-plugins-vision/gst/select/gstselect.c:223:5: note: in expansion of macro โ€˜GST_LOG_OBJECTโ€™
GST_LOG_OBJECT (filt,
^~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/gst/select/gstselect.c:231:9: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜guint64 {aka long unsigned int}โ€™ [-Wformat=]
"Dropping buffer %d since it's been chosen to be skipped", buf_offset);
^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
(GObject ) (object), VA_ARGS);
^~~~~~~~~~~
/home/adesk/gst-plugins-vision/gst/select/gstselect.c:230:5: note: in expansion of macro โ€˜GST_LOG_OBJECTโ€™
GST_LOG_OBJECT (filt,
^~~~~~~~~~~~~~
[ 57%] Linking C shared module libgstselect.so
[ 57%] Built target gstselect
Scanning dependencies of target gstvideoadjust
[ 63%] Building C object gst/videoadjust/CMakeFiles/gstvideoadjust.dir/gstvideoadjust.c.o
[ 68%] Building C object gst/videoadjust/CMakeFiles/gstvideoadjust.dir/gstvideolevels.c.o
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
from /usr/include/gstreamer-1.0/gst/base/gstbasetransform.h:24,
from /home/adesk/gst-plugins-vision/gst/videoadjust/gstvideolevels.h:28,
from /home/adesk/gst-plugins-vision/gst/videoadjust/gstvideolevels.c:43:
/home/adesk/gst-plugins-vision/gst/videoadjust/gstvideolevels.c: In function โ€˜gst_videolevels_transformโ€™:
/home/adesk/gst-plugins-vision/gst/videoadjust/gstvideolevels.c:626:36: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜GstClockTimeDiff {aka long int}โ€™ [-Wformat=]
GST_LOG_OBJECT (videolevels, "Auto adjusting levels (%d ns since last)",
^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
(GObject ) (object), VA_ARGS);
^~~~~~~~~~~
/home/adesk/gst-plugins-vision/gst/videoadjust/gstvideolevels.c:626:7: note: in expansion of macro โ€˜GST_LOG_OBJECTโ€™
GST_LOG_OBJECT (videolevels, "Auto adjusting levels (%d ns since last)",
^~~~~~~~~~~~~~
[ 73%] Linking C shared module libgstvideoadjust.so
[ 73%] Built target gstvideoadjust
Scanning dependencies of target gstpleora6
[ 78%] Building CXX object sys/pleora/CMakeFiles/gstpleora6.dir/gstpleora.cpp.o
[ 84%] Building CXX object sys/pleora/CMakeFiles/gstpleora6.dir/gstpleorasrc.cpp.o
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
from /home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp:37:
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp: In function โ€˜const void gst_pleorasrc_print_device_info(GstPleoraSrc
, const PvDeviceInfo
)โ€™:
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:42: warning: too many arguments for format [-Wformat-extra-args]
(GObject ) (object), VA_ARGS);
^
/usr/include/gstreamer-1.0/gst/gstinfo.h:1056:35: note: in expansion of macro โ€˜GST_CAT_LEVEL_LOGโ€™
#define GST_DEBUG_OBJECT(obj,...) GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG, obj, VA_ARGS)
^~~~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp:491:5: note: in expansion of macro โ€˜GST_DEBUG_OBJECTโ€™
GST_DEBUG_OBJECT (src, "U3V device: GUID: %s, S/N: %s",
^~~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp: In function โ€˜gboolean gst_pleorasrc_setup_stream(GstPleoraSrc
)โ€™:
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:42: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜gint64 {aka long int}โ€™ [-Wformat=]
(GObject ) (object), VA_ARGS);
^
/usr/include/gstreamer-1.0/gst/gstinfo.h:1056:35: note: in expansion of macro โ€˜GST_CAT_LEVEL_LOGโ€™
#define GST_DEBUG_OBJECT(obj,...) GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG, obj, VA_ARGS)
^~~~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp:967:7: note: in expansion of macro โ€˜GST_DEBUG_OBJECTโ€™
GST_DEBUG_OBJECT (src, "Packet size is currently %d", val);
^~~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp: In function โ€˜gboolean gst_pleorasrc_set_caps(GstBaseSrc
, GstCaps
)โ€™:
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:42: warning: format not a string literal and no format arguments [-Wformat-security]
(GObject ) (object), VA_ARGS);
^
/usr/include/gstreamer-1.0/gst/gstinfo.h:1064:26: note: in expansion of macro โ€˜GST_CAT_LEVEL_LOGโ€™
#define GST_DEBUG(...) GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG, NULL, VA_ARGS)
^~~~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasrc.cpp:1421:7: note: in expansion of macro โ€˜GST_DEBUGโ€™
GST_DEBUG (gst_structure_get_name (s));
^~~~~~~~~
[ 89%] Building CXX object sys/pleora/CMakeFiles/gstpleora6.dir/gstpleorasink.cpp.o
In file included from /home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:37:0:
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h: In function โ€˜void PvFlushKeyboard()โ€™:
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:269:12: error: โ€˜PvKbHitโ€™ was not declared in this scope
while( PvKbHit() )
^~~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:276:6: error: โ€˜PvGetCharโ€™ was not declared in this scope
PvGetChar();
^~~~~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:276:6: note: suggested alternative: โ€˜getcharโ€™
PvGetChar();
^~~~~~~~~
getchar
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h: In function โ€˜bool PvSelectDevice(PvString
, PvDeviceInfoType*)โ€™:
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:339:9: error: โ€˜PV_DISABLE_SIGNAL_HANDLERโ€™ was not declared in this scope
PV_DISABLE_SIGNAL_HANDLER();
^~~~~~~~~~~~~~~~~~~~~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:341:9: error: โ€˜PV_ENABLE_SIGNAL_HANDLERโ€™ was not declared in this scope
PV_ENABLE_SIGNAL_HANDLER();
^~~~~~~~~~~~~~~~~~~~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:386:5: error: โ€˜PV_DISABLE_SIGNAL_HANDLERโ€™ was not declared in this scope
PV_DISABLE_SIGNAL_HANDLER();
^~~~~~~~~~~~~~~~~~~~~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:388:5: error: โ€˜PV_ENABLE_SIGNAL_HANDLERโ€™ was not declared in this scope
PV_ENABLE_SIGNAL_HANDLER();
^~~~~~~~~~~~~~~~~~~~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleUtils.h:457:13: error: โ€˜PvSleepMsโ€™ was not declared in this scope
PvSleepMs( 1000 );
^~~~~~~~~
In file included from /home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:40:0:
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleTransmitterConfig.h: In member function โ€˜void PvSampleTransmitterConfig::SetDefaults()โ€™:
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleTransmitterConfig.h:132:22: error: โ€˜strcmpโ€™ was not declared in this scope
if ( strcmp( "0.0.0.0", lIP.GetAscii() ) != 0 )
^~~~~~
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSampleTransmitterConfig.h:132:22: note: suggested alternative: โ€˜strtoqโ€™
if ( strcmp( "0.0.0.0", lIP.GetAscii() ) != 0 )
^~~~~~
strtoq
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp: In function โ€˜gboolean gst_pleorasink_start_multicasting(GstPleoraSink*)โ€™:
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:599:14: warning: narrowing conversion of โ€˜atoi(((const char*)((addr_elems + 24))))โ€™ from โ€˜intโ€™ to โ€˜guint8 {aka unsigned char}โ€™ inside { } [-Wnarrowing]
{ atoi (addr_elems[3]), atoi (addr_elems[2]), atoi (addr_elems[1]),
~~~~~^~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:599:36: warning: narrowing conversion of โ€˜atoi(((const char
)((addr_elems + 16))))โ€™ from โ€˜intโ€™ to โ€˜guint8 {aka unsigned char}โ€™ inside { } [-Wnarrowing]
{ atoi (addr_elems[3]), atoi (addr_elems[2]), atoi (addr_elems[1]),
~~~~~^~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:599:58: warning: narrowing conversion of โ€˜atoi(((const char
)((addr_elems + 8))))โ€™ from โ€˜intโ€™ to โ€˜guint8 {aka unsigned char}โ€™ inside { } [-Wnarrowing]
{ atoi (addr_elems[3]), atoi (addr_elems[2]), atoi (addr_elems[1]),
~~~~~^~~~~~~~~~~~~~~
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:600:10: warning: narrowing conversion of โ€˜atoi(((const char
)(* addr_elems)))โ€™ from โ€˜intโ€™ to โ€˜guint8 {aka unsigned char}โ€™ inside { } [-Wnarrowing]
atoi (addr_elems[0])
~~~~~^~~~~~~~~~~~~~~
In file included from /usr/include/gstreamer-1.0/gst/gstbin.h:27:0,
from /usr/include/gstreamer-1.0/gst/gst.h:35,
from /home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:42:
/home/adesk/gst-plugins-vision/sys/pleora/gstpleorasink.cpp:606:45: warning: format โ€˜%xโ€™ expects argument of type โ€˜unsigned intโ€™, but argument 3 has type โ€˜guint8* {aka unsigned char*}โ€™ [-Wformat=]
sink->multicast_group, multiaddr), (NULL));
^
/usr/include/gstreamer-1.0/gst/gstelement.h:422:44: note: in definition of macro โ€˜GST_ELEMENT_ERRORโ€™
gchar *__txt = _gst_element_error_printf text;
^~~~
sys/pleora/CMakeFiles/gstpleora6.dir/build.make:110: recipe for target 'sys/pleora/CMakeFiles/gstpleora6.dir/gstpleorasink.cpp.o' failed
make[2]: *** [sys/pleora/CMakeFiles/gstpleora6.dir/gstpleorasink.cpp.o] Error 1
CMakeFiles/Makefile2:444: recipe for target 'sys/pleora/CMakeFiles/gstpleora6.dir/all' failed
make[1]: *** [sys/pleora/CMakeFiles/gstpleora6.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

Pleora SDK GST Launch crashes

I have verified that Pleora eBus player captures images fine on my PC running Win 10 x64 and eBUS v 6.1.1 x 64 bit but when I launch gst (GStreamer v 1.16.1) like below:

"gst-launch-1.0 pleorasrc ! autovideoconvert ! autovideosink"

as soon as gst-launch launches, it crashes with the following error:

"Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New
EcRlRoOcRk::C :G\sUtsSeyrsst\eUmsCelorc\kD
wnloads\gst-plugins-vision-master\gst-plugins-vision-master\sys\pleora\gstpleorasrc.cpp:1619:gst_pleorasrc_create: assertion failed: (minfo.size >= src->pleora_stride * src->height)_"

it seems like, minfo.size is 0 in the above assertion.

What am I missing ?

joshdoe/gst-plugins-vision tutorial

Hi,

I have just compiled and installed the gst-plugin on Ubuntu. Worked like a char,. But I have not been able to
open a stream to my Basler camera. Can anyone explain how I write the gst-launch string?
I assumed it would work like this:

gst-launch-1.0 pylonsrc ! autovideoconvert ! autovidosink

but noo.

Ideas? I want to use this in python in the end so I guess, once the gst-launcher works I can use it in Python too?

br,
M

freeimage: port to GStreamer 1.0

multiple 0.10 calls

GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING

see porting guide

and errors on config.h
i suspect something to do with
add_definitions(-DHAVE_CONFIG_H) in its CMakeLists.txt

also plugin_define had issues

GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
    GST_VERSION_MINOR,
    freeimage,
    "FreeImage plugin library", plugin_init, GST_PACKAGE_VERSION, GST_PACKAGE_LICENSE, GST_PACKAGE_NAME,
    GST_PACKAGE_ORIGIN)

Compiling gentl fails on Linux

This issue got introduced in commit "gentlsrc: use GEV buffer timestamps if available for unix reference time" (765662a).

Compiling on Linux fails because the file gstgentlsrc.c includes the header Windows.h (which is not available on Linux). I am not sure this header is even used inside that C file.

Removing the include doesn't solve the issue, because the new file get_unix_ns.h implements the function get_unix_ns() for Windows only. It fails during complile time because there is no type LARGE_INTEGER. But it will also fail during runtime because it accesses the Windows kernel.

Error compiling for Ubuntu

I only need the pylonsrc plugin, I've installed pylon 6 (include path /opt/pylon/include, lib path /opt/pylon/lib) so I modified FindPylon.cmake accordingly to work with pylon 6 instead of pylon 5 as follow:

Line 15: set (_PYLON_DIR "/opt/pylon5") -> set (_PYLON_DIR "/opt/pylon")
Line 32: "${PYLON_DIR}/lib64") -> "${PYLON_DIR}/lib")

Then, I followed the instruction to compile for Ubuntu. Running cmake ..:

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'gstreamer-1.0'
--   Found gstreamer-1.0, version 1.14.5
-- Checking for module 'gstreamer-base-1.0'
--   Found gstreamer-base-1.0, version 1.14.5
-- Found GSTREAMER_BASE_LIBRARY: /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so
-- Found GSTREAMER_BASE_INCLUDE_DIR: /usr/include/gstreamer-1.0
-- Found GStreamer: /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so  
-- Checking for module 'gstreamer-plugins-base-1.0'
--   Found gstreamer-plugins-base-1.0, version 1.14.5
-- Checking for module 'gstreamer-video-1.0'
--   Found gstreamer-video-1.0, version 1.14.5
-- Found GSTREAMER_VIDEO_LIBRARY: /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so
-- Found GSTREAMER_VIDEO_INCLUDE_DIR: /usr/include/gstreamer-1.0
-- Found GStreamerPluginsBase: TRUE  
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.56.4
-- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so  
-- Checking for module 'gobject-2.0'
--   Found gobject-2.0, version 2.56.4
-- Found GObject: /usr/include/glib-2.0  
-- Checking for module 'orc-0.4'
--   Found orc-0.4, version 0.4.28
-- Found ORC: /usr/lib/x86_64-linux-gnu/liborc-0.4.so  
-- Could NOT find BITFLOW (missing: BITFLOW_INCLUDE_DIR BITFLOW_LIBRARIES) 
-- Could NOT find NIIMAQ (missing: NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES) 
-- Could NOT find NIIMAQDX (missing: NIIMAQDX_INCLUDE_DIR NIIMAQDX_LIBRARIES) 
-- WARNING: OpenCV was not found. Please specify OpenCV directory using OpenCV_DIR env. variable
-- Could NOT find APTINA (missing: APTINA_INCLUDE_DIR APTINA_LIBRARIES) 
-- Could NOT find EDT (missing: EDT_INCLUDE_DIR EDT_LIBRARIES) 
-- Could NOT find EURESYS (missing: EURESYS_INCLUDE_DIR EURESYS_LIBRARIES) 
-- Could NOT find GIGESIM (missing: GIGESIM_INCLUDE_DIR GIGESIM_LIBRARIES) 
-- Could NOT find IDSUEYE (missing: IDSUEYE_INCLUDE_DIR IDSUEYE_LIBRARIES) 
-- Could NOT find IMPERX_FLEX (missing: IMPERX_FLEX_INCLUDE_DIR IMPERX_FLEX_LIBRARIES) 
-- Could NOT find IMPERX_SDI (missing: IMPERX_SDI_INCLUDE_DIR IMPERX_SDI_LIBRARIES) 
-- IOTECHDAQX: WARNING: include dir not found
-- IOTECHDAQX: WARNING: library not found
-- Could NOT find IOTECHDAQX (missing: IOTECHDAQX_INCLUDE_DIR IOTECHDAQX_LIBRARIES) 
-- Could NOT find KAYA (missing: KAYA_INCLUDE_DIR KAYA_LIBRARIES) 
-- Could NOT find MATROX (missing: MATROX_INCLUDE_DIR MATROX_LIBRARIES) 
-- Could NOT find PHOENIX (missing: PHOENIX_INCLUDE_DIR PHOENIX_LIBRARIES) 
-- Could NOT find Pleora (missing: Pleora_INCLUDE_DIR Pleora_LIBRARY_DIR Pleora_LIBRARIES) 
-- Found PYLON: /opt/pylon/include  
-- Could NOT find QCAM (missing: QCAM_INCLUDE_DIR QCAM_LIBRARIES) 
-- Could NOT find SAPERA (missing: SAPERA_INCLUDE_DIR SAPERA_LIBRARIES) 
-- XCLIB: WARNING: include dir not found
-- XCLIB: WARNING: library not found
-- Could NOT find XCLIB (missing: XCLIB_INCLUDE_DIR XCLIB_LIBRARIES) 

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * GStreamer - Required to build gst-plugins-vision
   * GStreamer base library - Required to build most plugins
   * GStreamer video library - Required to build several video plugins
   * GLib - Required to build gst-plugins-vision
   * GObject - Required to build gst-plugins-vision
   * Orc - Required library to improve performance
   * Basler Pylon - Required to build Basler Pylon source element

-----------------------------------------------------------------------------
-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.
-----------------------------------------------------------------------------
   * BitFlow  <http://www.bitflow.com/>
     Required to build BitFlow source element
   * NI-IMAQ  <http://www.ni.com/>
     Required to build National Instruments IMAQ source element
   * NI-IMAQdx  <http://www.ni.com/>
     Required to build National Instruments IMAQdx source element
   * FreeImage  <http://freeimage.sourceforge.net/>
     Required to build FreeImage plugin
   * OpenCV  <http://opencv.willowgarage.com/>
     Required to build sensorfx plugin
   * Aptina  <http://www.onsemi.com/>
     Required to build aptinasrc source element
   * EDT  <http://www.edt.com/>
     Required to build EDT PDV source element
   * Euresys  <http://www.euresys.com/>
     Required to build Euresys source element
   * GigESim  <http://www.ab-soft.com/>
     Required to build A&B Soft GigESim sink element
   * IDS uEye  <http://en.ids-imaging.com/>
     Required to build IDS uEye source element
   * Imperx FrameLink Express  <http://www.imperx.com/>
     Required to build Imperx FrameLink Express source element
   * Imperx HD-SDI Express  <http://www.imperx.com/>
     Required to build Imperx HD-SDI Express source element
   * IOtech DaqX  <http://www.mccdaq.com/>
     Required to build IOtech DaqX source element
   * KAYA Vision Point  <http://www.kayainstruments.com/>
     Required to build KAYA source element
   * Matrox MIL  <http://www.matrox.com/imaging/>
     Required to build Matrox MIL source element
   * Active Silicon Phoenix  <http://www.activesilicon.com/>
     Required to build Active Silicon Phoenix source element
   * Pleora eBUS  <http://www.pleora.com/>
     Required to build Pleora eBUS source element
   * QImaging QCam  <https://www.photometrics.com/qimaging>
     Required to build QImaging QCam source element
   * Teledyne DALSA Sapera  <http://www.teledynedalsa.com/>
     Required to build Teledyne DALSA Sapera source element
   * EPIX PIXCI  <http://www.epixinc.com/>
     Required to build EPIX PIXCI source element

-----------------------------------------------------------------------------

-- Configuring done
WARNING: Target "gstgentl" requests linking to directory "/usr/include/gstreamer-1.0".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "gstgentl" requests linking to directory "/usr/include/gstreamer-1.0".  Targets may link only to libraries.  CMake is dropping the item.
-- Generating done
-- Build files have been written to: /home/minh/gst-plugins-vision/build

No error, but 2 warnings about: Target "gstgentl" requests linking to directory "/usr/include/gstreamer-1.0", I think this is probably cause by this line ${GSTREAMER_INCLUDE_DIR}/../../lib/z.lib?

I checked the generated CMakeCache.txt in the build directory, and see these:

//Path to a file.
GSTREAMER_BASE_INCLUDE_DIR:PATH=/usr/include/gstreamer-1.0

//Path to a library.
GSTREAMER_BASE_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgstbase-1.0.so

//Path to a file.
GSTREAMER_INCLUDE_DIR:PATH=/usr/include/gstreamer-1.0

//Path to a file.
GSTREAMER_INCLUDE_DIR_ARCH:PATH=/usr/include/gstreamer-1.0

//Path to a library.
GSTREAMER_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so

//The path to the gstreamer plugins installation directory
GSTREAMER_PLUGIN_DIR:PATH=/usr/lib/x86_64-linux-gnu/gstreamer-1.0

//Path to a file.
GSTREAMER_VIDEO_INCLUDE_DIR:PATH=/usr/include/gstreamer-1.0

//Path to a library.
GSTREAMER_VIDEO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so

When I run make, I got the following error:

[  5%] Building C object gst/bayerutils/CMakeFiles/gstbayerutils.dir/gstbayer2gray.c.o
/home/minh/gst-plugins-vision/gst/bayerutils/gstbayer2gray.c: In function โ€˜gst_bayer2gray_transform_capsโ€™:
/home/minh/gst-plugins-vision/gst/bayerutils/gstbayer2gray.c:273:5: warning: ignoring return value of โ€˜gst_caps_mergeโ€™, declared with attribute warn_unused_result [-Wunused-result]
     gst_caps_merge (other_caps, c);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 10%] Linking C shared module libgstbayerutils.so
[ 10%] Built target gstbayerutils
Scanning dependencies of target gstextractcolor
[ 15%] Building C object gst/extractcolor/CMakeFiles/gstextractcolor.dir/gstextractcolor.c.o
/home/minh/gst-plugins-vision/gst/extractcolor/gstextractcolor.c: In function โ€˜gst_extract_color_transform_capsโ€™:
/home/minh/gst-plugins-vision/gst/extractcolor/gstextractcolor.c:301:5: warning: ignoring return value of โ€˜gst_caps_mergeโ€™, declared with attribute warn_unused_result [-Wunused-result]
     gst_caps_merge (other_caps, c);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 20%] Building C object gst/extractcolor/CMakeFiles/gstextractcolor.dir/gstextractcolororc-dist.c.o
[ 25%] Linking C shared module libgstextractcolor.so
[ 25%] Built target gstextractcolor
Scanning dependencies of target gstmisb
[ 30%] Building C object gst/misb/CMakeFiles/gstmisb.dir/gstmisb.c.o
[ 35%] Building C object gst/misb/CMakeFiles/gstmisb.dir/gstmisbirpack.c.o
[ 40%] Building C object gst/misb/CMakeFiles/gstmisb.dir/gstmisbirunpack.c.o
[ 45%] Linking C shared module libgstmisb.so
[ 45%] Built target gstmisb
Scanning dependencies of target gstselect
[ 50%] Building C object gst/select/CMakeFiles/gstselect.dir/gstselect.c.o
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /usr/include/gstreamer-1.0/gst/base/gstbasetransform.h:24,
                 from /home/minh/gst-plugins-vision/gst/select/gstselect.h:28,
                 from /home/minh/gst-plugins-vision/gst/select/gstselect.c:41:
/home/minh/gst-plugins-vision/gst/select/gstselect.c: In function โ€˜gst_select_transform_ipโ€™:
/home/minh/gst-plugins-vision/gst/select/gstselect.c:224:9: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜guint64 {aka long unsigned int}โ€™ [-Wformat=]
         "Dropping buffer %d since it's before the chosen offset %d",
         ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/minh/gst-plugins-vision/gst/select/gstselect.c:223:5: note: in expansion of macro โ€˜GST_LOG_OBJECTโ€™
     GST_LOG_OBJECT (filt,
     ^~~~~~~~~~~~~~
/home/minh/gst-plugins-vision/gst/select/gstselect.c:231:9: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜guint64 {aka long unsigned int}โ€™ [-Wformat=]
         "Dropping buffer %d since it's been chosen to be skipped", buf_offset);
         ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/minh/gst-plugins-vision/gst/select/gstselect.c:230:5: note: in expansion of macro โ€˜GST_LOG_OBJECTโ€™
     GST_LOG_OBJECT (filt,
     ^~~~~~~~~~~~~~
[ 55%] Linking C shared module libgstselect.so
[ 55%] Built target gstselect
Scanning dependencies of target gstvideoadjust
[ 60%] Building C object gst/videoadjust/CMakeFiles/gstvideoadjust.dir/gstvideoadjust.c.o
[ 65%] Building C object gst/videoadjust/CMakeFiles/gstvideoadjust.dir/gstvideolevels.c.o
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /usr/include/gstreamer-1.0/gst/base/gstbasetransform.h:24,
                 from /home/minh/gst-plugins-vision/gst/videoadjust/gstvideolevels.h:28,
                 from /home/minh/gst-plugins-vision/gst/videoadjust/gstvideolevels.c:43:
/home/minh/gst-plugins-vision/gst/videoadjust/gstvideolevels.c: In function โ€˜gst_videolevels_transformโ€™:
/home/minh/gst-plugins-vision/gst/videoadjust/gstvideolevels.c:626:36: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜GstClockTimeDiff {aka long int}โ€™ [-Wformat=]
       GST_LOG_OBJECT (videolevels, "Auto adjusting levels (%d ns since last)",
                                    ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/minh/gst-plugins-vision/gst/videoadjust/gstvideolevels.c:626:7: note: in expansion of macro โ€˜GST_LOG_OBJECTโ€™
       GST_LOG_OBJECT (videolevels, "Auto adjusting levels (%d ns since last)",
       ^~~~~~~~~~~~~~
[ 70%] Linking C shared module libgstvideoadjust.so
[ 70%] Built target gstvideoadjust
Scanning dependencies of target gstgentl
[ 75%] Building C object sys/gentl/CMakeFiles/gstgentl.dir/gstgentlsrc.c.o
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:40:
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c: In function โ€˜gst_gentlsrc_get_payload_sizeโ€™:
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:709:27: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜size_t {aka long unsigned int}โ€™ [-Wformat=]
     GST_DEBUG_OBJECT(src, "Payload size defined by stream info: %d", payload_size);
                           ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:709:5: note: in expansion of macro โ€˜GST_DEBUG_OBJECTโ€™
     GST_DEBUG_OBJECT(src, "Payload size defined by stream info: %d", payload_size);
     ^~~~~~~~~~~~~~~~
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:717:27: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 8 has type โ€˜size_t {aka long unsigned int}โ€™ [-Wformat=]
     GST_DEBUG_OBJECT(src, "Payload size defined by node map: %d", payload_size);
                           ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro โ€˜GST_CAT_LEVEL_LOGโ€™
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:717:5: note: in expansion of macro โ€˜GST_DEBUG_OBJECTโ€™
     GST_DEBUG_OBJECT(src, "Payload size defined by node map: %d", payload_size);
     ^~~~~~~~~~~~~~~~
In file included from /usr/include/gstreamer-1.0/gst/gstbin.h:27:0,
                 from /usr/include/gstreamer-1.0/gst/gst.h:35,
                 from /home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:40:
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c: In function โ€˜gst_gentlsrc_get_bufferโ€™:
/home/minh/gst-plugins-vision/sys/gentl/gstgentlsrc.c:1334:10: warning: format โ€˜%dโ€™ expects argument of type โ€˜intโ€™, but argument 2 has type โ€˜size_t {aka long unsigned int}โ€™ [-Wformat=]
         ("Unsupported payload type: %d", payload_type), (NULL));
          ^
/usr/include/gstreamer-1.0/gst/gstelement.h:422:44: note: in definition of macro โ€˜GST_ELEMENT_ERRORโ€™
   gchar *__txt = _gst_element_error_printf text;                        \
                                            ^~~~
[ 80%] Building C object sys/gentl/CMakeFiles/gstgentl.dir/ioapi.c.o
[ 85%] Building C object sys/gentl/CMakeFiles/gstgentl.dir/unzip.c.o
make[2]: *** No rule to make target '/usr/include/gstreamer-1.0/../../lib/z.lib', needed by 'sys/gentl/libgstgentl.so'.  Stop.
CMakeFiles/Makefile2:447: recipe for target 'sys/gentl/CMakeFiles/gstgentl.dir/all' failed
make[1]: *** [sys/gentl/CMakeFiles/gstgentl.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

I looked at the CMakeLists.txt for gentl and on line 25, I saw this: ${GSTREAMER_INCLUDE_DIR}/../../lib/z.lib, I'm not sure what is this library (z.lib) that I'm missing? How do I deal with this error?

No camera connected - Docker

Hi All,

I'm trying to get my USB3 basler camera running in a docker container. I got all the gstreamer stuff and related plugin installed, as well as plyon5. I run my docker container with --privileged. When I run lsusb I can see that the camera is detected by the container.
Bus 003 Device 024: ID 2676:ba03 Basler AG
However, when I try to start a gstreamer pipeline, the debug window tells me that there's no device connected.

0:00:00.030106101 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:406:gst_pylonsrc_init:GstPylonsrc@0x12db2e0 Initialising defaults
0:00:00.030305032 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:490:gst_pylonsrc_set_property: Setting a property.
0:00:00.030354757 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:490:gst_pylonsrc_set_property: Setting a property.
0:00:00.030371261 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:490:gst_pylonsrc_set_property: Setting a property.
0:00:00.030518459 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:490:gst_pylonsrc_set_property: Setting a property.
0:00:00.046894329 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.046998730 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
0:00:00.047203802 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.047263152 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
0:00:00.048256673 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.048294306 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
0:00:00.048375466 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.048404863 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
0:00:00.048961188 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.048996337 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
0:00:00.049733303 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.049844406 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
0:00:00.050082880 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:908:gst_pylonsrc_get_caps: Received a request for caps.
0:00:00.050120296 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:910:gst_pylonsrc_get_caps: Could not send caps - no camera connected.
Setting pipeline to PAUSED ...
0:00:00.329791603 1785 0x12d82c0 DEBUG pylonsrc gstpylonsrc.c:990:gst_pylonsrc_start: pylonsrc: found 0 Basler device(s).
0:00:00.329856942 1785 0x12d82c0 ERROR pylonsrc gstpylonsrc.c:992:gst_pylonsrc_start: No devices connected, canceling initialisation.
0:00:00.329864056 1785 0x12d82c0 WARN pylonsrc gstpylonsrc.c:993:gst_pylonsrc_start: error: Failed to initialise the camera
0:00:00.329869502 1785 0x12d82c0 WARN pylonsrc gstpylonsrc.c:993:gst_pylonsrc_start: error: No camera connected
ERROR: Pipeline doesn't want to pause.

Does anyone have any idea where I should go from here?

BR,
SC

Linux compiling error

When compiling the plugin I get the below error from the 'make' command:

make[2]: *** No rule to make target '/usr/include/gstreamer-1.0/../../lib/z.lib', needed by 'sys/gentl/libgstgentl.so'. Stop. CMakeFiles/Makefile2:447: recipe for target 'sys/gentl/CMakeFiles/gstgentl.dir/all' failed make[1]: *** [sys/gentl/CMakeFiles/gstgentl.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: *** [all] Error 2 jetson@jetson:~/gst-plugins-vis

I cannot work out what is causing this issue. Running Ubuntu ARM 18.04 LTS

Compiling for ARM

I am using an arm64 borad and i want to use gstreamer to access video from IDS ueye camera. I am very new to these topics. I have tried much but I have problems installing these plugins. Could you please guide me on the installation steps ?

missing Pelora SDK breaks compilation on linux

file(STRINGS "${Pleora_INCLUDE_DIR}/PvVersion.h" _pleora_VERSION_CONTENTS REGEX "#define NVERSION_STRING")

CMake Error at cmake/modules/FindPleora.cmake:43 (file):
  file STRINGS file
  "/opt/gst/gst-plugins-vision/Pleora_INCLUDE_DIR-NOTFOUND/PvVersion.h"
  cannot be read.
Call Stack (most recent call first):
  CMakeLists.txt:100 (find_package)

commenting the line helps, also this works

if(${Pleora_INCLUDE_DIR}!="Pleora_INCLUDE_DIR-NOTFOUND")
  file(STRINGS "${Pleora_INCLUDE_DIR}/PvVersion.h" _pleora_VERSION_CONTENTS REGEX "#define NVERSION_STRING")
endif()

tested on jetson/nano , can also help #2

Typo in gstidsueyesrc.c?

Failed to compile the plugin for IDS uEye camera on Linux.

It seems the following code contains a typo:

return g_utf8_to_ucs4 (src->config_file, -1, NULL, NULL, NULL);

void *
char_to_ids_unicode (const char *str)
{
  return g_utf8_to_ucs4 (src->config_file, -1, NULL, NULL, NULL);
}

Should be

void *
char_to_ids_unicode (const char *str)
{
  return g_utf8_to_ucs4 (str, -1, NULL, NULL, NULL);
}

Error in the image processing loop

I have a pipeline that ran for hours before this error occurred.

66:52:26.688001436 11645 0x564a34d30590 ERROR               pylonsrc gstpylonsrc.c:2204:gst_pylonsrc_create:<camera> Error in the image processing loop.
66:52:26.688060908 11645 0x564a34d30590 INFO                 basesrc gstbasesrc.c:2839:gst_base_src_loop:<camera> pausing after gst_base_src_get_range() = error
66:52:26.688103115 11645 0x564a34d30590 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<camera> error: Internal data stream error.
66:52:26.688124190 11645 0x564a34d30590 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<camera> error: streaming stopped, reason error (-5)
66:52:26.688175968 11645 0x564a34d30590 INFO        GST_ERROR_SYSTEM gstelement.c:2145:gst_element_message_full_with_details:<camera> posting message: Internal data stream error.
66:52:26.688271008 11645 0x564a34d30590 INFO        GST_ERROR_SYSTEM gstelement.c:2172:gst_element_message_full_with_details:<camera> posted error message: Internal data stream error.
ERROR from element camera: Internal data stream error.
66:52:26.688349520 11645 0x564a34d30590 INFO                    task gsttask.c:316:gst_task_func:<camera:src> Task going to paused
Error details: gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:ds-custom-pipeline/GstBin:source-bin-00/GstPylonsrc:camera:
streaming stopped, reason error (-5)
Returned, stopping playback

I looked into the source code and the error originated from this function:

static GstFlowReturn gst_pylonsrc_create (GstPushSrc *src, GstBuffer **buf)
{  
  GstPylonsrc *pylonsrc = GST_PYLONSRC (src);
  GENAPIC_RESULT res;
  size_t bufferIndex;
  PylonGrabResult_t grabResult;
  _Bool bufferReady;  
  GstMapInfo mapInfo;

  // Wait for the buffer to be filled  (up to 1 s)  
  res = PylonWaitObjectWait(pylonsrc->waitObject, 300000, &bufferReady);
  PYLONC_CHECK_ERROR(pylonsrc, res);
  if(!bufferReady) {
    GST_MESSAGE_OBJECT(pylonsrc, "Camera couldn't prepare the buffer in time. Probably dead.");    
    goto error;
  }

  res = PylonStreamGrabberRetrieveResult (pylonsrc->streamGrabber, &grabResult, &bufferReady);
  PYLONC_CHECK_ERROR(pylonsrc, res);
  if(!bufferReady) {
    GST_MESSAGE_OBJECT(pylonsrc, "Couldn't get a buffer from the camera. Basler said this should be impossible. You just proved them wrong. Congratulations!");    
    goto error;
  }

if(!pylonsrc->continuousMode) {
     // Trigger the next picture while we process this one
    if(PylonDeviceFeatureIsAvailable(pylonsrc->deviceHandle, "AcquisitionStatus")) {
    _Bool isReady = FALSE;
     do {
       res = PylonDeviceGetBooleanFeature(pylonsrc->deviceHandle, "AcquisitionStatus", &isReady);
       PYLONC_CHECK_ERROR(pylonsrc, res);
     } while (!isReady);
   }
    res = PylonDeviceExecuteCommandFeature(pylonsrc->deviceHandle, "TriggerSoftware");
   PYLONC_CHECK_ERROR(pylonsrc, res);
  }

  // Process the current buffer
  bufferIndex = (size_t) grabResult.Context;
  if(grabResult.Status == Grabbed) {        
    //TODO: See if I can avoid memcopy and record directly into the gst buffer map.

    // Copy the image into the buffer that will be passed onto the next GStreamer element
    *buf = gst_buffer_new_and_alloc(pylonsrc->payloadSize);
    gst_buffer_map(*buf, &mapInfo, GST_MAP_WRITE);
    orc_memcpy(mapInfo.data, grabResult.pBuffer, mapInfo.size);
    gst_buffer_unmap(*buf, &mapInfo);        

    // Release frame's memory
    res = PylonStreamGrabberQueueBuffer( pylonsrc->streamGrabber, grabResult.hBuffer, (void*) bufferIndex );
    PYLONC_CHECK_ERROR(pylonsrc, res);
  } else {
    GST_ERROR_OBJECT(pylonsrc, "Error in the image processing loop.");    
    goto error;
  }

I'm not sure what this error means and how to start fixing it. Please give me some explanation and pointers to help me deal with this error.

CI for gst-plugins-vision

i quickly made on for ubuntu-latest, let talk about this. it will solve a lot of issues dealing with installation procedure for diff platform. aside from other benefits of CI

name: CMake

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
  BUILD_TYPE: Release

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Install deps
      run: sudo apt-get install libgstreamer-plugins-base1.0-dev liborc-0.4-dev

    - name: Configure CMake
      # Configure CMake in a 'build' subdirectory.
      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

    - name: Build
      # Build your program with the given configuration
      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

#     - name: Test
#       working-directory: ${{github.workspace}}/build
#       # Execute tests defined by the CMake configuration.  
#       # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
#       run: ctest -C ${{env.BUILD_TYPE}}
      

https://github.com/5shekel/gst-plugins-vision/blob/master/.github/workflows/cmake.yml

pylonsrc: duplicate feature names

Different models of Basler cameras have different names for similar features. For example AcquisitionFrameRateAbs and AcquisitionFrameRate. Plugin can be modified to try all possible aliases is those cases. Care must be taken though as some features are related but not equivalent. For example Gain and GainRaw, where Gain = f (GainRaw) and f() depends on a camera model.

Basler features documentation

I'll try to list all features with duplicate names. At least those already implemented in plugin. And then I'll develop a way to handle them. Any help is welcome

Generic camera properties

Currently most camera sources expose little to no camera attributes through the GObject property interface, the recently merged pylonsrc having the most properties exposed. However because cameras can have so many different attributes, it can become unwieldy to expose them all through the GObject property interface, plus dynamic properties can't be added to a GObject.

Perhaps common attributes could be added as static properties, but then a camera-attributes property could be added which itself is a GObject dynamically populated with camera attributes. There could also be a simple API created to set camera attributes via a C interface. GenApi itself could be used, generalized across all plugins.

Unfortunately either dynamic property approach doesn't work well with gst-launch, so perhaps there could also be a property that contains a semi-colon delimited list of Feature=Value pairs.

Any and all suggestions invited.

pylonsrc: pipeline for generating rtsp stream from pylon camera is failing

Hi,
Below is the command I am running, it is failing. Can someoneplease tell me the issue in this pipeline?
harendra@ubuntu:~/$ gst-launch-1.0 -v pylonsrc height=720 width=1280 fps=25 ! videoflip method=vertical-flip ! videoconvert ! x264enc ! rtph264pay name=pay0 pt=96

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstPylonSrc:pylonsrc0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)GRAY8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstVideoFlip:videoflip0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)GRAY8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = "video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ format\=\(string\)Y444\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = "video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ format\=\(string\)Y444\,\ pixel-aspect-ratio\=\(fraction\)1/1"
Redistribute latency...
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)GRAY8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstVideoFlip:videoflip0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)GRAY8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = "video/x-h264\,\ codec_data\=\(buffer\)01f4001fffe1001a67f4001f919b280a00b76022000003000200000300791e30632c01000668ebec448440\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\ level\=\(string\)3.1\,\ profile\=\(string\)high-4:4:4\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/GstRtpH264Pay:pay0.GstPad:src: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264\,\ packetization-mode\=\(string\)1\,\ profile-level-id\=\(string\)f4001f\,\ sprop-parameter-sets\=\(string\)\"Z/QAH5GbKAoAt2AiAAADAAIAAAMAeR4wYyw\\\=\\\,aOvsRIRA\"\,\ payload\=\(int\)96\,\ ssrc\=\(uint\)277528337\,\ timestamp-offset\=\(uint\)153824638\,\ seqnum-offset\=\(uint\)11049\,\ a-framerate\=\(string\)30"
/GstPipeline:pipeline0/GstRtpH264Pay:pay0.GstPad:sink: caps = "video/x-h264\,\ codec_data\=\(buffer\)01f4001fffe1001a67f4001f919b280a00b76022000003000200000300791e30632c01000668ebec448440\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\ level\=\(string\)3.1\,\ profile\=\(string\)high-4:4:4\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/GstRtpH264Pay:pay0: timestamp = 153847583
/GstPipeline:pipeline0/GstRtpH264Pay:pay0: seqnum = 11049
ERROR: from element /GstPipeline:pipeline0/GstPylonSrc:pylonsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstPylonSrc:pylonsrc0:
streaming task paused, reason not-linked (-1)
Execution ended after 0:00:10.726250733
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

DAHENG camera support

Hi there, for a system I'm developing, Im looking for cameras, and I came across Daheng MER2-1220-32U3C, which seems to be nice on terms of price/performance.

They are 32fps, 4k, bayer. But as my project uses gstreamer, I'm struggling to find a solution to connect both parts.

So googling I came here where I see a lot of gstreamer camera plugins.

Now the question: do yo know Daheng cameras? Would you be interested in making a source plugin for them?

Thanks

Can you complete EPIX plugin?

I think EPIX plugin is not complete.

Based on your code I have managed to receive the EPIX callback.
But I don't understand very well how to continue. So this is the part of the code from the callback

staticSrc is the px_element.

gst_stride is 1280 and the height and width of the videsource is 640*512.

GST_INFO_OBJECT(staticSrc, "buf Alloc %d %d",staticSrc->height, staticSrc->gst_stride );

/* TODO: use allocator or use from Pixci pool */

*(staticSrc->buf) = gst_buffer_new_and_alloc (staticSrc->height * staticSrc->gst_stride);

/* Copy image to buffer from surface TODO: use orc_memcpy */
gst_buffer_map (*(staticSrc->buf), &minfo, GST_MAP_WRITE);
GST_INFO_OBJECT (staticSrc,
GST_"GstBuffer size=%d, gst_stride=%d, px_stride=%d", minfo.size,t, staticSrc->gst_stride );
    staticSrc->gst_stride, staticSrc->px_stride);

minfo.size is 655360


 if (pxd_imageBdim() < 8)
 {
        pxerr = pxd_readuchar (staticSrc->unitmap, buffer, 0, 0, -1, -1, minfo.data, minfo.size,
      "Grey");
 }
 else
 {
        pxerr = pxd_readushort (staticSrc->unitmap, buffer, 0, 0, -1, -1, minfo.data, minfo.size,
      "Grey");
 }

here pxerr is 327680 (640*512)


 if (pxerr < 0)
 {
        GST_INFO_OBJECT(staticSrc, " Reading Error  %s " , pxd_mesgErrorCode(pxerr));
 }
 else
 {
 GST_INFO_OBJECT(staticSrc, " Reading length  %d  buffer %d", pxerr, buffer);
   for (i = 0; i < staticSrc->height; i++) {
    memcpy (minfo.data + i * staticSrc->gst_stride,
        (guint8 *) buffer + i * staticSrc->px_stride,
        staticSrc->gst_stride);
   }
        GST_INFO_OBJECT(staticSrc, " UnMap");
  gst_buffer_unmap (*(staticSrc->buf), &minfo);

But in the memcpy I have a segmentation fault. I don't understand why the gststride is 1280
Also minfo is the output of the plugin??
And buffer is the result of the reading from epix library right??

Thank in advance.

pylonsrc: Add enums to properties

This is a reminder to myself as much as anything else. In a GUI application, some of the properties of pylonsrc are text inputs, however they really should be enums, as only certain values are used. This isn't a difficult process, just a bit tedious.

@mrstecklo @AB-Eskild for your awareness and input.

Released idsueyesrc doesn't work

Hi,
I am trying to stream the video flux from an ids camera on rtp protocol. I am working on windows 10.
I installed gstreamer: (gst-launch-1.0)

gst-launch-1.0 --version
gst-launch-1.0 version 1.16.2
GStreamer 1.16.2
Unknown package origin

I downloaded the release of your gst-plugins-vision:
gst-plugins-vision-1.5.92-x86_64.zip
did:
set GST_PLUGIN_PATH="G:\gstreamer\lib"
(this is the extracted folder from the zip file)
and when I do:
gst-launch-1.0 -v idsueyesrc ! x264enc ! rtph264pay ! udpsink host=127.0.0.2 port=5000

WARNING: erroneous pipeline: no element "idsueyesrc"

did I do something wrong ?
it seems that it can't find your dlls ?
IDS

Pylon 2 camera Indeterminance

Hello, i am trying to build a homemade stereo camera with two basler cameras and i found this repository that allow Genicam interfaces to be easily integrated with gstreamer (nice and hard work, you have my congrats). When using 2 cameras with pylon plugin the two cameras have a given index related to their connection time. Because of that it is impossible to identify the camera (left or right) and the ids can change making imposible to fix a configuration.

  • Is there any way to do that?
  • Create the src element giving the camera name or camera serial ID? I know that in C++ pylon Api there is a function for that but in C API i am not sure and involves some device props checking if not.
  • Introducing camera serial number as a plugin read-only parameter so that this number can be checked from calling program?
  • Could you consider implementing this feature?

Regards

Windows pleorasrc error

Hi,
Please help, I'm trying to access a GEV stream from a pleora iPORT NTx-Mini Embedded Video Interface using pleorasrc in windows 10. I can view the stream through eBUS player and when I connect to the camera through eBUS player I get a device busy message from pleorasrc so it's definitely looking in the right place.

when I try to run pleorasrc, I get the following error:

gst-launch-1.0 pleorasrc ! autovideoconvert ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
**
ERROR:D:\gst-plugins-vision-1.17.1\sys\pleora\gstpleorasrc.cpp:1639:gst_pleorasrc_create: assertion failed: (minfo.size >= src->pleora_stride * src->height)

Bitbake recipe creation

I need help in order to generate the pylonsrc plugin for a custom Yocto Linux image (ARM aarch64 CPU). I've already read the issue #34 but it seems incomplete. Have anyone got a recipe which can be used in my Yocto building?

Can't modify properties on pylonsrc

Hello Everybody

Successfully create a pipeline, when try to change any parameter like exposure, withebalance, etc. nothing happens, see below
(Camera Basler acA19200, pylon 6 API)

gst_parse_launch("pylonsrc name=source ! bayer2rgb ! videoconvert name=convert ! tee name=tee tee. ! xvimagesink name=sink",&error);

it is running fine, but when i try to change some parameter on the source noting happens:

src_element = gst_bin_get_by_name(GST_BIN(cur_capchan->pipeline), "source");

gdouble src_num=1000.0;
gdouble exposure=15000.1;
gchar *src_expo;

g_object_get(src_element,"autoexposure",&src_expo,NULL);
g_print(" autoexposure: %s\n",src_expo);

/// gives autoexposure: off

g_object_get(src_element,"exposure",&src_num,NULL);
g_print("exposure: %f\n",src_num);

// gives 0
g_print("setting exposure: %f\n",exposure); //// put t0 15000.1
g_object_set(src_element,"exposure",exposure,NULL);

g_object_get(src_element,"exposure",&src_num,NULL);
g_print("exposure: %f\n",src_num);

// gives 15000.1 But nothing happens with the image

Does i need an extra "Apply" command ?

Thank you

compilation error on ubuntu 18.04

On a fresh installation of ubuntu 18.04, I downloaded pylon6 into /opt/pylon6, then tried to compiled this plugin:

sudo apt update
sudo apt install git cmake libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
git clone https://github.com/joshdoe/gst-plugins-vision.git
cd gst-plugins-vision
mkdir build
cd build
cmake -DPYLON_DIR=/opt/pylon6 ..
make

make failed with below errors:

[ 95%] Building C object sys/pylon/CMakeFiles/gstpylon.dir/gstpylonsrc.c.o
In file included from /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h:9:0,
                 from /usr/include/glib-2.0/glib/gtypes.h:32,
                 from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from /usr/include/gstreamer-1.0/gst/gst.h:27,
                 from /usr/include/gstreamer-1.0/gst/base/gstpushsrc.h:27,
                 from /root/gst-plugins-vision/sys/pylon/gstpylonsrc.h:24,
                 from /root/gst-plugins-vision/sys/pylon/gstpylonsrc.c:38:
/usr/include/glib-2.0/glib/gmacros.h:241:53: error: size of array '_GStaticAssertCompileTimeAssertion_1' is negative
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED
                                                     ^
/usr/include/glib-2.0/glib/gmacros.h:238:47: note: in definition of macro 'G_PASTE_ARGS'
 #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
                                               ^~~~~~~~~~~
/usr/include/glib-2.0/glib/gmacros.h:241:44: note: in expansion of macro 'G_PASTE'
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED
                                            ^~~~~~~
/root/gst-plugins-vision/sys/pylon/gstpylonsrc.c:192:1: note: in expansion of macro 'G_STATIC_ASSERT'
 G_STATIC_ASSERT ((int) PROP_NUM_PROPERTIES == GST_PYLONSRC_NUM_PROPS);
 ^~~~~~~~~~~~~~~
In file included from /root/gst-plugins-vision/sys/pylon/gstpylonsrc.c:43:0:
/root/gst-plugins-vision/./common/genicampixelformat.h:264:1: warning: 'gst_genicam_pixel_format_caps_from_pixel_format' defined but not used [-Wunused-functio]
 gst_genicam_pixel_format_caps_from_pixel_format (const char *pixel_format,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/gst-plugins-vision/./common/genicampixelformat.h:256:1: warning: 'gst_genicam_pixel_format_get_stride' defined but not used [-Wunused-function]
 gst_genicam_pixel_format_get_stride (const char *pixel_format,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/gst-plugins-vision/./common/genicampixelformat.h:226:1: warning: 'gst_genicam_pixel_format_from_caps' defined but not used [-Wunused-function]
 gst_genicam_pixel_format_from_caps (const GstCaps * caps, int *endianness)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sys/pylon/CMakeFiles/gstpylon.dir/build.make:62: recipe for target 'sys/pylon/CMakeFiles/gstpylon.dir/gstpylonsrc.c.o' failed
make[2]: *** [sys/pylon/CMakeFiles/gstpylon.dir/gstpylonsrc.c.o] Error 1
CMakeFiles/Makefile2:502: recipe for target 'sys/pylon/CMakeFiles/gstpylon.dir/all' failed
make[1]: *** [sys/pylon/CMakeFiles/gstpylon.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

If I remove this line, make will succeed.

pylonsrc: How to handle corrupted frames

Issue originated on an issue over at gst-pylonsrc, where this plugin originated, but is still a problem with the current merged source.

Currently, any corrupted frames cause the source to error out, bringing down the pipeline.

I'm thinking the best way to handle this is to have a property that will continue grabbing frames even if one is corrupted, and maybe another property that determines whether to pass or drop the corrupted frame. Input appreciated.

Problems trying to compile on Ubuntu 16.04 for ARM64

I want to compile the basler camera plugin for arm64. Is it possible to compile only that module? I tried compiling thw whole but it is throwing issue for Orc which is not availbe for arm as of now.

Please assist me compiling for arm64.

Pylonsrc for deepstream on Jetson: high latency on high fps

Hello! I'm trying to get a real-time object detection inference pipeline on a Jetson Xavier NX using a Basler camera through pylonsrc, using the inference pipeline show below. However, I'm experiencing significant latency at higher fps requests.

My idea is to retrieve images at high fps from the camera and leave the speed bottleneck to lay somewhere else in the pipeline (I do not have a final target fps). I'm using two reference framerates for comparison:

  • pylonsrc config-file=* fps=20, yields ~20 fps as expected, low latency (almost negligible).
  • pylonsrc config-file=* fps=90, yields ~30 fps as expected, very high latency (about ~2 sec).

After some testing I've seen that the autovideosink pipeline (also shown below) runs on almost zero latency without regard to the pylonsrc fps, so my guess lies that the delay has to do with computer resources.

Any suggestion to keep an "uncapped" framerate in the Basler without increasing latency by modifying the pipeline/config-file?

Inference pipeline
gst-launch-1.0 pylonsrc config-file=../Basler.pfs fps=20 continuous=true ! \
    queue leaky=2 max-size-buffers=100 max-size-time=0 max-size-bytes=1 ! \
    nvvideoconvert ! 'video/x-raw(memory:NVMM),format=(string)I420,width=640,height=480,framerate=30/1' ! \
    m.sink_0 nvstreammux name=m batch-size=1 width=640 height=480 ! \
    nvvideoconvert ! nvinfer config-file-path=config_infer_primary_yoloV5.txt ! \
    nvmultistreamtiler width=640 height=480 ! \
    nvvideoconvert ! nvdsosd ! nvegltransform ! nveglglessink async=0 sync=0
Autovideosink pipeline
gst-launch-1.0 pylonsrc config-file=../Basler.pfs fps=90 continuous=true ! \
    queue leaky=2 max-size-buffers=100 max-size-time=0 max-size-bytes=1 ! \
    nvvideoconvert ! video/x-raw(memory:NVMM),format=(string)I420,width=640,height=480,framerate=30/1 ! \
    autovideosink
Basler configuration file
Basler.pfs
# {05D8C294-F295-4dfb-9D01-096BD04049F4}
# GenApi persistence file (version 3.1.0)
# Device = Basler::UsbCameraParams -- Basler USB3Vision camera interface -- Device version = 1.0.0 -- Product GUID = 5a809e15-f447-480f-a21f-0fb7256b8400 -- Product version GUID = 685CC8CB-5A68-4BD2-AF5E-B30B155580E1
ExposureAuto	Off
BalanceWhiteAuto	Off
GainAuto	Off
Width	2448
Height	2048
OffsetX	8
OffsetY	4
CenterX	0
CenterY	0
ReverseX	0
ReverseY	0
PixelFormat	YCbCr422_8
TestImageSelector	Off
GainSelector	All
Gain	0.00000
GainSelector	All
BlackLevelSelector	All
BlackLevel	0.00000
BlackLevelSelector	All
Gamma	1.00000
DigitalShift	0
RemoveParameterLimitSelector	Gain
RemoveParameterLimit	0
RemoveParameterLimitSelector	Gain
LightSourcePreset	Daylight5000K
BalanceRatioSelector	Red
BalanceRatio	1.71899
BalanceRatioSelector	Green
BalanceRatio	1.00000
BalanceRatioSelector	Blue
BalanceRatio	2.29639
BalanceRatioSelector	Red
ColorAdjustmentSelector	Red
ColorAdjustmentHue	0.28125
ColorAdjustmentSelector	Yellow
ColorAdjustmentHue	0.12500
ColorAdjustmentSelector	Green
ColorAdjustmentHue	0.37500
ColorAdjustmentSelector	Cyan
ColorAdjustmentHue	0.56250
ColorAdjustmentSelector	Blue
ColorAdjustmentHue	-0.06250
ColorAdjustmentSelector	Magenta
ColorAdjustmentHue	1.93750
ColorAdjustmentSelector	Red
ColorAdjustmentSelector	Red
ColorAdjustmentSaturation	1.03125
ColorAdjustmentSelector	Yellow
ColorAdjustmentSaturation	0.98438
ColorAdjustmentSelector	Green
ColorAdjustmentSaturation	1.28125
ColorAdjustmentSelector	Cyan
ColorAdjustmentSaturation	1.03906
ColorAdjustmentSelector	Blue
ColorAdjustmentSaturation	0.96875
ColorAdjustmentSelector	Magenta
ColorAdjustmentSaturation	0.85156
ColorAdjustmentSelector	Red
ColorTransformationSelector	RGBtoRGB
ColorTransformationValueSelector	Gain00
ColorTransformationValue	1.53125
ColorTransformationValueSelector	Gain01
ColorTransformationValue	-0.31250
ColorTransformationValueSelector	Gain02
ColorTransformationValue	-0.21875
ColorTransformationValueSelector	Gain10
ColorTransformationValue	-0.31250
ColorTransformationValueSelector	Gain11
ColorTransformationValue	1.84375
ColorTransformationValueSelector	Gain12
ColorTransformationValue	-0.53125
ColorTransformationValueSelector	Gain20
ColorTransformationValue	-0.09375
ColorTransformationValueSelector	Gain21
ColorTransformationValue	-0.43750
ColorTransformationValueSelector	Gain22
ColorTransformationValue	1.53125
ColorTransformationSelector	RGBtoRGB
ColorTransformationValueSelector	Gain00
DemosaicingMode	Simple
ShutterMode	Global
ExposureMode	Timed
ExposureTime	26092.0
AcquisitionBurstFrameCount	1
TriggerSelector	FrameBurstStart
TriggerMode	Off
TriggerSelector	FrameStart
TriggerMode	Off
TriggerSelector	FrameStart
TriggerSelector	FrameBurstStart
TriggerSource	Line1
TriggerSelector	FrameStart
TriggerSource	Line1
TriggerSelector	FrameStart
TriggerSelector	FrameBurstStart
TriggerActivation	RisingEdge
TriggerSelector	FrameStart
TriggerActivation	RisingEdge
TriggerSelector	FrameStart
TriggerDelay	0
AcquisitionFrameRateEnable	0
AcquisitionFrameRate	100.00000
DeviceLinkSelector	0
DeviceLinkThroughputLimitMode	On
DeviceLinkSelector	0
DeviceLinkSelector	0
DeviceLinkThroughputLimit	360000000
DeviceLinkSelector	0
ChunkSelector	Gain
ChunkEnable	0
ChunkSelector	ExposureTime
ChunkEnable	0
ChunkSelector	Timestamp
ChunkEnable	0
ChunkSelector	LineStatusAll
ChunkEnable	0
ChunkSelector	CounterValue
ChunkEnable	0
ChunkSelector	SequencerSetActive
ChunkEnable	0
ChunkSelector	PayloadCRC16
ChunkEnable	0
ChunkSelector	Timestamp
ChunkModeActive	0
AutoTargetBrightness	0.30196
AutoFunctionProfile	MinimizeGain
AutoGainLowerLimit	0.00000
AutoGainUpperLimit	36.00000
AutoExposureTimeLowerLimit	29.0
AutoExposureTimeUpperLimit	1000000.0
AutoFunctionROISelector	ROI1
AutoFunctionROIWidth	2464
AutoFunctionROISelector	ROI2
AutoFunctionROIWidth	2448
AutoFunctionROISelector	ROI1
AutoFunctionROISelector	ROI1
AutoFunctionROIHeight	2056
AutoFunctionROISelector	ROI2
AutoFunctionROIHeight	2048
AutoFunctionROISelector	ROI1
AutoFunctionROISelector	ROI1
AutoFunctionROIOffsetX	0
AutoFunctionROISelector	ROI2
AutoFunctionROIOffsetX	8
AutoFunctionROISelector	ROI1
AutoFunctionROISelector	ROI1
AutoFunctionROIOffsetY	0
AutoFunctionROISelector	ROI2
AutoFunctionROIOffsetY	8
AutoFunctionROISelector	ROI1
AutoFunctionROISelector	ROI1
AutoFunctionROIUseBrightness	1
AutoFunctionROISelector	ROI2
AutoFunctionROIUseBrightness	0
AutoFunctionROISelector	ROI1
AutoFunctionROISelector	ROI1
AutoFunctionROIUseWhiteBalance	1
AutoFunctionROISelector	ROI2
AutoFunctionROIUseWhiteBalance	1
AutoFunctionROISelector	ROI1
LUTSelector	Luminance
LUTEnable	0
LUTSelector	Luminance
LUTSelector	Luminance
LUTValueAll	0x00000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a800000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000801000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000018010000000000000000000000000000000000000000000000000000000000002001000000000000000000000000000000000000000000000000000000000000280100000000000000000000000000000000000000000000000000000000000030010000000000000000000000000000000000000000000000000000000000003801000000000000000000000000000000000000000000000000000000000000400100000000000000000000000000000000000000000000000000000000000048010000000000000000000000000000000000000000000000000000000000005001000000000000000000000000000000000000000000000000000000000000580100000000000000000000000000000000000000000000000000000000000060010000000000000000000000000000000000000000000000000000000000006801000000000000000000000000000000000000000000000000000000000000700100000000000000000000000000000000000000000000000000000000000078010000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000000000000880100000000000000000000000000000000000000000000000000000000000090010000000000000000000000000000000000000000000000000000000000009801000000000000000000000000000000000000000000000000000000000000a001000000000000000000000000000000000000000000000000000000000000a801000000000000000000000000000000000000000000000000000000000000b001000000000000000000000000000000000000000000000000000000000000b801000000000000000000000000000000000000000000000000000000000000c001000000000000000000000000000000000000000000000000000000000000c801000000000000000000000000000000000000000000000000000000000000d001000000000000000000000000000000000000000000000000000000000000d801000000000000000000000000000000000000000000000000000000000000e001000000000000000000000000000000000000000000000000000000000000e801000000000000000000000000000000000000000000000000000000000000f001000000000000000000000000000000000000000000000000000000000000f80100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000802000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000018020000000000000000000000000000000000000000000000000000000000002002000000000000000000000000000000000000000000000000000000000000280200000000000000000000000000000000000000000000000000000000000030020000000000000000000000000000000000000000000000000000000000003802000000000000000000000000000000000000000000000000000000000000400200000000000000000000000000000000000000000000000000000000000048020000000000000000000000000000000000000000000000000000000000005002000000000000000000000000000000000000000000000000000000000000580200000000000000000000000000000000000000000000000000000000000060020000000000000000000000000000000000000000000000000000000000006802000000000000000000000000000000000000000000000000000000000000700200000000000000000000000000000000000000000000000000000000000078020000000000000000000000000000000000000000000000000000000000008002000000000000000000000000000000000000000000000000000000000000880200000000000000000000000000000000000000000000000000000000000090020000000000000000000000000000000000000000000000000000000000009802000000000000000000000000000000000000000000000000000000000000a002000000000000000000000000000000000000000000000000000000000000a802000000000000000000000000000000000000000000000000000000000000b002000000000000000000000000000000000000000000000000000000000000b802000000000000000000000000000000000000000000000000000000000000c002000000000000000000000000000000000000000000000000000000000000c802000000000000000000000000000000000000000000000000000000000000d002000000000000000000000000000000000000000000000000000000000000d802000000000000000000000000000000000000000000000000000000000000e002000000000000000000000000000000000000000000000000000000000000e802000000000000000000000000000000000000000000000000000000000000f002000000000000000000000000000000000000000000000000000000000000f80200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000803000000000000000000000000000000000000000000000000000000000000100300000000000000000000000000000000000000000000000000000000000018030000000000000000000000000000000000000000000000000000000000002003000000000000000000000000000000000000000000000000000000000000280300000000000000000000000000000000000000000000000000000000000030030000000000000000000000000000000000000000000000000000000000003803000000000000000000000000000000000000000000000000000000000000400300000000000000000000000000000000000000000000000000000000000048030000000000000000000000000000000000000000000000000000000000005003000000000000000000000000000000000000000000000000000000000000580300000000000000000000000000000000000000000000000000000000000060030000000000000000000000000000000000000000000000000000000000006803000000000000000000000000000000000000000000000000000000000000700300000000000000000000000000000000000000000000000000000000000078030000000000000000000000000000000000000000000000000000000000008003000000000000000000000000000000000000000000000000000000000000880300000000000000000000000000000000000000000000000000000000000090030000000000000000000000000000000000000000000000000000000000009803000000000000000000000000000000000000000000000000000000000000a003000000000000000000000000000000000000000000000000000000000000a803000000000000000000000000000000000000000000000000000000000000b003000000000000000000000000000000000000000000000000000000000000b803000000000000000000000000000000000000000000000000000000000000c003000000000000000000000000000000000000000000000000000000000000c803000000000000000000000000000000000000000000000000000000000000d003000000000000000000000000000000000000000000000000000000000000d803000000000000000000000000000000000000000000000000000000000000e003000000000000000000000000000000000000000000000000000000000000e803000000000000000000000000000000000000000000000000000000000000f003000000000000000000000000000000000000000000000000000000000000f80300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000804000000000000000000000000000000000000000000000000000000000000100400000000000000000000000000000000000000000000000000000000000018040000000000000000000000000000000000000000000000000000000000002004000000000000000000000000000000000000000000000000000000000000280400000000000000000000000000000000000000000000000000000000000030040000000000000000000000000000000000000000000000000000000000003804000000000000000000000000000000000000000000000000000000000000400400000000000000000000000000000000000000000000000000000000000048040000000000000000000000000000000000000000000000000000000000005004000000000000000000000000000000000000000000000000000000000000580400000000000000000000000000000000000000000000000000000000000060040000000000000000000000000000000000000000000000000000000000006804000000000000000000000000000000000000000000000000000000000000700400000000000000000000000000000000000000000000000000000000000078040000000000000000000000000000000000000000000000000000000000008004000000000000000000000000000000000000000000000000000000000000880400000000000000000000000000000000000000000000000000000000000090040000000000000000000000000000000000000000000000000000000000009804000000000000000000000000000000000000000000000000000000000000a004000000000000000000000000000000000000000000000000000000000000a804000000000000000000000000000000000000000000000000000000000000b004000000000000000000000000000000000000000000000000000000000000b804000000000000000000000000000000000000000000000000000000000000c004000000000000000000000000000000000000000000000000000000000000c804000000000000000000000000000000000000000000000000000000000000d004000000000000000000000000000000000000000000000000000000000000d804000000000000000000000000000000000000000000000000000000000000e004000000000000000000000000000000000000000000000000000000000000e804000000000000000000000000000000000000000000000000000000000000f004000000000000000000000000000000000000000000000000000000000000f80400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000805000000000000000000000000000000000000000000000000000000000000100500000000000000000000000000000000000000000000000000000000000018050000000000000000000000000000000000000000000000000000000000002005000000000000000000000000000000000000000000000000000000000000280500000000000000000000000000000000000000000000000000000000000030050000000000000000000000000000000000000000000000000000000000003805000000000000000000000000000000000000000000000000000000000000400500000000000000000000000000000000000000000000000000000000000048050000000000000000000000000000000000000000000000000000000000005005000000000000000000000000000000000000000000000000000000000000580500000000000000000000000000000000000000000000000000000000000060050000000000000000000000000000000000000000000000000000000000006805000000000000000000000000000000000000000000000000000000000000700500000000000000000000000000000000000000000000000000000000000078050000000000000000000000000000000000000000000000000000000000008005000000000000000000000000000000000000000000000000000000000000880500000000000000000000000000000000000000000000000000000000000090050000000000000000000000000000000000000000000000000000000000009805000000000000000000000000000000000000000000000000000000000000a005000000000000000000000000000000000000000000000000000000000000a805000000000000000000000000000000000000000000000000000000000000b005000000000000000000000000000000000000000000000000000000000000b805000000000000000000000000000000000000000000000000000000000000c005000000000000000000000000000000000000000000000000000000000000c805000000000000000000000000000000000000000000000000000000000000d005000000000000000000000000000000000000000000000000000000000000d805000000000000000000000000000000000000000000000000000000000000e005000000000000000000000000000000000000000000000000000000000000e805000000000000000000000000000000000000000000000000000000000000f005000000000000000000000000000000000000000000000000000000000000f80500000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000806000000000000000000000000000000000000000000000000000000000000100600000000000000000000000000000000000000000000000000000000000018060000000000000000000000000000000000000000000000000000000000002006000000000000000000000000000000000000000000000000000000000000280600000000000000000000000000000000000000000000000000000000000030060000000000000000000000000000000000000000000000000000000000003806000000000000000000000000000000000000000000000000000000000000400600000000000000000000000000000000000000000000000000000000000048060000000000000000000000000000000000000000000000000000000000005006000000000000000000000000000000000000000000000000000000000000580600000000000000000000000000000000000000000000000000000000000060060000000000000000000000000000000000000000000000000000000000006806000000000000000000000000000000000000000000000000000000000000700600000000000000000000000000000000000000000000000000000000000078060000000000000000000000000000000000000000000000000000000000008006000000000000000000000000000000000000000000000000000000000000880600000000000000000000000000000000000000000000000000000000000090060000000000000000000000000000000000000000000000000000000000009806000000000000000000000000000000000000000000000000000000000000a006000000000000000000000000000000000000000000000000000000000000a806000000000000000000000000000000000000000000000000000000000000b006000000000000000000000000000000000000000000000000000000000000b806000000000000000000000000000000000000000000000000000000000000c006000000000000000000000000000000000000000000000000000000000000c806000000000000000000000000000000000000000000000000000000000000d006000000000000000000000000000000000000000000000000000000000000d806000000000000000000000000000000000000000000000000000000000000e006000000000000000000000000000000000000000000000000000000000000e806000000000000000000000000000000000000000000000000000000000000f006000000000000000000000000000000000000000000000000000000000000f80600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000807000000000000000000000000000000000000000000000000000000000000100700000000000000000000000000000000000000000000000000000000000018070000000000000000000000000000000000000000000000000000000000002007000000000000000000000000000000000000000000000000000000000000280700000000000000000000000000000000000000000000000000000000000030070000000000000000000000000000000000000000000000000000000000003807000000000000000000000000000000000000000000000000000000000000400700000000000000000000000000000000000000000000000000000000000048070000000000000000000000000000000000000000000000000000000000005007000000000000000000000000000000000000000000000000000000000000580700000000000000000000000000000000000000000000000000000000000060070000000000000000000000000000000000000000000000000000000000006807000000000000000000000000000000000000000000000000000000000000700700000000000000000000000000000000000000000000000000000000000078070000000000000000000000000000000000000000000000000000000000008007000000000000000000000000000000000000000000000000000000000000880700000000000000000000000000000000000000000000000000000000000090070000000000000000000000000000000000000000000000000000000000009807000000000000000000000000000000000000000000000000000000000000a007000000000000000000000000000000000000000000000000000000000000a807000000000000000000000000000000000000000000000000000000000000b007000000000000000000000000000000000000000000000000000000000000b807000000000000000000000000000000000000000000000000000000000000c007000000000000000000000000000000000000000000000000000000000000c807000000000000000000000000000000000000000000000000000000000000d007000000000000000000000000000000000000000000000000000000000000d807000000000000000000000000000000000000000000000000000000000000e007000000000000000000000000000000000000000000000000000000000000e807000000000000000000000000000000000000000000000000000000000000f007000000000000000000000000000000000000000000000000000000000000f80700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000808000000000000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000000000000000000000018080000000000000000000000000000000000000000000000000000000000002008000000000000000000000000000000000000000000000000000000000000280800000000000000000000000000000000000000000000000000000000000030080000000000000000000000000000000000000000000000000000000000003808000000000000000000000000000000000000000000000000000000000000400800000000000000000000000000000000000000000000000000000000000048080000000000000000000000000000000000000000000000000000000000005008000000000000000000000000000000000000000000000000000000000000580800000000000000000000000000000000000000000000000000000000000060080000000000000000000000000000000000000000000000000000000000006808000000000000000000000000000000000000000000000000000000000000700800000000000000000000000000000000000000000000000000000000000078080000000000000000000000000000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000880800000000000000000000000000000000000000000000000000000000000090080000000000000000000000000000000000000000000000000000000000009808000000000000000000000000000000000000000000000000000000000000a008000000000000000000000000000000000000000000000000000000000000a808000000000000000000000000000000000000000000000000000000000000b008000000000000000000000000000000000000000000000000000000000000b808000000000000000000000000000000000000000000000000000000000000c008000000000000000000000000000000000000000000000000000000000000c808000000000000000000000000000000000000000000000000000000000000d008000000000000000000000000000000000000000000000000000000000000d808000000000000000000000000000000000000000000000000000000000000e008000000000000000000000000000000000000000000000000000000000000e808000000000000000000000000000000000000000000000000000000000000f008000000000000000000000000000000000000000000000000000000000000f80800000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000809000000000000000000000000000000000000000000000000000000000000100900000000000000000000000000000000000000000000000000000000000018090000000000000000000000000000000000000000000000000000000000002009000000000000000000000000000000000000000000000000000000000000280900000000000000000000000000000000000000000000000000000000000030090000000000000000000000000000000000000000000000000000000000003809000000000000000000000000000000000000000000000000000000000000400900000000000000000000000000000000000000000000000000000000000048090000000000000000000000000000000000000000000000000000000000005009000000000000000000000000000000000000000000000000000000000000580900000000000000000000000000000000000000000000000000000000000060090000000000000000000000000000000000000000000000000000000000006809000000000000000000000000000000000000000000000000000000000000700900000000000000000000000000000000000000000000000000000000000078090000000000000000000000000000000000000000000000000000000000008009000000000000000000000000000000000000000000000000000000000000880900000000000000000000000000000000000000000000000000000000000090090000000000000000000000000000000000000000000000000000000000009809000000000000000000000000000000000000000000000000000000000000a009000000000000000000000000000000000000000000000000000000000000a809000000000000000000000000000000000000000000000000000000000000b009000000000000000000000000000000000000000000000000000000000000b809000000000000000000000000000000000000000000000000000000000000c009000000000000000000000000000000000000000000000000000000000000c809000000000000000000000000000000000000000000000000000000000000d009000000000000000000000000000000000000000000000000000000000000d809000000000000000000000000000000000000000000000000000000000000e009000000000000000000000000000000000000000000000000000000000000e809000000000000000000000000000000000000000000000000000000000000f009000000000000000000000000000000000000000000000000000000000000f809000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000080a000000000000000000000000000000000000000000000000000000000000100a000000000000000000000000000000000000000000000000000000000000180a000000000000000000000000000000000000000000000000000000000000200a000000000000000000000000000000000000000000000000000000000000280a000000000000000000000000000000000000000000000000000000000000300a000000000000000000000000000000000000000000000000000000000000380a000000000000000000000000000000000000000000000000000000000000400a000000000000000000000000000000000000000000000000000000000000480a000000000000000000000000000000000000000000000000000000000000500a000000000000000000000000000000000000000000000000000000000000580a000000000000000000000000000000000000000000000000000000000000600a000000000000000000000000000000000000000000000000000000000000680a000000000000000000000000000000000000000000000000000000000000700a000000000000000000000000000000000000000000000000000000000000780a000000000000000000000000000000000000000000000000000000000000800a000000000000000000000000000000000000000000000000000000000000880a000000000000000000000000000000000000000000000000000000000000900a000000000000000000000000000000000000000000000000000000000000980a000000000000000000000000000000000000000000000000000000000000a00a000000000000000000000000000000000000000000000000000000000000a80a000000000000000000000000000000000000000000000000000000000000b00a000000000000000000000000000000000000000000000000000000000000b80a000000000000000000000000000000000000000000000000000000000000c00a000000000000000000000000000000000000000000000000000000000000c80a000000000000000000000000000000000000000000000000000000000000d00a000000000000000000000000000000000000000000000000000000000000d80a000000000000000000000000000000000000000000000000000000000000e00a000000000000000000000000000000000000000000000000000000000000e80a000000000000000000000000000000000000000000000000000000000000f00a000000000000000000000000000000000000000000000000000000000000f80a000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000080b000000000000000000000000000000000000000000000000000000000000100b000000000000000000000000000000000000000000000000000000000000180b000000000000000000000000000000000000000000000000000000000000200b000000000000000000000000000000000000000000000000000000000000280b000000000000000000000000000000000000000000000000000000000000300b000000000000000000000000000000000000000000000000000000000000380b000000000000000000000000000000000000000000000000000000000000400b000000000000000000000000000000000000000000000000000000000000480b000000000000000000000000000000000000000000000000000000000000500b000000000000000000000000000000000000000000000000000000000000580b000000000000000000000000000000000000000000000000000000000000600b000000000000000000000000000000000000000000000000000000000000680b000000000000000000000000000000000000000000000000000000000000700b000000000000000000000000000000000000000000000000000000000000780b000000000000000000000000000000000000000000000000000000000000800b000000000000000000000000000000000000000000000000000000000000880b000000000000000000000000000000000000000000000000000000000000900b000000000000000000000000000000000000000000000000000000000000980b000000000000000000000000000000000000000000000000000000000000a00b000000000000000000000000000000000000000000000000000000000000a80b000000000000000000000000000000000000000000000000000000000000b00b000000000000000000000000000000000000000000000000000000000000b80b000000000000000000000000000000000000000000000000000000000000c00b000000000000000000000000000000000000000000000000000000000000c80b000000000000000000000000000000000000000000000000000000000000d00b000000000000000000000000000000000000000000000000000000000000d80b000000000000000000000000000000000000000000000000000000000000e00b000000000000000000000000000000000000000000000000000000000000e80b000000000000000000000000000000000000000000000000000000000000f00b000000000000000000000000000000000000000000000000000000000000f80b000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000080c000000000000000000000000000000000000000000000000000000000000100c000000000000000000000000000000000000000000000000000000000000180c000000000000000000000000000000000000000000000000000000000000200c000000000000000000000000000000000000000000000000000000000000280c000000000000000000000000000000000000000000000000000000000000300c000000000000000000000000000000000000000000000000000000000000380c000000000000000000000000000000000000000000000000000000000000400c000000000000000000000000000000000000000000000000000000000000480c000000000000000000000000000000000000000000000000000000000000500c000000000000000000000000000000000000000000000000000000000000580c000000000000000000000000000000000000000000000000000000000000600c000000000000000000000000000000000000000000000000000000000000680c000000000000000000000000000000000000000000000000000000000000700c000000000000000000000000000000000000000000000000000000000000780c000000000000000000000000000000000000000000000000000000000000800c000000000000000000000000000000000000000000000000000000000000880c000000000000000000000000000000000000000000000000000000000000900c000000000000000000000000000000000000000000000000000000000000980c000000000000000000000000000000000000000000000000000000000000a00c000000000000000000000000000000000000000000000000000000000000a80c000000000000000000000000000000000000000000000000000000000000b00c000000000000000000000000000000000000000000000000000000000000b80c000000000000000000000000000000000000000000000000000000000000c00c000000000000000000000000000000000000000000000000000000000000c80c000000000000000000000000000000000000000000000000000000000000d00c000000000000000000000000000000000000000000000000000000000000d80c000000000000000000000000000000000000000000000000000000000000e00c000000000000000000000000000000000000000000000000000000000000e80c000000000000000000000000000000000000000000000000000000000000f00c000000000000000000000000000000000000000000000000000000000000f80c000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000080d000000000000000000000000000000000000000000000000000000000000100d000000000000000000000000000000000000000000000000000000000000180d000000000000000000000000000000000000000000000000000000000000200d000000000000000000000000000000000000000000000000000000000000280d000000000000000000000000000000000000000000000000000000000000300d000000000000000000000000000000000000000000000000000000000000380d000000000000000000000000000000000000000000000000000000000000400d000000000000000000000000000000000000000000000000000000000000480d000000000000000000000000000000000000000000000000000000000000500d000000000000000000000000000000000000000000000000000000000000580d000000000000000000000000000000000000000000000000000000000000600d000000000000000000000000000000000000000000000000000000000000680d000000000000000000000000000000000000000000000000000000000000700d000000000000000000000000000000000000000000000000000000000000780d000000000000000000000000000000000000000000000000000000000000800d000000000000000000000000000000000000000000000000000000000000880d000000000000000000000000000000000000000000000000000000000000900d000000000000000000000000000000000000000000000000000000000000980d000000000000000000000000000000000000000000000000000000000000a00d000000000000000000000000000000000000000000000000000000000000a80d000000000000000000000000000000000000000000000000000000000000b00d000000000000000000000000000000000000000000000000000000000000b80d000000000000000000000000000000000000000000000000000000000000c00d000000000000000000000000000000000000000000000000000000000000c80d000000000000000000000000000000000000000000000000000000000000d00d000000000000000000000000000000000000000000000000000000000000d80d000000000000000000000000000000000000000000000000000000000000e00d000000000000000000000000000000000000000000000000000000000000e80d000000000000000000000000000000000000000000000000000000000000f00d000000000000000000000000000000000000000000000000000000000000f80d000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000080e000000000000000000000000000000000000000000000000000000000000100e000000000000000000000000000000000000000000000000000000000000180e000000000000000000000000000000000000000000000000000000000000200e000000000000000000000000000000000000000000000000000000000000280e000000000000000000000000000000000000000000000000000000000000300e000000000000000000000000000000000000000000000000000000000000380e000000000000000000000000000000000000000000000000000000000000400e000000000000000000000000000000000000000000000000000000000000480e000000000000000000000000000000000000000000000000000000000000500e000000000000000000000000000000000000000000000000000000000000580e000000000000000000000000000000000000000000000000000000000000600e000000000000000000000000000000000000000000000000000000000000680e000000000000000000000000000000000000000000000000000000000000700e000000000000000000000000000000000000000000000000000000000000780e000000000000000000000000000000000000000000000000000000000000800e000000000000000000000000000000000000000000000000000000000000880e000000000000000000000000000000000000000000000000000000000000900e000000000000000000000000000000000000000000000000000000000000980e000000000000000000000000000000000000000000000000000000000000a00e000000000000000000000000000000000000000000000000000000000000a80e000000000000000000000000000000000000000000000000000000000000b00e000000000000000000000000000000000000000000000000000000000000b80e000000000000000000000000000000000000000000000000000000000000c00e000000000000000000000000000000000000000000000000000000000000c80e000000000000000000000000000000000000000000000000000000000000d00e000000000000000000000000000000000000000000000000000000000000d80e000000000000000000000000000000000000000000000000000000000000e00e000000000000000000000000000000000000000000000000000000000000e80e000000000000000000000000000000000000000000000000000000000000f00e000000000000000000000000000000000000000000000000000000000000f80e000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000080f000000000000000000000000000000000000000000000000000000000000100f000000000000000000000000000000000000000000000000000000000000180f000000000000000000000000000000000000000000000000000000000000200f000000000000000000000000000000000000000000000000000000000000280f000000000000000000000000000000000000000000000000000000000000300f000000000000000000000000000000000000000000000000000000000000380f000000000000000000000000000000000000000000000000000000000000400f000000000000000000000000000000000000000000000000000000000000480f000000000000000000000000000000000000000000000000000000000000500f000000000000000000000000000000000000000000000000000000000000580f000000000000000000000000000000000000000000000000000000000000600f000000000000000000000000000000000000000000000000000000000000680f000000000000000000000000000000000000000000000000000000000000700f000000000000000000000000000000000000000000000000000000000000780f000000000000000000000000000000000000000000000000000000000000800f000000000000000000000000000000000000000000000000000000000000880f000000000000000000000000000000000000000000000000000000000000900f000000000000000000000000000000000000000000000000000000000000980f000000000000000000000000000000000000000000000000000000000000a00f000000000000000000000000000000000000000000000000000000000000a80f000000000000000000000000000000000000000000000000000000000000b00f000000000000000000000000000000000000000000000000000000000000b80f000000000000000000000000000000000000000000000000000000000000c00f000000000000000000000000000000000000000000000000000000000000c80f000000000000000000000000000000000000000000000000000000000000d00f000000000000000000000000000000000000000000000000000000000000d80f000000000000000000000000000000000000000000000000000000000000e00f000000000000000000000000000000000000000000000000000000000000e80f000000000000000000000000000000000000000000000000000000000000f00f000000000000000000000000000000000000000000000000000000000000f80f000000000000000000000000000000000000000000000000000000000000
LUTSelector	Luminance
LineSelector	Line1
LineMode	Input
LineSelector	Line2
LineMode	Output
LineSelector	Line3
LineMode	Input
LineSelector	Line4
LineMode	Input
LineSelector	Line1
LineSelector	Line2
LineSource	UserOutput1
LineSelector	Line1
LineSelector	Line1
LineInverter	0
LineSelector	Line2
LineInverter	0
LineSelector	Line3
LineInverter	0
LineSelector	Line4
LineInverter	0
LineSelector	Line1
LineSelector	Line1
LineDebouncerTime	0.00000
LineSelector	Line3
LineDebouncerTime	0.00000
LineSelector	Line4
LineDebouncerTime	0.00000
LineSelector	Line1
LineSelector	Line2
LineMinimumOutputPulseWidth	0.000
LineSelector	Line1
UserOutputValueAll	0
BslLightControlMode	Off
TimerSelector	Timer1
TimerDuration	10.0
TimerSelector	Timer1
TimerSelector	Timer1
TimerDelay	0.0
TimerSelector	Timer1
TimerSelector	Timer1
TimerTriggerSource	ExposureStart
TimerSelector	Timer1
CounterSelector	Counter1
CounterEventSource	FrameStart
CounterSelector	Counter2
CounterEventSource	FrameStart
CounterSelector	Counter1
CounterSelector	Counter1
CounterResetSource	Off
CounterSelector	Counter2
CounterResetSource	Counter2End
CounterSelector	Counter1
EventSelector	ExposureEnd
EventNotification	Off
EventSelector	FrameStart
EventNotification	Off
EventSelector	FrameBurstStart
EventNotification	Off
EventSelector	FrameStartOvertrigger
EventNotification	Off
EventSelector	FrameBurstStartOvertrigger
EventNotification	Off
EventSelector	CriticalTemperature
EventNotification	Off
EventSelector	OverTemperature
EventNotification	Off
EventSelector	FrameStartWait
EventNotification	Off
EventSelector	FrameBurstStartWait
EventNotification	Off
EventSelector	ExposureEnd
UserDefinedValueSelector	Value1
UserDefinedValue	0
UserDefinedValueSelector	Value2
UserDefinedValue	0
UserDefinedValueSelector	Value3
UserDefinedValue	0
UserDefinedValueSelector	Value4
UserDefinedValue	0
UserDefinedValueSelector	Value5
UserDefinedValue	0
UserDefinedValueSelector	Value1

pylon installation

Hello,
I'm trying to add pylonsrc plugin but the zip files generated at the end are empty

image
image

what did I do wrong ?

Problems trying to compile on Ubuntu

Good day Josh,
I can't build your plug-ins in Linux Ubuntu.
When i run cmake, i get the following error:

Could NOT find GStreamer (missing: GSTREAMER_LIBRARY GSTREAMER_INCLUDE_DIR
GSTREAMER_BASE_LIBRARY GSTREAMER_BASE_INCLUDE_DIR)

I know you mentioned that you ran and tested it on x86-64 Windows but do you know if i can run and build it under Linux Ubuntu 64?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.