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.
    • wilkinsafW
      wilkinsaf ModalAI Team @Chad Sweet
      last edited by

      @Chad-Sweet

      Right on. I will try some troubleshooting from my end as well. Will let you know if I find anything interesting.

      Thanks!

      Eric KatzfeyE 2 Replies Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post
                                            Powered by NodeBB | Contributors