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 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