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

    voxl-streamer client repetitive connect/disconnect

    Ask your questions right here!
    3
    63
    5304
    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

      There is a known issue with UVC streaming. I'm not sure when it will be fixed. We'll try to investigate and get back to you in a few days.

      wilkinsafW 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post
                                            Powered by NodeBB | Contributors