This gstreamer pipeline works as expected (cam0):
gst-launch-1.0 aravissrc camera-name="cam0 " ! video/x-raw,format=GRAY8,width=2448,height=2048 ! videoconvert ! queue ! x264enc speed-preset=ultrafast ! rtspclientsink location=rtsp://localhost:8554/cam0
as does this (cam1):
gst-launch-1.0 aravissrc camera-name="cam1" ! video/x-raw,format=GRAY8,width=2448,height=2048 ! videoconvert ! queue ! x264enc speed-preset=ultrafast ! rtspclientsink location=rtsp://localhost:8554/cam1
However, if one of them is already running (e.g., cam0) and I start the second (e.g., cam1), then the first instance hangs and eventually times out with this error:
ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAravis:aravis0:
streaming stopped, reason error (-5)
Execution ended after 0:00:40.284995615
Setting pipeline to NULL ...
Freeing pipeline ...
Meanwhile, the second instance (e.g., cam1) hangs at one of the “Redistribute latency…” lines and eventually exits (after 5-6 minutes) with:
ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAravis:aravis0:
streaming stopped, reason error (-5)
Execution ended after 0:06:09.875235590
Setting pipeline to NULL ...
Freeing pipeline ...
I’ve seen posts from at least one person claiming to be using multiple gstreamer aravissrc instances. Any ideas why this doesn’t work for me? Thanks!
PS. Before finding aravissrc, I was using python to drive a gstreamer pipeline (without aravissrc) and I had no problem with two instances of that script running.
PPS. I also tried simpler pipelines, with the same result (with and without the videoconvert stage):
gst-launch-1.0 aravissrc camera-name="cam0" ! videoconvert ! fakesink
gst-launch-1.0 aravissrc camera-name="cam1" ! videoconvert ! fakesink