Ubuntu 23.10,
GStreamer Core Library version 1.14.1,
Aravis 0.8,
v4l2loopback v0.12.7
Camera description:
Manufacturer: FLIR
Model: BFLY-PGE-50A2M-CS: 5.0 MP, 13 FPS, Aptina MT9P031, Mono (https://www.flir.com/products/blackfly-gige/?model=BFLY-PGE-50A2M-CS)
Interface: GigE
Camera well observed in Aravis GUI.
Attempting to follow/update:
gige_gst_v4l.md
# Using GigE cam as webcam for Zoom/Skype/Teams
**TL;DR:** Creates a Gstreamer pipeline to read camera frames from a GigE camera, using Aravis library, and publish them as V4l2 camera source, using V4l2loopback, that can be read by video conferencing programs like Zoom/Skype/Teams.
```
gst-launch-1.0 aravissrc blocksize=5013504 h-binning=1 v-binning=1 ! video/x-bayer,format=rggb,framerate=100/5,width=2448,height=2048 ! bayer2rgb ! video/x-raw,format=RGBx ! videoconvert ! video/x-raw,format=YUY2 ! aspectratiocrop aspect-ratio=16/9 ! videoscale ! video/x-raw,width=1280,height=720 ! queue ! v4l2sink device=/dev/video0
```
------------
## The Basics
This file has been truncated. show original
gige_gst_v4l.sh
#!/bin/bash
CAM_NAME="kln_cam"
GIGE_ADDR="192.168.1.17"
# parse cmdline options
function usage() {
echo "Usage: $0 [-a 3:2|16:9|raw] [-f mono|rgb] [-t fps] [-h]"
exit 1
}
This file has been truncated. show original
I have installed Aravis 0.8 (and 0.6 to attempt to follow above link), and set
export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0/:$GST_PLUGIN_PATH
But still
gst-launch-1.0 aravissrc ! videoconvert ! xvimagesink
WARNING: erroneous pipeline: no element "aravissrc"
And
gst-inspect-1.0 aravissrc:
No such element or plugin 'aravissrc'
libgstaravis.so can be found at /usr/lib/x86_64-linux-gnu/gstreamer-1.0
Halp.
Hi,
If the plugin is in /usr/lib/x86_64-linux-gnu/gstreamer-1.0
, you should add this directory in GST_PLUGIN_PATH
.
Emmanuel.
Thanks for the quick reply. Yeah, sorry, I didn’t include all my testing, as there has been lots. I tried just that path. I have also tried adding it (to include all paths; example below), but it doesn’t seem to help.
From:
export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0/:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:$GST_PLUGIN_PATH
I observe:
Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstaudioresample.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstaudioresample.so: undefined symbol: gst_buffer_add_audio_meta
WARNING: erroneous pipeline: no element "aravissrc"
Also, not sure what “sudo ldconfig” does, but I have attempted that as well.
Again, thank you so much for the helpful project and any assistance!
Try to delete the gstreamer registry, and enable debugging while looking for aravis using gst-inspect:
rm ~/.cache/gstreamer-1.0/registry.x86_64.bin
GST_DEBUG=4 gst-inspect aravis
I removed the registry.
But:
GST_DEBUG=4 gst-inspect aravis
Fails with:
gst-inspect: command not found
I set it with:
export GST_DEBUG=4
And still get
No such element or plugin 'aravissrc'
No other output seems relevant, but can be found:
It looks like the interesting informations are in the next debug level. Try:
GST_DEBUG=5 gst-inspect-1.0 aravis
Please attach the debug output here, google docs are not easy to read.
Yeah, sorry, I didn’t want to clog this with text, so I included human readable pictures as well as the text in the GD above, but I understand. Hrm, but now the debug=5 outputs 4 times the allowable discourse size limit. I threw the output in the GD link above, but let me know if you have a better suggestion.
And now GST_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/gstreamer-1.0 GST_DEBUG=5 gst-inspect-1.0 aravis
?
onecore:
Yeah, sorry, I didn’t want to clog this with text, so I included human readable pictures as well as the text in the GD above, but I understand.
I have enabled text file upload.
Sorry again, but Discourse says ‘new users cannot upload attachments’. Sigh. The first part of this huge output is in this new link (it was crashing google docs in the first one): https://docs.google.com/document/d/1clwR3jctqdB7s-Fmc_AdACVIMDkLCJWuhIZvlyWMfHc/edit?usp=sharing
Same output after running
GST_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/gstreamer-1.0 GST_DEBUG=5 gst-inspect-1.0 aravis
…after clearing the cash per above. In this new GD link I prove that libgstaravis.0.8.so is there.
But while poking around, I observe:
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0
holds files that appear relevant (gst-codec-info-1.0, etc, pic in GD). Note the odd file structure (No dash and additional folder).
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0 # holds files like gst-codec-info-1.0
/usr/lib/x86_64-linux-gnu/gstreamer-1.0 # Holds other relevant gstreamer files
I am not sure how these ended up here or if they are supposed to be there, but can/should I try:
# cp -a /source/. /dest/
cp -a /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/ . /usr/lib/x86_64-linux-gnu/gstreamer-1.0
?
Thank you!!
I also have a fresh laptop I can try this on. But any steps I may have missed or anything else I should try different?
Hello, sorry for the late reply. I attempted the sudo copy paste of the gstreamer to what seemed more appropriate to me, but that did not help.
I tried to install again on a fresh laptop, but stray further from success, as aravissrc still cannot be found, but also on that system I cannot get the camera to be observed in the viewer.
Oi, yoi yoi. Any thoughts or assistance would be greatly appreciated. Let me know any other information you would like to see. Thank you!