ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    VOXL camera configuration

    Ask your questions right here!
    4
    30
    2137
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Chad SweetC
      Chad Sweet ModalAI Team
      last edited by

      The instructions are in the readme here: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-uvc-server

      Chad SweetC 1 Reply Last reply Reply Quote 0
      • Chad SweetC
        Chad Sweet ModalAI Team @Chad Sweet
        last edited by

        @Chad-Sweet But yes, you modify the code, build it, and push the IPK to VOXL

        KrisK 2 Replies Last reply Reply Quote 0
        • KrisK
          Kris @Chad Sweet
          last edited by

          @Chad-Sweet
          Is the Hires + TOF + Stereo (one stereo configured as the tracking camera) configuration possible?
          In case the e-CAM83 will not work with the Seeker.

          1 Reply Last reply Reply Quote 0
          • KrisK
            Kris @Chad Sweet
            last edited by Kris

            @Chad-Sweet
            Just to confirm,
            If I modify the voxl-uvc-server/src/main.c file, to allow H264 format, would this work?
            Or does the modification need to happen somewhere else in the main.c?
            I’m just not exactly sure what or where I need to modify the voxl-uvc-server to make my UVC camera work.

            Eric KatzfeyE 1 Reply Last reply Reply Quote 0
            • Eric KatzfeyE
              Eric Katzfey ModalAI Team @Kris
              last edited by

              @Kris H264 is not supported in voxl-uvc-server. See https://gitlab.com/voxl-public/voxl-sdk/services/voxl-uvc-server/-/blob/dev/src/main.c#L64. You may be able to add support for it but there are some tricky aspects to H264 streaming that you would need to be aware of before attempting it. Seems like you should start with the video3 interface since it supports 640x480 YUYV

              KrisK 2 Replies Last reply Reply Quote 0
              • KrisK
                Kris @Eric Katzfey
                last edited by

                @Eric-Katzfey
                Ok, thank you.
                I will start with attempting /dev/video3 first.

                1 Reply Last reply Reply Quote 0
                • KrisK
                  Kris @Eric Katzfey
                  last edited by Kris

                  @Eric-Katzfey
                  It seems as if VOXL1 is not able to connect with my UVC camera.
                  Output when UVC camera is connected to the Seeker;

                  voxl:~$ gst-device-monitor-1.0 Video/Source
                  Probing devices...
                  
                  
                  (gst-device-monitor-1.0:4152): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4152): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4152): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4152): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4152): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  No devices found!
                  voxl:~$ gst-device-monitor-1.0             
                  Probing devices...
                  
                  
                  (gst-device-monitor-1.0:4157): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4157): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4157): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4157): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  (gst-device-monitor-1.0:4157): GStreamer-CRITICAL **: gst_element_message_full_with_details: assertion 'GST_IS_ELEMENT (element)' failed
                  
                  Device found:
                  
                  	name  : msm_fd
                  	class : Video/Sink
                  	caps  : video/x-raw, format=(string)GRAY8, width=(int)[ 320, 854 ], height=(int)[ 240, 480 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, 2:6:5:7, 2:0:0:0 };
                  	properties:
                  		device.path = /dev/video1
                  		udev-probed = false
                  		device.api = v4l2
                  		v4l2.device.driver = msm_fd
                  		v4l2.device.card = msm_fd
                  		v4l2.device.bus_info = ""
                  		v4l2.device.version = 201287 (0x00031247)
                  		v4l2.device.capabilities = 69206018 (0x04200002)
                  		v4l2.device.device_caps = 2097152 (0x00200000)
                  

                  Output when my UVC camera is connected to my Linux PC;

                  seeker3@seeker3-VirtualBox:~$ gst-device-monitor-1.0 Video/Source
                  Probing devices...
                  
                  
                  Device found:
                  
                  	name  : e-CAM83_USB
                  	class : Video/Source
                  	caps  : video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 };
                  	        video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
                  	properties:
                  		udev-probed = true
                  		device.bus_path = pci-0000:00:0c.0-usb-0:2:1.0
                  		sysfs.path = /sys/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0/video4linux/video0
                  		device.bus = usb
                  		device.subsystem = video4linux
                  		device.vendor.id = 2560
                  		device.vendor.name = e-ConSystems
                  		device.product.id = c184
                  		device.product.name = e-CAM83_USB
                  		device.serial = e-ConSystems_e-CAM83_USB_00.00.01
                  		device.capabilities = :capture:
                  		device.api = v4l2
                  		device.path = /dev/video0
                  		v4l2.device.driver = uvcvideo
                  		v4l2.device.card = e-CAM83_USB
                  		v4l2.device.bus_info = usb-0000:00:0c.0-2
                  		v4l2.device.version = 328933 (0x000504e5)
                  		v4l2.device.capabilities = 2225078273 (0x84a00001)
                  		v4l2.device.device_caps = 69206017 (0x04200001)
                  	gst-launch-1.0 v4l2src ! ...
                  
                  
                  Device found:
                  
                  	name  : e-CAM83_USB
                  	class : Video/Source
                  	caps  : video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1;
                  	        image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
                  	properties:
                  		udev-probed = true
                  		device.bus_path = pci-0000:00:0c.0-usb-0:2:1.0
                  		sysfs.path = /sys/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0/video4linux/video2
                  		device.bus = usb
                  		device.subsystem = video4linux
                  		device.vendor.id = 2560
                  		device.vendor.name = e-ConSystems
                  		device.product.id = c184
                  		device.product.name = e-CAM83_USB
                  		device.serial = e-ConSystems_e-CAM83_USB_00.00.01
                  		device.capabilities = :capture:
                  		device.api = v4l2
                  		device.path = /dev/video2
                  		v4l2.device.driver = uvcvideo
                  		v4l2.device.card = e-CAM83_USB
                  		v4l2.device.bus_info = usb-0000:00:0c.0-2
                  		v4l2.device.version = 328933 (0x000504e5)
                  		v4l2.device.capabilities = 2225078273 (0x84a00001)
                  		v4l2.device.device_caps = 69206017 (0x04200001)
                  	gst-launch-1.0 v4l2src device=/dev/video2 ! ...
                  
                  seeker3@seeker3-VirtualBox:~$ gst-device-monitor-1.0
                  Probing devices...
                  
                  
                  Device found:
                  
                  	name  : Monitor of Built-in Audio Analog Stereo
                  	class : Audio/Source
                  	caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	        audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	        audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	properties:
                  		device.description = "Monitor\ of\ Built-in\ Audio\ Analog\ Stereo"
                  		device.class = monitor
                  		alsa.card = 0
                  		alsa.card_name = "Intel\ 82801AA-ICH"
                  		alsa.long_card_name = "Intel\ 82801AA-ICH\ with\ AD1980\ at\ irq\ 21"
                  		alsa.driver_name = snd_intel8x0
                  		device.bus_path = pci-0000:00:05.0
                  		sysfs.path = /devices/pci0000:00/0000:00:05.0/sound/card0
                  		device.bus = pci
                  		device.vendor.id = 8086
                  		device.vendor.name = "Intel\ Corporation"
                  		device.product.id = 2415
                  		device.product.name = "82801AA\ AC\'97\ Audio\ Controller"
                  		device.form_factor = internal
                  		device.string = 0
                  		module-udev-detect.discovered = 1
                  		device.icon_name = audio-card-pci
                  	gst-launch-1.0 pulsesrc device=alsa_output.pci-0000_00_05.0.analog-stereo.monitor ! ...
                  
                  
                  Device found:
                  
                  	name  : Built-in Audio Analog Stereo
                  	class : Audio/Source
                  	caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	        audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	        audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	properties:
                  		alsa.resolution_bits = 16
                  		device.api = alsa
                  		device.class = sound
                  		alsa.class = generic
                  		alsa.subclass = generic-mix
                  		alsa.name = "Intel\ 82801AA-ICH"
                  		alsa.id = "Intel\ ICH"
                  		alsa.subdevice = 0
                  		alsa.subdevice_name = "subdevice\ \#0"
                  		alsa.device = 0
                  		alsa.card = 0
                  		alsa.card_name = "Intel\ 82801AA-ICH"
                  		alsa.long_card_name = "Intel\ 82801AA-ICH\ with\ AD1980\ at\ irq\ 21"
                  		alsa.driver_name = snd_intel8x0
                  		device.bus_path = pci-0000:00:05.0
                  		sysfs.path = /devices/pci0000:00/0000:00:05.0/sound/card0
                  		device.bus = pci
                  		device.vendor.id = 8086
                  		device.vendor.name = "Intel\ Corporation"
                  		device.product.id = 2415
                  		device.product.name = "82801AA\ AC\'97\ Audio\ Controller"
                  		device.form_factor = internal
                  		device.string = front:0
                  		device.buffering.buffer_size = 17632
                  		device.buffering.fragment_size = 4408
                  		device.access_mode = mmap
                  		device.profile.name = analog-stereo
                  		device.profile.description = "Analog\ Stereo"
                  		device.description = "Built-in\ Audio\ Analog\ Stereo"
                  		alsa.mixer_name = "Analog\ Devices\ AD1980"
                  		alsa.components = AC97a:41445370
                  		module-udev-detect.discovered = 1
                  		device.icon_name = audio-card-pci
                  	gst-launch-1.0 pulsesrc device=alsa_input.pci-0000_00_05.0.analog-stereo ! ...
                  
                  
                  Device found:
                  
                  	name  : Built-in Audio Analog Stereo
                  	class : Audio/Sink
                  	caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	        audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	        audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                  	properties:
                  		alsa.resolution_bits = 16
                  		device.api = alsa
                  		device.class = sound
                  		alsa.class = generic
                  		alsa.subclass = generic-mix
                  		alsa.name = "Intel\ 82801AA-ICH"
                  		alsa.id = "Intel\ ICH"
                  		alsa.subdevice = 0
                  		alsa.subdevice_name = "subdevice\ \#0"
                  		alsa.device = 0
                  		alsa.card = 0
                  		alsa.card_name = "Intel\ 82801AA-ICH"
                  		alsa.long_card_name = "Intel\ 82801AA-ICH\ with\ AD1980\ at\ irq\ 21"
                  		alsa.driver_name = snd_intel8x0
                  		device.bus_path = pci-0000:00:05.0
                  		sysfs.path = /devices/pci0000:00/0000:00:05.0/sound/card0
                  		device.bus = pci
                  		device.vendor.id = 8086
                  		device.vendor.name = "Intel\ Corporation"
                  		device.product.id = 2415
                  		device.product.name = "82801AA\ AC\'97\ Audio\ Controller"
                  		device.form_factor = internal
                  		device.string = front:0
                  		device.buffering.buffer_size = 19188
                  		device.buffering.fragment_size = 6396
                  		device.access_mode = mmap
                  		device.profile.name = analog-stereo
                  		device.profile.description = "Analog\ Stereo"
                  		device.description = "Built-in\ Audio\ Analog\ Stereo"
                  		alsa.mixer_name = "Analog\ Devices\ AD1980"
                  		alsa.components = AC97a:41445370
                  		module-udev-detect.discovered = 1
                  		device.icon_name = audio-card-pci
                  	gst-launch-1.0 ... ! pulsesink device=alsa_output.pci-0000_00_05.0.analog-stereo
                  
                  
                  Device found:
                  
                  	name  : e-CAM83_USB
                  	class : Video/Source
                  	caps  : video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 };
                  	        video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
                  	properties:
                  		udev-probed = true
                  		device.bus_path = pci-0000:00:0c.0-usb-0:2:1.0
                  		sysfs.path = /sys/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0/video4linux/video0
                  		device.bus = usb
                  		device.subsystem = video4linux
                  		device.vendor.id = 2560
                  		device.vendor.name = e-ConSystems
                  		device.product.id = c184
                  		device.product.name = e-CAM83_USB
                  		device.serial = e-ConSystems_e-CAM83_USB_00.00.01
                  		device.capabilities = :capture:
                  		device.api = v4l2
                  		device.path = /dev/video0
                  		v4l2.device.driver = uvcvideo
                  		v4l2.device.card = e-CAM83_USB
                  		v4l2.device.bus_info = usb-0000:00:0c.0-2
                  		v4l2.device.version = 328933 (0x000504e5)
                  		v4l2.device.capabilities = 2225078273 (0x84a00001)
                  		v4l2.device.device_caps = 69206017 (0x04200001)
                  	gst-launch-1.0 v4l2src ! ...
                  
                  
                  Device found:
                  
                  	name  : e-CAM83_USB
                  	class : Video/Source
                  	caps  : video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1;
                  	        image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
                  	properties:
                  		udev-probed = true
                  		device.bus_path = pci-0000:00:0c.0-usb-0:2:1.0
                  		sysfs.path = /sys/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0/video4linux/video2
                  		device.bus = usb
                  		device.subsystem = video4linux
                  		device.vendor.id = 2560
                  		device.vendor.name = e-ConSystems
                  		device.product.id = c184
                  		device.product.name = e-CAM83_USB
                  		device.serial = e-ConSystems_e-CAM83_USB_00.00.01
                  		device.capabilities = :capture:
                  		device.api = v4l2
                  		device.path = /dev/video2
                  		v4l2.device.driver = uvcvideo
                  		v4l2.device.card = e-CAM83_USB
                  		v4l2.device.bus_info = usb-0000:00:0c.0-2
                  		v4l2.device.version = 328933 (0x000504e5)
                  		v4l2.device.capabilities = 2225078273 (0x84a00001)
                  		v4l2.device.device_caps = 69206017 (0x04200001)
                  	gst-launch-1.0 v4l2src device=/dev/video2 ! ...
                  

                  A simple video test will not work either.

                  voxl:~$ gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink
                  Setting pipeline to PAUSED ...
                  Pipeline is PREROLLING ...
                  WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Resource not found.
                  Additional debug info:
                  /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/gst/autodetect/gstautodetect.c(347): gst_auto_detect_find_best (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0:
                  Failed to find a usable video sink
                  Pipeline is PREROLLED ...
                  Setting pipeline to PLAYING ...
                  New clock: GstSystemClock
                  ^Chandling interrupt.
                  Interrupt: Stopping pipeline ...
                  Execution ended after 0:00:17.998587815
                  Setting pipeline to PAUSED ...
                  Setting pipeline to READY ...
                  Setting pipeline to NULL ...
                  Freeing pipeline ...
                  

                  Are there any plugins that I could be missing?

                  KrisK 1 Reply Last reply Reply Quote 0
                  • KrisK
                    Kris @Kris
                    last edited by Kris

                    Keeps failing to find a usable video sink.

                    voxl:~$ show-video-device-info.sh
                    /dev/video2: e-CAM83_USB 2560:c184
                    /dev/video3: e-CAM83_USB 2560:c184
                    voxl:~$ gst-launch-1.0 v4l2src device=/dev/video3 ! videoconvert ! autovideosink
                    Setting pipeline to PAUSED ...
                    ERROR: Pipeline doesn't want to pause.
                    WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Resource not found.
                    Additional debug info:
                    /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/gst/autodetect/gstautodetect.c(347): gst_auto_detect_find_best (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0:
                    Failed to find a usable video sink
                    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not open device '/dev/video3' for reading and writing.
                    Additional debug info:
                    /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/sys/v4l2/v4l2_calls.c(625): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
                    system error: Device or resource busy
                    Setting pipeline to NULL ...
                    Freeing pipeline ...
                    voxl:~$ gst-launch-1.0 v4l2src device=/dev/video2 ! videoconvert ! autovideosink
                    Setting pipeline to PAUSED ...
                    ERROR: Pipeline doesn't want to pause.
                    WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Resource not found.
                    Additional debug info:
                    /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/gst/autodetect/gstautodetect.c(347): gst_auto_detect_find_best (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0:
                    Failed to find a usable video sink
                    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not open device '/dev/video2' for reading and writing.
                    Additional debug info:
                    /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/sys/v4l2/v4l2_calls.c(625): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
                    system error: Device or resource busy
                    Setting pipeline to NULL ...
                    Freeing pipeline ...
                    voxl:~$ 
                    

                    Output when debug command is used.

                    voxl:~$ GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video3 ! videoconvert ! autovideosink
                    Setting pipeline to PAUSED ...
                    0:00:00.229741613  4689    0xdf500 WARN              autodetect gstautodetect.c:347:gst_auto_detect_find_best:<autovideosink0> warning: Failed to find a usable video sink
                    0:00:00.277135238  4689    0xdf500 WARN                    v4l2 v4l2_calls.c:625:gst_v4l2_open:<v4l2src0> error: Could not open device '/dev/video3' for reading and writing.
                    0:00:00.277213207  4689    0xdf500 WARN                    v4l2 v4l2_calls.c:625:gst_v4l2_open:<v4l2src0> error: system error: Device or resource busy
                    ERROR: Pipeline doesn't want to pause.
                    WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Resource not found.
                    Additional debug info:
                    /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/gst/autodetect/gstautodetect.c(347): gst_auto_detect_find_best (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0:
                    Failed to find a usable video sink
                    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not open device '/dev/video3' for reading and writing.
                    Additional debug info:
                    /opt/workspace/build/apq8096-le-1-0-1_ap_standard_oem.git/apps_proc/poky/build/tmp-glibc/work/armv7a-vfp-neon-oemllib32-linux-gnueabi/lib32-gstreamer1.0-plugins-good/1.10.4-r0/gst-plugins-good-1.10.4/sys/v4l2/v4l2_calls.c(625): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
                    system error: Device or resource busy
                    Setting pipeline to NULL ...
                    Freeing pipeline ...
                    
                    Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                    • tomT
                      tom admin
                      last edited by

                      @Kris You can't use autovideosink on VOXL because it doesn't have a display

                      KrisK 1 Reply Last reply Reply Quote 0
                      • Eric KatzfeyE
                        Eric Katzfey ModalAI Team @Kris
                        last edited by

                        @Kris Maybe try fakesink instead?

                        KrisK 2 Replies Last reply Reply Quote 0
                        • KrisK
                          Kris @Eric Katzfey
                          last edited by Kris

                          @Eric-Katzfey
                          I have tried both fakesink and playbin.
                          Neither of them work either.
                          Has anyone gotten gstreamer to successfully work on VOXL1?

                          Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                          • KrisK
                            Kris @Eric Katzfey
                            last edited by Kris

                            @Eric-Katzfey
                            I also have another UVC camera, but it only outputs MJPG (compressed) and YUY2 (uncompressed 640x480 30fps) formats.

                            It works for streaming, but I am trying to record the video to the Seeker’s SD card.
                            Is there a way to do this with Gstreamer or a similar program?

                            1 Reply Last reply Reply Quote 0
                            • KrisK
                              Kris @tom
                              last edited by

                              @tom
                              Could this be the reason why no devices are found when I use gst-device-monitor-1.0 Video/Source on the VOXL1?

                              1 Reply Last reply Reply Quote 0
                              • KrisK
                                Kris
                                last edited by

                                I see that the VOXL1 has the gst-plugins-good.
                                Is it possible to also add the gst-plugins-bad and gst-plugins-ugly?

                                1 Reply Last reply Reply Quote 0
                                • Eric KatzfeyE
                                  Eric Katzfey ModalAI Team @Kris
                                  last edited by

                                  @Kris We use GStreamer in our voxl-streamer application. It does work on VOXL1.

                                  KrisK 2 Replies Last reply Reply Quote 0
                                  • KrisK
                                    Kris @Eric Katzfey
                                    last edited by

                                    @Eric-Katzfey
                                    Ok, thank you for the confirmation.

                                    1 Reply Last reply Reply Quote 0
                                    • KrisK
                                      Kris @Eric Katzfey
                                      last edited by

                                      @Eric-Katzfey
                                      If possible, could you please provide me with a VOXL1 working pipeline (streaming or recording) using any UVC camera of your choice?

                                      Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                                      • Eric KatzfeyE
                                        Eric Katzfey ModalAI Team @Kris
                                        last edited by

                                        @Kris That's not how it works on VOXL1. The voxl-uvc-server application places frames into an MPA pipe and the voxl-streamer application (based on gstreamer) reads those frames and processes them for output using RTSP. However, I do believe that I did try command line gst-launch-1.0 style pipelines with UVC cameras in the past and they worked. I don't have an example of one though. You may want to start with one of our supported UVC cameras first and then try to get your particular UVC camera working. I always start with the Logitech C270. We list the specific cameras that we support because each one caused us some issues and required code changes to make it work. We even had to fork the libuvc library in order to make changes to that to get some of the cameras working properly.

                                        KrisK 2 Replies Last reply Reply Quote 0
                                        • KrisK
                                          Kris @Eric Katzfey
                                          last edited by

                                          @Eric-Katzfey
                                          Ok, I understand.
                                          Thank you for all your help and support with this issue.
                                          I will try one of your tested & supported UVC cameras.

                                          1 Reply Last reply Reply Quote 0
                                          • KrisK
                                            Kris @Eric Katzfey
                                            last edited by Kris

                                            @Eric-Katzfey
                                            I bought the Logitech C270 and tried testing it with some Gstreamer commands.
                                            So far I have been able to use it on my Linux PC with these commands.

                                            Connected to PC and viewing video;

                                            gst-launch-1.0 -v v4l2src ! video/x-raw,format=YUY2 ! videoconvert ! autovideosink
                                            

                                            Connected to PC and recording to PC;

                                            gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=640,height=480,framerate=30/1 ! jpegdec ! x264enc ! qtmux ! filesink location=C270.mp4 -e
                                            

                                            However, when I connect the C270 to the Seeker I cannot get any of these to work.
                                            I have tried different video devices 0-3 and I have also substituted the autovideosink with fakesink but these changes are still not working.

                                            Could you please show me a Gstreamer example for this Logitech C270 camera that works on the Seeker?
                                            I would like to either stream, record, or stream+record (possibly using tee) the video using gst-launch-1.0.
                                            Thank you

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Powered by NodeBB | Contributors