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

    VOXL camera configuration

    Ask your questions right here!
    4
    30
    2134
    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.
    • 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