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 application should now be saved as an exception in your security settings, allowing you to open it in the future.

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 exits with Creation of elements failed for {first,second} pipeline or Creation of {first,second} pipeline failed, 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.

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 additional packages need to be installed. Please refer to the official GStreamer documentation for installation instructions.

  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.