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

    uvc_get_stream_ctrl_format_size failed

    Ask your questions right here!
    3
    39
    2.9k
    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.
    • K
      Kris
      last edited by 7 Mar 2023, 01:41

      Additional information;
      e-CAM83-1.png
      e-CAM83-2.png

      1 Reply Last reply Reply Quote 0
      • K
        Kris @tom
        last edited by 7 Mar 2023, 01:49

        @tom
        I gave this a try, but no luck.

        voxl:~$ voxl-uvc-server -d -r 1920x1080 -f 30
        Enabling debug messages
        voxl-uvc-server starting
        Image resolution 1920x1080, 30 fps chosen
        UVC initialized
        Device found
        uvc_open failed
        UVC exited
        voxl-uvc-server ending
        
        1 Reply Last reply Reply Quote 0
        • K
          Kris @tom
          last edited by 7 Mar 2023, 03:29

          @tom

          voxl:~$ show-video-device-info.sh
          /dev/video2: e-CAM83_USB 2560:c184
          /dev/video3: e-CAM83_USB 2560:c184
          

          /dev/video2: is h264
          /dev/video3: is MJPG & YUY2

          1 Reply Last reply Reply Quote 0
          • K
            Kris
            last edited by 7 Mar 2023, 03:35

            voxl:~$ voxl-uvc-server -l
            *** START DEVICE LIST ***
            
            Found device 0
            
            Got device descriptor for 2560:c184 (null)
            
            Found device 2560:c184
            
            uvc_open failed, Return code: I/O error (-1)
            
            Found device 0
            
            Got device descriptor for 2560:c184 (null)
            
            Found device 2560:c184
            
            uvc_open failed, Return code: No such device (-4)
            
            Found device 0
            
            Got device descriptor for 2560:c184 (null)
            
            uvc_find_device failed, Return code: No such device (-4)
            
            Got device descriptor for 2560:c184 (null)
            
            Found device 2560:c184
            
            DEVICE CONFIGURATION (2560:c184/00.00.01) ---
            Status: idle
            VideoControl:
            	bcdUVC: 0x0100
            VideoStreaming(1):
            	bEndpointAddress: 129
            	Formats:
            	FrameFormat(1)
            		  bits per pixel: 16
            		  GUID: 4832363400001000800000aa00389b71 (H264)
            		  default frame: 1
            		  aspect ratio: 0x0
            		  interlace flags: 00
            		  copy protect: 00
            			FrameDescriptor(1)
            			  capabilities: 00
            			  size: 3840x2160
            			  bit rate: 165888000-995328000
            			  max frame size: 0
            			  default interval: 1/15
            			  interval[0]: 1/30
            			  interval[1]: 1/15
            			FrameDescriptor(2)
            			  capabilities: 00
            			  size: 1920x1080
            			  bit rate: 165888000-995328000
            			  max frame size: 0
            			  default interval: 1/30
            			  interval[0]: 1/30
            VideoStreaming(2):
            	bEndpointAddress: 136
            	Formats:
            	UncompressedFormat(1)
            		  bits per pixel: 16
            		  GUID: 5955593200001000800000aa00389b71 (YUY2)
            		  default frame: 1
            		  aspect ratio: 0x0
            		  interlace flags: 00
            		  copy protect: 00
            			FrameDescriptor(1)
            			  capabilities: 00
            			  size: 640x480
            			  bit rate: 24576000-147456000
            			  max frame size: 614400
            			  default interval: 1/15
            			  interval[0]: 1/15
            	MJPEGFormat(2)
            		  bits per pixel: 0
            		  GUID: 4d4a5047000000000000000000000000 (MJPG)
            		  default frame: 1
            		  aspect ratio: 0x0
            		  interlace flags: 00
            		  copy protect: 00
            			FrameDescriptor(1)
            			  capabilities: 00
            			  size: 1920x1080
            			  bit rate: 24576000-147456000
            			  max frame size: 614400
            			  default interval: 1/30
            			  interval[0]: 1/30
            END DEVICE CONFIGURATION
            
            *** END DEVICE LIST ***
            
            1 Reply Last reply Reply Quote 0
            • K
              Kris @tom
              last edited by 7 Mar 2023, 07:22

              @tom
              May I ask what image formats the voxl-uvc-serversupports?

              1 Reply Last reply Reply Quote 0
              • K
                Kris
                last edited by 7 Mar 2023, 10:25

                I have a feeling that maybe the problem is deriving from my camera’s GUID Format.
                Does the voxl-uvc-server accept GUID: 4832363400001000800000aa00389b71
                for h264 format?
                How would I go about correcting the guidFormat to match up with the voxl-uvc-server?

                1 Reply Last reply Reply Quote 0
                • T
                  tom admin
                  last edited by 7 Mar 2023, 18:39

                  @Kris You can see supported format info here: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-uvc-server/-/blob/master/src/main.c#L64

                  Another thing to try out is using gstreamer instead of voxl-uvc-server + voxl-streamer with a pipeline similar to the following:

                  gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,format=YUY2 ! videoconvert ! x264enc speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 ! udpsink host=192.168.1.97 port=8554

                  The pipeline may need to be tweaked slightly but it's one I've used before for other UVC cameras that voxl-uvc-server was unhappy with

                  K 4 Replies Last reply 7 Mar 2023, 23:08 Reply Quote 0
                  • K
                    Kris @tom
                    last edited by 7 Mar 2023, 23:08

                    @tom
                    Thank you, I will give this a try.
                    I am trying to use H.264 on this camera.
                    This is the second UVC camera that I’ve purchased because I am trying to log the frames from voxl-logger. From what I understand, H.264 output is the format that can do this.
                    Is there a way to call for only the /dev/video2 to start with the voxl-uvc-server or gstreamer?
                    Does the voxl-uvc-server accept h264 1920x1080 @30fps?

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kris @tom
                      last edited by 8 Mar 2023, 01:09

                      @tom
                      Do I paste this in the voxl terminal?

                      gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,format=YUY2 ! videoconvert ! x264enc speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 ! udpsink host=192.168.1.97 port=8554
                      

                      Does this have uvc frame or video capture capabilities?

                      1 Reply Last reply Reply Quote 0
                      • K
                        Kris @tom
                        last edited by 8 Mar 2023, 01:22

                        @tom
                        Sorry to bother you again, but I am not seeing the h264 format supported in the main.c script you provided for the voxl-uvc-server. Is it possible to edit the voxl-uvc-server main.c script to accept h264 format at 1920x1080 @30fps?

                        1 Reply Last reply Reply Quote 0
                        • T
                          tom admin
                          last edited by 8 Mar 2023, 01:33

                          @Kris You can read more about how gstreamer and the gst-launch-1.0 command works here: https://gstreamer.freedesktop.org/documentation/tools/gst-launch.html?gi-language=c

                          Yes, you would run that command on VOXL2. That specific command pulls frames from /dev/video22 (the UVC camera), it tells it to expect YUY2 formatted frames (you can change this to your liking) and then it converts it to an RTSP video stream. You could modify the pipeline to instead write to a file instead of streaming.

                          There is a ton of documentation on gstreamer out there that can help you out with tailoring the pipeline.

                          K 1 Reply Last reply 8 Mar 2023, 01:35 Reply Quote 0
                          • K
                            Kris @tom
                            last edited by 8 Mar 2023, 01:35

                            @tom
                            Ok, thank you for the explanation.
                            I will read up on gstreamer and try to figure this out.
                            You mentioned that I would run this on VOXL2.
                            I dont have a VOXL2. Does this work on VOXL for the Seeker?

                            1 Reply Last reply Reply Quote 0
                            • T
                              tom admin
                              last edited by 8 Mar 2023, 01:48

                              @Kris Apologies, I'm not sure if that will work on VOXL1. Do you have a hires mipi sensor on your VOXL? It would allow you to avoid a lot of trouble

                              K 3 Replies Last reply 8 Mar 2023, 01:57 Reply Quote 0
                              • K
                                Kris @tom
                                last edited by Kris 8 Mar 2023, 02:08 8 Mar 2023, 01:57

                                @tom
                                No, I dont have a hires mipi sensor on my VOXL. I am using the TOF, Stereo, and Tracking sensors specifically for indoor flights.
                                I am just trying to record frames or video from a connected uvc camera while in flight.
                                I am also trying to set one of my stereo cameras as the QVIO instead of the tracking camera. Again this is just for indoor flights. I have also asked about this QVIO setup in this thread, but have not received a response other than pointing to the extrinsics ModalAi page.

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kris @tom
                                  last edited by Kris 9 Mar 2023, 23:57 9 Mar 2023, 23:02

                                  @tom
                                  The command you sent me earlier this week did not work on the VOXL platform. I tried variations on both our e-CAM83 and Aruducam IMX335 uvc camera modules.

                                  Could you please point me to a uvc camera that will work with the voxl-uvc-server?
                                  Our main goal is to connect a uvc camera to the Seeker and be able to capture frames or video (streaming is not necessary) and send them to an onboard SD card (possibly using voxl-logger.

                                  Would this Blue Robotics uvc module work? Meaning, is it capable of connecting to the voxl-uvc-server and be able to send frames and/or video to the onboard SD card using voxl-logger on the VOXL1 Seeker Dev Drone?

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    Kris @tom
                                    last edited by 9 Mar 2023, 23:21

                                    @tom
                                    I have also noticed that when I updated my platform to 0.9 the streamer.conf has changed.
                                    Now our Arducam IMX335 is not even working (it had no problems streaming before).

                                    0.9 streamer.conf

                                    {
                                            "input-pipe":   "hires",
                                            "bitrate":      1000000,
                                            "decimator":    2,
                                            "port": 8900,
                                            "rotation":     0
                                    }
                                    

                                    3.8.0-0.7 streamer.conf

                                    {
                                        "conf-version":"1.3",
                                        "configuration": "hires",
                                        "uvc-generic": {
                                            "input": {
                                                "interface": "mpa",
                                                "mpa-camera": "uvc" },
                                            "output": {
                                                "stream": {
                                                    "rotation": 0,
                                                    "width": 640,
                                                    "height": 480,
                                                    "decimator": 1,
                                                    "bitrate": 1000000 } }
                                        },
                                        "uvc-flir-boson": {
                                            "input": {
                                                "interface": "mpa",
                                                "mpa-camera": "uvc" },
                                            "output": {
                                                "stream": {
                                                    "rotation": 0,
                                                    "width": 640,
                                                    "height": 512,
                                                    "decimator": 2,
                                                    "bitrate": 1000000 } }
                                        },
                                        "uvc-flir-lepton": {
                                            "input": {
                                                "interface": "mpa",
                                                "mpa-camera": "uvc" },
                                            "output": {
                                                "stream": {
                                                    "rotation": 0,
                                                    "width": 160,
                                                    "height": 120,        
                                                    "bitrate": 500000 } } 
                                        },                                
                                        "hires": {                        
                                            "input": {                    
                                                "interface": "mpa",       
                                                "mpa-camera": "hires" },  
                                            "output": {                   
                                                "stream": {               
                                                    "rotation": 0,        
                                                    "width": 640,         
                                                    "height": 480,        
                                                    "decimator": 2,       
                                                    "bitrate": 1000000 } }
                                        },                                
                                        "hires-logo": {                   
                                            "input": {                    
                                                "interface": "mpa",       
                                                "mpa-camera": "hires" },  
                                            "output": {                   
                                                "stream": {               
                                                    "rotation": 0,        
                                                    "width": 640,         
                                                    "height": 480,        
                                                    "decimator": 2,       
                                                    "bitrate": 1000000 } },
                                            "overlay": {                   
                                                "location": "/etc/modalai/modalai.png",
                                                "offset_x": -1,                        
                                                "offset_y": -1 }                       
                                        },                                             
                                        "stereo": {                                    
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "stereo" },              
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 960,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "tracking": {                                  
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "tracking" },            
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 480,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "dfs-disparity": {                             
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "dfs_disparity" },       
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 480,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "qvio-overlay": {                              
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "qvio_overlay" },        
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 544,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "tflite-overlay": {                            
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "tflite" },              
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 480,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "hdmi-mpa": {                                  
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "v4l2" },                
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 360,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "gphoto2-mpa": {                               
                                            "input": {                                 
                                                "interface": "mpa",                    
                                                "mpa-camera": "gphoto2" },             
                                            "output": {                                
                                                "stream": {                            
                                                    "width": 640,                      
                                                    "height": 360,                     
                                                    "decimator": 2,                    
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "video-test": {                                
                                            "input": {                                 
                                                "interface": "test",                   
                                                "frame": {                             
                                                    "width": 640,                      
                                                    "height": 480,                     
                                                    "format": "yuv420" } },            
                                            "output": {                                
                                                "stream": {                            
                                                    "rotation": 0,                     
                                                    "width": 640,                      
                                                    "height": 480,                     
                                                    "rate": 30,                        
                                                    "bitrate": 1000000 } }             
                                        },                                             
                                        "uvc-video": {                                 
                                            "input": {                                 
                                                "interface": "uvc",                    
                                                "device": "/dev/video0" },             
                                            "output": {                                
                                                "stream": {                            
                                                    "rotation": 0,                     
                                                    "width": 640,                      
                                                    "height": 360,                     
                                                    "rate": 15,                        
                                                    "bitrate": 1000000 } }             
                                        }                                              
                                                                                       
                                    }                           
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Kris @tom
                                      last edited by 11 Apr 2023, 23:23

                                      @tom
                                      Do you happen to know some Gstreamer commands for the Logitech C270 uvc camera?
                                      I am trying to get either a streaming or recording command to work on the Seeker, with no luck so far.

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        tom admin
                                        last edited by tom 11 Apr 2023, 23:37 11 Apr 2023, 23:33

                                        @Kris I don't have that specific webcam or a VOXL1 but with a different one and a VOXL2, all I have to do is run voxl-uvc-server, see output below:

                                        voxl2:/$ voxl-uvc-server 
                                        loading config file
                                        Creating new config file: /etc/modalai/voxl-uvc-server.conf
                                        =================================================================
                                        width:                            640
                                        height:                           480
                                        fps:                              30
                                        pipe_name:                        uvc
                                        =================================================================
                                        

                                        I'm able to pull up the stream using voxl-portal (going to IP of my VOXL2 in browser)

                                        8ff0d084-6556-4947-8dcb-9e8137d10ae1-image.png

                                        Then alternatively I'm able to use this gstreamer command:

                                        gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,format=YUY2 ! videoconvert ! x264enc speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 ! udpsink host=192.168.1.124 port=8554
                                        

                                        to pull up the video stream in QGC

                                        K 1 Reply Last reply 11 Apr 2023, 23:51 Reply Quote 0
                                        • T
                                          tom admin
                                          last edited by 11 Apr 2023, 23:35

                                          642ce503-f6b1-4999-9cf2-ba5ac5b8e504-image.png

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            Kris @tom
                                            last edited by 11 Apr 2023, 23:51

                                            @tom
                                            Thank you for your examples.

                                            I was asking about the C270 camera because @Eric-Katzfey had mentioned that he starts his camera testings with this model in order to locate where issues are coming from on other camera models.

                                            I do appreciate your support.
                                            I will continue to try different Gstreamer commands.

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