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. List of Video formats Qt supports?
Forum Updated to NodeBB v4.3 + New Features

List of Video formats Qt supports?

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
17 Posts 4 Posters 14.8k Views 3 Watching
  • 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.
  • T Offline
    T Offline
    TOMATO_QT
    wrote on last edited by
    #1

    Is there a list anywhere of the video formats Qt (5.5) supports?

    I've seen the Qt Multimedia Backend page but there is no specific information about formats there. Same for the specific doc pages for the various video classes.

    1 Reply Last reply
    0
    • raven-worxR Offline
      raven-worxR Offline
      raven-worx
      Moderators
      wrote on last edited by
      #2

      because it depends on the used multimedia backend.
      Which are basically the plugins/filters installed on the target system.

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      T 1 Reply Last reply
      0
      • raven-worxR raven-worx

        because it depends on the used multimedia backend.
        Which are basically the plugins/filters installed on the target system.

        T Offline
        T Offline
        TOMATO_QT
        wrote on last edited by
        #3

        @raven-worx

        So that's a "no", as in there is no list.

        raven-worxR 2 Replies Last reply
        0
        • T TOMATO_QT

          @raven-worx

          So that's a "no", as in there is no list.

          raven-worxR Offline
          raven-worxR Offline
          raven-worx
          Moderators
          wrote on last edited by raven-worx
          #4

          @TOMATO_QT
          there is no (official) list, because Qt itself doesn't support any format directly.
          You need to check the official sources of used backend or search the web for what types the backend supports.
          At least nobody created such a list in the wiki, maybe you can share your findings then and create a wiki article (or extend the one you've linked)? ;)

          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
          If you have a question please use the forum so others can benefit from the solution in the future

          1 Reply Last reply
          0
          • T TOMATO_QT

            @raven-worx

            So that's a "no", as in there is no list.

            raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by raven-worx
            #5

            @TOMATO_QT

            for example my quick findings on the web:

            Windows: DirectShow
            Linux: gstreamer

            MAC/iOS: AV Foundation (IIRC all that also QuickTime can play)

            NO GUARANTEE FOR CORRECTNESS:

            • supported video file formats: QuickTime Movie (.mov), MPEG-4 (.mp4, .m4v), MPEG-2, MPEG-1, 3GPP, 3GPP2, AVCHD, AVI, DV;
            • supported video codecs: MPEG-2, MPEG-4, H.264, H.263 H.261, Apple ProRes, Apple Pixlet, Animation, Cinepak, Component Video, DV, DVC Pro 50, Graphics, Motion JPEG, Photo JPEG, Sorenson Video 2, Sorenson Video 3, H.263, H.261, Apple ProRes, Apple Pixlet, Animation, Cinepak, Component Video, DV, DVC Pro 50, Graphics, Motion JPEG, Photo JPEG, Sorenson Video 2, Sorenson Video 3
            • supported audio file formats: M4A, m4b, .m4p, MP3, Core Audio (.caf), AIFF, AU, SD2, WAV, SND, AMR
            • supported audio codecs: AAC, HE-AAC, Apple Lossless,MP3, AMR Narrowband, MS ADPCM, QDesign Music 2, Qualcomm PureVoice (QCELP), IMA 4:1, ALaw 2:1, ULaw 2:1, Integer (24-bit, 32-bit), Floating Point (32-Bit,64-Bit)

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            T 1 Reply Last reply
            0
            • raven-worxR raven-worx

              @TOMATO_QT

              for example my quick findings on the web:

              Windows: DirectShow
              Linux: gstreamer

              MAC/iOS: AV Foundation (IIRC all that also QuickTime can play)

              NO GUARANTEE FOR CORRECTNESS:

              • supported video file formats: QuickTime Movie (.mov), MPEG-4 (.mp4, .m4v), MPEG-2, MPEG-1, 3GPP, 3GPP2, AVCHD, AVI, DV;
              • supported video codecs: MPEG-2, MPEG-4, H.264, H.263 H.261, Apple ProRes, Apple Pixlet, Animation, Cinepak, Component Video, DV, DVC Pro 50, Graphics, Motion JPEG, Photo JPEG, Sorenson Video 2, Sorenson Video 3, H.263, H.261, Apple ProRes, Apple Pixlet, Animation, Cinepak, Component Video, DV, DVC Pro 50, Graphics, Motion JPEG, Photo JPEG, Sorenson Video 2, Sorenson Video 3
              • supported audio file formats: M4A, m4b, .m4p, MP3, Core Audio (.caf), AIFF, AU, SD2, WAV, SND, AMR
              • supported audio codecs: AAC, HE-AAC, Apple Lossless,MP3, AMR Narrowband, MS ADPCM, QDesign Music 2, Qualcomm PureVoice (QCELP), IMA 4:1, ALaw 2:1, ULaw 2:1, Integer (24-bit, 32-bit), Floating Point (32-Bit,64-Bit)
              T Offline
              T Offline
              TOMATO_QT
              wrote on last edited by
              #6

              @raven-worx

              Thanks – my point is that shouldn't this info be easy to find within the Qt documentation?
              After all, the Qt developers clearly know what is supported and what is not by each multimedia backend.

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

                Hi,

                It's an info that's not easy to generate because as @raven-worx mentioned, the formats supported depend heavily on the codec packs installed on your system.

                Unless I'm mistaken, QMediaRecorder::supportedVideoCodecs might be what you are looking for.

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

                T 1 Reply Last reply
                0
                • SGaistS SGaist

                  Hi,

                  It's an info that's not easy to generate because as @raven-worx mentioned, the formats supported depend heavily on the codec packs installed on your system.

                  Unless I'm mistaken, QMediaRecorder::supportedVideoCodecs might be what you are looking for.

                  T Offline
                  T Offline
                  TOMATO_QT
                  wrote on last edited by
                  #8

                  @SGaist

                  Hi Samuel,

                  It's an info that's not easy to generate ...

                  Mm... respectfully... that's just silly. ;-)
                  Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                  JKSHJ raven-worxR 2 Replies Last reply
                  0
                  • T TOMATO_QT

                    @SGaist

                    Hi Samuel,

                    It's an info that's not easy to generate ...

                    Mm... respectfully... that's just silly. ;-)
                    Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                    JKSHJ Offline
                    JKSHJ Offline
                    JKSH
                    Moderators
                    wrote on last edited by
                    #9

                    @TOMATO_QT said:

                    Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                    The supported formats are determined by the codecs your computer, not by Qt.

                    The developers and maintainers of Qt who work with these backends + libs do not know what codecs are available on your computer, so they cannot provide this list. The best thing that the Qt developers can do is to document the fact that users need to check their codecs.

                    Note: Two different computers that run the same OS could have different codecs installed, so their list of supported formats would be different!

                    T JKSHJ 2 Replies Last reply
                    0
                    • JKSHJ JKSH

                      @TOMATO_QT said:

                      Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                      The supported formats are determined by the codecs your computer, not by Qt.

                      The developers and maintainers of Qt who work with these backends + libs do not know what codecs are available on your computer, so they cannot provide this list. The best thing that the Qt developers can do is to document the fact that users need to check their codecs.

                      Note: Two different computers that run the same OS could have different codecs installed, so their list of supported formats would be different!

                      T Offline
                      T Offline
                      TOMATO_QT
                      wrote on last edited by TOMATO_QT
                      #10

                      @JKSH

                      Who ships an application which doesn't have the required libs embedded? A hobbyist?

                      I mean that question sincerely.

                      1 Reply Last reply
                      0
                      • T TOMATO_QT

                        @SGaist

                        Hi Samuel,

                        It's an info that's not easy to generate ...

                        Mm... respectfully... that's just silly. ;-)
                        Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                        raven-worxR Offline
                        raven-worxR Offline
                        raven-worx
                        Moderators
                        wrote on last edited by
                        #11

                        @TOMATO_QT said:

                        Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                        ehm ... i would say it's enough to support the interface of the backend. What the backend then supports is out of scope of the Qt devs, dont you agree?

                        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                        If you have a question please use the forum so others can benefit from the solution in the future

                        T 1 Reply Last reply
                        0
                        • raven-worxR raven-worx

                          @TOMATO_QT said:

                          Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                          ehm ... i would say it's enough to support the interface of the backend. What the backend then supports is out of scope of the Qt devs, dont you agree?

                          T Offline
                          T Offline
                          TOMATO_QT
                          wrote on last edited by TOMATO_QT
                          #12

                          @raven-worx

                          ehm ... i would say it's enough to support the interface of the backend. What the backend then supports is out of scope of the Qt devs, dont you agree?

                          I'm not arguing – the snark quotient which you may perceive is due to the time I have wasted in thinking Qt supports some tech because of what I have read in the docs (Bluetooth, audio data access, etc) only to find out after much effort that the support is "sorta, kinda, or only these platforms". And that is fine. But just put it out there – right in the documentation of a class purporting to support some functionality: doesn't work on OSX, or Android or whatever

                          As for your comment – you make no sense.(sorry!) I am only asking that Qt document what the backends (that they support) support. Why make it hard? Clearly they know which platform Bluetooth is currently supported on by Qt, and which features are or are not supported. Or audio formats. Or video formats.

                          Is this some macho developer "you should know" bullshite?  – I think we would all agree that that would be ridiculous.

                          So the meta point is: Qt needs to put some effort into stating what it does and doesn't do: in the documentation, with details and not hidden away in some single page or expect developers to chase down the info: the Qt developers have this info at hand.

                          1 Reply Last reply
                          0
                          • JKSHJ Offline
                            JKSHJ Offline
                            JKSH
                            Moderators
                            wrote on last edited by
                            #13

                            @TOMATO_QT said:

                            Who ships an application which doesn't have the required libs embedded? A hobbyist?

                            I mean that question sincerely.

                            Assuming that by "required libs" you mean "multimedia codecs", here is my sincere answer: Lots of people, from hobbyists to full-time professional developers .

                            Libraries and applications often do not support specific multimedia formats directly. Instead, they only talk to the operating system's multimedia backend. Examples of multimedia backends include Windows Media Foundation on Windows, and GStreamer for Linux.

                            Then, developers of a new multimedia format will create codecs and filters for their format. These allow the multimedia backend to play back files of this format and convert data into this format. Note: Qt does not use any of these codecs directly.

                            Qt <-+-> WMF      (Backend 1) <-+-> H.264  (Format 1)
                                 |                          +-> MPEG-4 (Format 2)
                                 |                          +-> AVI    (Format 3)
                                 |                          +-> ...
                                 |
                                 +-> GStremer (Backend 2) <-+-> H.264  (Format 1)
                                 |                          +-> MPEG-4 (Format 2)
                                 |                          +-> AVI    (Format 3)
                                 |                          +-> ...
                                 +-> ...
                            

                            In summary, Qt does not support any video formats by itself, which is why there is no documentation for "list of formats supported". Instead, Qt supports different multimedia backends.

                            I am only asking that Qt document what the backends (that they support) support. Why make it hard? Clearly they know which platform Bluetooth is currently supported on by Qt, and which features are or are not supported. Or audio formats. Or video formats.

                            You already found the audio/video one: https://wiki.qt.io/Qt_5.5.0_Multimedia_Backends

                            For Bluetooth and others, see the "Target Platforms" column under "Qt Add-Ons": http://doc.qt.io/qt-5/qtmodules.html

                            T 1 Reply Last reply
                            0
                            • JKSHJ JKSH

                              @TOMATO_QT said:

                              Certainly the developers and maintainers of Qt who work with these backends + libs are well positioned to document what formats are supported. Certainly better than many of the users of Qt.

                              The supported formats are determined by the codecs your computer, not by Qt.

                              The developers and maintainers of Qt who work with these backends + libs do not know what codecs are available on your computer, so they cannot provide this list. The best thing that the Qt developers can do is to document the fact that users need to check their codecs.

                              Note: Two different computers that run the same OS could have different codecs installed, so their list of supported formats would be different!

                              JKSHJ Offline
                              JKSHJ Offline
                              JKSH
                              Moderators
                              wrote on last edited by
                              #14
                              This post is deleted!
                              1 Reply Last reply
                              0
                              • JKSHJ JKSH

                                @TOMATO_QT said:

                                Who ships an application which doesn't have the required libs embedded? A hobbyist?

                                I mean that question sincerely.

                                Assuming that by "required libs" you mean "multimedia codecs", here is my sincere answer: Lots of people, from hobbyists to full-time professional developers .

                                Libraries and applications often do not support specific multimedia formats directly. Instead, they only talk to the operating system's multimedia backend. Examples of multimedia backends include Windows Media Foundation on Windows, and GStreamer for Linux.

                                Then, developers of a new multimedia format will create codecs and filters for their format. These allow the multimedia backend to play back files of this format and convert data into this format. Note: Qt does not use any of these codecs directly.

                                Qt <-+-> WMF      (Backend 1) <-+-> H.264  (Format 1)
                                     |                          +-> MPEG-4 (Format 2)
                                     |                          +-> AVI    (Format 3)
                                     |                          +-> ...
                                     |
                                     +-> GStremer (Backend 2) <-+-> H.264  (Format 1)
                                     |                          +-> MPEG-4 (Format 2)
                                     |                          +-> AVI    (Format 3)
                                     |                          +-> ...
                                     +-> ...
                                

                                In summary, Qt does not support any video formats by itself, which is why there is no documentation for "list of formats supported". Instead, Qt supports different multimedia backends.

                                I am only asking that Qt document what the backends (that they support) support. Why make it hard? Clearly they know which platform Bluetooth is currently supported on by Qt, and which features are or are not supported. Or audio formats. Or video formats.

                                You already found the audio/video one: https://wiki.qt.io/Qt_5.5.0_Multimedia_Backends

                                For Bluetooth and others, see the "Target Platforms" column under "Qt Add-Ons": http://doc.qt.io/qt-5/qtmodules.html

                                T Offline
                                T Offline
                                TOMATO_QT
                                wrote on last edited by TOMATO_QT
                                #15

                                @JKSH

                                You are missing my point. Qt developers KNOW what is supported on each platform. They should document it CLEARLY in the CLASSES which refer to that functionality so that users of Qt don't:

                                1. Make false assumptions that because there is a Qt class for a certain functionality, it is actually supported on the target OS. (e.g. QAudioProbe seems like a very useful class. Oops... not supported on OSX – but nowhere in the QAudioProbe docs does it SAY that.)
                                2. have to chase around trying to find what is or isn't supported.

                                As for shipping without required libs, I was referring to something like FFmpeg – if your app requires that, you don't expect your end user to have it installed (or you shouldn't).

                                JKSHJ 1 Reply Last reply
                                0
                                • T TOMATO_QT

                                  @JKSH

                                  You are missing my point. Qt developers KNOW what is supported on each platform. They should document it CLEARLY in the CLASSES which refer to that functionality so that users of Qt don't:

                                  1. Make false assumptions that because there is a Qt class for a certain functionality, it is actually supported on the target OS. (e.g. QAudioProbe seems like a very useful class. Oops... not supported on OSX – but nowhere in the QAudioProbe docs does it SAY that.)
                                  2. have to chase around trying to find what is or isn't supported.

                                  As for shipping without required libs, I was referring to something like FFmpeg – if your app requires that, you don't expect your end user to have it installed (or you shouldn't).

                                  JKSHJ Offline
                                  JKSHJ Offline
                                  JKSH
                                  Moderators
                                  wrote on last edited by
                                  #16

                                  @TOMATO_QT said:

                                  You are missing my point.

                                  Sorry if I've misunderstood you. Please clarify: Are you focussing on documenting formats, or backend features, or both? I thought it's the former, since your thread is about the list of supported formats.

                                  I want to make one thing clear: Qt can (and should) document which classes support which platforms/backends. However, Qt cannot document which multimedia formats are supported.

                                  As for shipping without required libs, I was referring to something like FFmpeg – if your app requires that, you don't expect your end user to have it installed (or you shouldn't).

                                  And I was explaining that Qt doesn't require libraries like FFmpeg, which is why there is no list of supported video formats (addressing your original post).

                                  Qt doesn't choose which formats are supported. You, the app developer, get to choose. You can either (i) embed codecs like FFmpeg into your app, or (ii) bundle backend filter installers like Xiph with your app installer.

                                  Qt developers KNOW what is supported on each platform. They should document it CLEARLY in the CLASSES which refer to that functionality so that users of Qt don't:

                                  1. Make false assumptions that because there is a Qt class for a certain functionality, it is actually supported on the target OS. (e.g. QAudioProbe seems like a very useful class. Oops... not supported on OSX – but nowhere in the QAudioProbe docs does it SAY that.)
                                  2. have to chase around trying to find what is or isn't supported.

                                  Good points. I'd like to see clearer docs too. I've started a discussion at http://lists.qt-project.org/pipermail/development/2016-January/024617.html

                                  Please join the Development mailing list (http://lists.qt-project.org/mailman/listinfo/development ) and add your concerns and ideas.

                                  T 1 Reply Last reply
                                  0
                                  • JKSHJ JKSH

                                    @TOMATO_QT said:

                                    You are missing my point.

                                    Sorry if I've misunderstood you. Please clarify: Are you focussing on documenting formats, or backend features, or both? I thought it's the former, since your thread is about the list of supported formats.

                                    I want to make one thing clear: Qt can (and should) document which classes support which platforms/backends. However, Qt cannot document which multimedia formats are supported.

                                    As for shipping without required libs, I was referring to something like FFmpeg – if your app requires that, you don't expect your end user to have it installed (or you shouldn't).

                                    And I was explaining that Qt doesn't require libraries like FFmpeg, which is why there is no list of supported video formats (addressing your original post).

                                    Qt doesn't choose which formats are supported. You, the app developer, get to choose. You can either (i) embed codecs like FFmpeg into your app, or (ii) bundle backend filter installers like Xiph with your app installer.

                                    Qt developers KNOW what is supported on each platform. They should document it CLEARLY in the CLASSES which refer to that functionality so that users of Qt don't:

                                    1. Make false assumptions that because there is a Qt class for a certain functionality, it is actually supported on the target OS. (e.g. QAudioProbe seems like a very useful class. Oops... not supported on OSX – but nowhere in the QAudioProbe docs does it SAY that.)
                                    2. have to chase around trying to find what is or isn't supported.

                                    Good points. I'd like to see clearer docs too. I've started a discussion at http://lists.qt-project.org/pipermail/development/2016-January/024617.html

                                    Please join the Development mailing list (http://lists.qt-project.org/mailman/listinfo/development ) and add your concerns and ideas.

                                    T Offline
                                    T Offline
                                    TOMATO_QT
                                    wrote on last edited by TOMATO_QT
                                    #17

                                    @JKSH

                                    Thanks – I think we are mostly in agreement and it is just internet noise garbling communication. And please don't misunderstand – Qt is great and vast. But I have had my excitement smacked repeatedly after perusing the docs and playing with some code, only to discover that "oops... doesn't work on OSX (or iOS, or wherever)."

                                    I read your comment on that mailing list and that is pretty much what I am saying: some blurb in the header of the doc page of a particular class which spells out current compatibility (through a link or other web mechanism to inject it) That way, if someone is reading the docs, it is right there.

                                    I posted an issue on this a few weeks back: https://bugreports.qt.io/browse/QTBUG-50425

                                    Cheers!

                                    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