Skip to content

Troubleshooting on macOS

Executable permissions

In some cases macOS does not give you permission to run the application, because 'the developer cannot be verified'. In this case handle as follows:

  1. Locate the demo application in Finder.
  2. Control+Click the demo application and select Open.
  3. Click Open.

The above process also needs to be done for the plugin library file libplumerai_gstreamer_plugin.dylib. Afterwards, the Plumerai demo should now be saved as an exception in your security settings, allowing you to open it in the future.

Troubleshooting installation issues

If the demo exits and prints [Plumerai] GStreamer error: Creation failure for 'people_detection', then it is likely that the demo executable cannot find the library plugin library file. Make sure both files are in the same directory and that you run the executable from that directory (i.e. ./plumerai_demo and not ./path/to/plumerai_demo). Alternatively, you can try to set the GST_PLUGIN_PATH variable to point to the folder in which the libplumerai_gstreamer_plugin.dylib file can be found, e.g. export GST_PLUGIN_PATH=/path/to/some/folder.

If the demo does not start and prints Library not loaded: '@rpath/libplumerai_gstreamer_plugin.dylib', then the demo executable cannot find the library plugin library file. Make sure both files are in the same directory. Alternatively, you can set the DYLD_LIBRARY_PATH variable to point to the folder in which the libplumerai_gstreamer_plugin.dylib file can be found, e.g. export DYLD_LIBRARY_PATH=/path/to/some/folder.

If the demo does not start and prints Library not loaded: '@rpath/libgstreamer-1.0.0.dylib', then the demo executable cannot find the GStreamer library file. Make sure you have installed GStreamer as described here. If the error persists, you can set the DYLD_LIBRARY_PATH variable to point to the folder in which the libgstreamer-1.0.0.dylib file can be found, e.g. export DYLD_LIBRARY_PATH=/path/to/some/folder.

Troubleshooting GStreamer issues

If the demo does not work you should first verify whether your camera and GStreamer are set-up correctly before contacting Plumerai. For example, if the demo printed a message starting with [Plumerai] GStreamer error:, this is most likely a GStreamer issue, and you can most likely get a more detailed error message by running the following standard GStreamer command from a terminal.

For GStreamer utilities to be available via the command line you will likely need to prepend the GStreamer installation path to the $PATH variable, e.g.:

export PATH="/Library/Frameworks/GStreamer.framework/Versions/Current/bin/:$PATH"

First, make sure your camera device and input resolution is right. Use the following command to list available video devices and their supported resolutions:

gst-device-monitor-1.0 Video

Next, try a few GStreamer pipelines from the terminal that mimic parts of the Plumerai GStreamer demo app, but with standard GStreamer tools. If an issue shows up during one of these pipelines, then it might be worthwhile searching the GStreamer documentation or the internet in general for solutions. Additional debug output can be obtained by adding the -v -m flags to the gst-launch-1.0 commands from below.

The simplest test is to just open the camera as input and direct it to screen output, e.g. run:

gst-launch-1.0 avfvideosrc device-index=<YOUR_CAMERA_ID> ! glimagesink
Here, <YOUR_CAMERA_ID> needs to be changed to e.g. 0 for the first camera.

If this works, you can specify the raw video input with the resolution of choice. E.g. for the first camera with 1280 x 720:

gst-launch-1.0 avfvideosrc device-index=0 ! "video/x-raw,width=1280,height=720" ! videoconvert ! capsfilter caps="video/x-raw, format=RGB" ! glimagesink sync=false

If that also works, you can try a more complicated pipeline, which mimics the Plumerai demo application (in terms of GStreamer components) as close as possible:

gst-launch-1.0 avfvideosrc device-index=0 do-timestamp=true ! "video/x-raw,width=1280,height=720,framerate=30/1" ! videoconvert ! capsfilter caps="video/x-raw, format=RGB" ! videoflip method=horizontal-flip ! textoverlay text="test" ! glimagesink sync=false

Alternatively, if you experience issues with file-based input or file-based output, you can try the following pipeline:

gst-launch-1.0 filesrc location=/path/to/some/video.mp4 ! decodebin ! videoconvert ! x264enc ! matroskamux ! filesink location=output.mkv

Troubleshooting the Plumerai demo application

If all of the above works from the command-line, but the Plumerai People Detection demo does not, then the first step is to ask GStreamer to print more debug-output. This is done by running export GST_DEBUG=3 in the terminal before running the demo. Below are potential error messages that could show up:

  1. If you get an error message along the lines of erroneous pipeline: no element <x> then it might be that some GStreamer plugins cannot be found. In that case you'll have to specify GST_PLUGIN_SYSTEM_PATH manually such that GStreamer can find them. This is dependent on your GStreamer installation directory.

  2. If you get an error message along the lines of GStreamer error received from element 'source': 'Internal data stream error.' check the supported resolutions and frame rates of your camera via gst-device-monitor-1.0 Video and adjust the video_width, video_height, and input_framerate (defaulted to 30 fps) parameters accordingly.