Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Change QML Camera viewfinder and capture pixel format

Change QML Camera viewfinder and capture pixel format

Scheduled Pinned Locked Moved Solved QML and Qt Quick
19 Posts 2 Posters 1.9k Views
  • 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #2

    Hi,

    You can try QCameraViewFinderSettings::setPixelFormat in C++.

    Hope it helps

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    NoodlesDevN 1 Reply Last reply
    1
    • SGaistS SGaist

      Hi,

      You can try QCameraViewFinderSettings::setPixelFormat in C++.

      Hope it helps

      NoodlesDevN Offline
      NoodlesDevN Offline
      NoodlesDev
      wrote on last edited by
      #3

      Hi @SGaist, thanks for your reply.

      I've tried, but something's wrong. I am 100% sure that my camera supports MJPEG, as I've already tested it with QV4L2.
      However, when I query the QCamera instance capabilites by calling supportedViewFinderSettings(), only YUYV format settings are listed.

      What could be the cause?

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #4

        Good question. I am currently not sure whether GStreamer is also used for camera handling but I would check if it's possible to set the stream type with it too.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        NoodlesDevN 1 Reply Last reply
        1
        • SGaistS SGaist

          Good question. I am currently not sure whether GStreamer is also used for camera handling but I would check if it's possible to set the stream type with it too.

          NoodlesDevN Offline
          NoodlesDevN Offline
          NoodlesDev
          wrote on last edited by
          #5

          @SGaist Could you please point me to the relevant classes you are thinking about?

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #6

            I was thinking about checking that directly on the command line.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            NoodlesDevN 1 Reply Last reply
            0
            • SGaistS SGaist

              I was thinking about checking that directly on the command line.

              NoodlesDevN Offline
              NoodlesDevN Offline
              NoodlesDev
              wrote on last edited by
              #7

              @SGaist By checking with gst-inspect it seems like the v4l2src element supports image/jpeg and not video/mjpeg.
              However, with this pipeline:

              gst-launch v4l2src device=/dev/video2 ! image/jpeg, framerate=30/1 ! filesink location=test.mjpeg
              

              the generated file is too big to be a single jpeg image, thus I assume a MJPEG video is created.
              Nonetheless, when I try and open it with VLC, only the first frame is shown... I'm quite confused.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #8

                You may have to resort to low-level handling for the stream type switching.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                NoodlesDevN 1 Reply Last reply
                0
                • SGaistS SGaist

                  You may have to resort to low-level handling for the stream type switching.

                  NoodlesDevN Offline
                  NoodlesDevN Offline
                  NoodlesDev
                  wrote on last edited by
                  #9

                  @SGaist That's what I feared... Is there any Qt class you have in mind? I could handle this via V4L2 but I was hoping for a portable solution.

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    I just had a doubt, what if you use the xvimagesink ?
                    Are you seeing the live image of your camera ?

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    NoodlesDevN 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      I just had a doubt, what if you use the xvimagesink ?
                      Are you seeing the live image of your camera ?

                      NoodlesDevN Offline
                      NoodlesDevN Offline
                      NoodlesDev
                      wrote on last edited by
                      #11

                      @SGaist xvimagesink does not support image/jpeg, I just get:

                      WARNING: erroneous pipeline: could not link v4l2src0 to xvimagesink0, xvimagesink0 can't handle caps image/jpeg
                      
                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #12

                        Can you open the camera with VLC ?

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        NoodlesDevN 1 Reply Last reply
                        1
                        • SGaistS SGaist

                          Can you open the camera with VLC ?

                          NoodlesDevN Offline
                          NoodlesDevN Offline
                          NoodlesDev
                          wrote on last edited by
                          #13

                          @SGaist I've never used VLC on the command line, and I'm having trouble figuring out how to stream directly from my local camera. Could you please provide me with some indications on how to do?

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #14

                            I meant just testing with the VLC application.

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            NoodlesDevN 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              I meant just testing with the VLC application.

                              NoodlesDevN Offline
                              NoodlesDevN Offline
                              NoodlesDev
                              wrote on last edited by
                              #15

                              @SGaist Yeah sorry, I've just noticed the "Open capture device" option in the GUI program... My bad.
                              Anyway, I get the same problem, VLC defaults to YUYV and I get extremely low FPS. As far as I could see there were no option to set the capture format at all.

                              1 Reply Last reply
                              0
                              • SGaistS Offline
                                SGaistS Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on last edited by
                                #16

                                Then I fear you are going to have to go lower level to set the stream type...

                                Interested in AI ? www.idiap.ch
                                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                NoodlesDevN 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  Then I fear you are going to have to go lower level to set the stream type...

                                  NoodlesDevN Offline
                                  NoodlesDevN Offline
                                  NoodlesDev
                                  wrote on last edited by
                                  #17

                                  @SGaist Yes, that's what I feared too.
                                  Since there seems to be no suitable Qt-based solution at all, I'm closing the topic as solved.

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #18

                                    Did you check with the GStreamer folks whether there was something possible with directly from their v4l2 plugin ?

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    NoodlesDevN 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      Did you check with the GStreamer folks whether there was something possible with directly from their v4l2 plugin ?

                                      NoodlesDevN Offline
                                      NoodlesDevN Offline
                                      NoodlesDev
                                      wrote on last edited by
                                      #19

                                      @SGaist Well, no, but I might as well try at this point.

                                      1 Reply Last reply
                                      0

                                      • Login

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • Users
                                      • Groups
                                      • Search
                                      • Get Qt Extensions
                                      • Unsolved