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

    voxl-streamer client repetitive connect/disconnect

    Ask your questions right here!
    3
    63
    5305
    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.
    • Eric KatzfeyE
      Eric Katzfey ModalAI Team @wilkinsaf
      last edited by

      @wilkinsaf UVC camera support was developed against QGroundControl v3.5.6 and using a Logitech C270 camera. Newer versions of QGroundControl do not wait long enough for the connection to come up and try to restart. Also, cameras that do not support a raw format won't work. I would try with QGoundControl v3.5.6 first and see if your camera works with that.

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

        An update to UVC camera support has been started. It will increase number of supported cameras by allowing MJPEG and will increase number of supported viewers including latest QGroundControl versions. Target availability is mid-December.

        wilkinsafW 1 Reply Last reply Reply Quote 1
        • wilkinsafW
          wilkinsaf ModalAI Team @Eric Katzfey
          last edited by

          @Eric-Katzfey Thank you for the update Eric!

          Also, is there a format/guide on how to modify the camera configuration file? For example if a camera was giving off a different format, framerate, size, etc...

          I was trying to find a guide on how to modify that file, but could not.

          I figured it would be helpful for developers.

          Eric KatzfeyE 2 Replies Last reply Reply Quote 0
          • Eric KatzfeyE
            Eric Katzfey ModalAI Team @wilkinsaf
            last edited by

            @wilkinsaf The configuration file for voxl-streamer is documented here: https://docs.modalai.com/voxl-streamer/#configuration-file-format

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

              @wilkinsaf The configuration for voxl-camera-server is discussed here: https://docs.modalai.com/voxl-camera-server/#configuration

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

                @wilkinsaf There is an initial version of a new UVC camera server application now available from our "dev" package repo. The application voxl-uvc-server works in conjunction with voxl-streamer to better support UVC cameras. It has been tested with the Logitech C270 and Videology 5MP Micro USB 2.0 Board Camera. The documentation is at https://docs.modalai.com/voxl-uvc-server/ and the code is at https://gitlab.com/voxl-public/modal-pipe-architecture/voxl-uvc-server. To try it out, install the latest Voxl platform release voxl_platform_3-3-0-0.5.0-a. On target, configure the opkg package manager to use the modalai dev repo (https://docs.modalai.com/configure-opkg/). Then use opkg install voxl-streamer to upgrade voxl-streamer from 0.2.6 to 0.2.7 (and libmodal_pipe from 2.1.1 to 2.1.2). Then opkg install voxl-uvc-server to install the new voxl-uvc-server application v0.0.5. Run voxl-uvc-server -d to start the application with debug messages. Then run voxl-streamer with voxl-streamer -f /usr/share/modalai/voxl-streamer/voxl-streamer.conf -c uvc-server to use the new configuration file and record type for the uvc server. Let me know if this works for you.

                1 Reply Last reply Reply Quote 1
                • wilkinsafW
                  wilkinsaf ModalAI Team
                  last edited by

                  quick comment for anyone reading this, it is

                  voxl-uvc-server -d when running

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

                    @wilkinsaf Thanks! I fixed the typo in the original post.

                    1 Reply Last reply Reply Quote 0
                    • wilkinsafW
                      wilkinsaf ModalAI Team
                      last edited by wilkinsaf

                      @Eric-Katzfey

                      I am seeing that this failed for MJPEG

                      voxl:~$ voxl-uvc-server -d
                      Enabling debug messages
                      voxl-uvc-server starting
                      UVC initialized
                      Device found
                      Device opened
                      uvc_get_stream_ctrl_format_size failed for MJPEG
                      uvc_get_stream_ctrl_format_size failed

                      Is there a config file for this that I can modify to change the format?

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

                        @wilkinsaf That shows a failure of the camera to support either MJPEG or YUV422. In order to support that camera you need to know what formats it supports. The best way to do that is to query it's capabilities on the command line. First of all use the lsusb command to find out the device id and product id of the camera. For example:

                        Ubuntu18$ lsusb
                        Bus 001 Device 090: ID 046d:0825 Logitech, Inc. Webcam C270
                        Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
                        

                        This shows you that the UVC webcam has device id and product id 046d:0825. You can use that to query it's capabilities with lsusb -v -d 046d:0825. This will dump all of the camera capabilities to the output. Can you respond with the output from your camera?

                        wilkinsafW 1 Reply Last reply Reply Quote 0
                        • wilkinsafW
                          wilkinsaf ModalAI Team @Eric Katzfey
                          last edited by

                          @Eric-Katzfey

                          Apologies for the delay. Some other things came up.
                          I was able to pull down the camera information. We have 2 cameras we are trying to get up.

                          Cam 1: https://pastebin.com/qHvHKXay
                          Cam 2: https://pastebin.com/7DgvP58k

                          They appear to be able to post in MJPEG

                          Eric KatzfeyE 4 Replies Last reply Reply Quote 0
                          • wilkinsafW
                            wilkinsaf ModalAI Team
                            last edited by

                            Not sure if voxl-uvc-server got removed.
                            I can not seem to find it in the public repo:

                            6c9ccd79-a410-48ce-9117-b4ec0156f68e-image.png

                            Eric KatzfeyE 2 Replies Last reply Reply Quote 0
                            • Eric KatzfeyE
                              Eric Katzfey ModalAI Team @wilkinsaf
                              last edited by

                              @wilkinsaf Project is here: https://gitlab.com/voxl-public/modal-pipe-architecture/voxl-uvc-server

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

                                @wilkinsaf The current voxl-uvc-server capabilities only cover uncompressed frames, not mjpeg. The two cameras that you are looking at both have uncompressed formats but the guidFormat is slightly different than the cameras I have tested with. Let me look into this a little deeper.

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

                                  @wilkinsaf The formats should be compatible. I'll have to dig into the libuvc code to see why they are not accepted.

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

                                    @wilkinsaf Are either of these cameras cheap and easy to purchase?

                                    1 Reply Last reply Reply Quote 0
                                    • wilkinsafW
                                      wilkinsaf ModalAI Team
                                      last edited by

                                      I believe so. Let me find them online really quick. I was able to get the video's from the cameras streaming using the directions here: https://docs.modalai.com/uvc-streaming/

                                      I moved over the ffmpeg ipk and executed
                                      ffmpeg -i /dev/video2 -f mpegts udp://QCS_IP:4242

                                      So I know that they are working.

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

                                        @wilkinsaf There are some clues here: https://github.com/gregkh/usbutils/issues/42. It seems like there are some endian issues with interpretation of the guidFormat field. For example, for my Logitech C270 test camera, lsusb reports the guidFormat as 32595559-0000-0010-8000-00aa00389b71 but libuvc (which voxl-uvc-server uses) reports the guidFormat as 59555932-0000-1000-8000-00aa00389b71. So, my guess is that since lsusb reports the guidFormat of your camera as 59555932-0000-1000-8000-00aa00389b71, libuvc (and hence voxl-uvc-server) will see it as 32595559-0000-0010-8000-00aa00389b71 which doesn't match any valid formats. I think I can hack libuvc to add the extra guidFormat and then your cameras will work but I won't be able to test it without one of your cameras. But I will post it and you can try it. For reference this is where libuvc needs to be modified to add the extra guidFormat: https://github.com/libuvc/libuvc/blob/37f00abd32b083a3d748f2a25c1c794578b51c16/src/stream.c#L109

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

                                          @wilkinsaf There is a new version of libuvc available at http://voxl-packages.modalai.com/dev/libuvc_1.0.2_202112182223.ipk with the changes. If you rebuild the dev branch of voxl-uvc-server and install build deps from dev you should pick up the new libuvc. Then you can rebuild and test with your camera.

                                          wilkinsafW 2 Replies Last reply Reply Quote 1
                                          • wilkinsafW
                                            wilkinsaf ModalAI Team @Eric Katzfey
                                            last edited by

                                            @Eric-Katzfey roger that. thank you for your support here Eric

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