Issues viewing and reading from USB camera

Hi team,

We have setup a Allied Vision ALVIUM 1800 U-240c USB 3 Genicam camera with a Ubuntu 22.04.2 LTS machine. We are using the Aravis Project command “aravissrc” to read from the Allied Vision Genicam and send the result to AWS Video Kinesis. Most of the time the setup works without any issues. But we notice two issues

  1. When machine restarts I cannot run the G-streamer pipe to send the video to AWS. It requires me to run the “arv-viewer-0.8” and I have to press play on UI with a specific format I’m trying to read from camera (Mono8 for example). Once the Aravis Viewer is lunched after pressing play. Then I stop the live view without closing the command line and I can run the Gstreamer pipe to send the video to AWS without any issues. One thing I don’t understand is why would it require to lunch the live feed via “arv-viewer-0.8” before I can read and send to AWS. It seems like its warming up the device or allowing the hardware to know its possible to read the specific format, FPS resolution etc…

  2. Another issue is sometimes the “arv-viewer-0.8” or G-Streamer command requires me to physicaly pull the USB 3 camera out and plug back in. Without plugging the camera in and out the commands have issues reading from camera source, even though I can see the device is plugged in. As soon the Aravis Viewer is lunched and I press on the specific Allied Vision camera model. All the buttons are unclickable and greyed out as seen by screen shot below. I cannot press play. The error that gets thrown on the terminal when I click the camera is:

"(arv-viewer-0.8:4079): GLib-CRITICAL **: 19:24:48.200: g_thread_join: assertion ‘thread’ failed

Also when I run the G-Streamer command it get similar error:

(gst-launch-1.0:4306): GLib-CRITICAL **: 19:31:26.274: g_thread_join: assertion ‘thread’ failed
ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not read camera “Allied Vision-xxxxx-xxxxx”: Failed to bootstrap USB device ‘(null)-(null)-(null)-1AB22C027323’

So as mentioned the solution is to unplug the USB port and plug it back in and run the commands. I have seen another topic on this form that also has similar issues which requires to plug the camera in and out (How to reset a camera whose control I lost - #5 by louis-demers)

Below is the pipe I use for you’re reference:

gst-launch-1.0 -e --gst-plugin-path=/usr/local/lib/ aravissrc camera-name=“Allied Vision-xxxxxxxx-xxxxx” exposure=8900 exposure-auto=0 gain=23 gain-auto=0 ! video/x-raw,format=GRAY8,width=1920,height=1080,framerate=80/1 ! videoconvert ! x264enc bframes=0 key-int-max=45 bitrate=5500 ! h264parse ! video/x-h264,stream-format=avc,alignment=au,profile=high ! kvssink stream-name=“camera_xxx” storage-size=512 access-key=“xxxxxxxxxxxx” secret-key=“xxxxxxxxxxx” aws-region=“us-west-2”