Using ffmpeg and Qt
-
I made a simple program using ffmpeg to work with multimedia. I accomplished this by calling ffmpeg using QProcess and I gained valuable experience with it. During this implementation I noticed that there are certain problems that come with it such as not having full control over the library and the functionality of it.
I am always excited to know how other more experienced programmers accomplish this.
So here is my question:
-
From your personal experience, what is a better solution to using ffmpeg and other third party libraries in Qt?
-
Do you use QProcess to call the executable in a separate process or do you integrate the libraries in your program?
-
What are the drawbacks of each method?
-
What is your preferred method?
Thank you for taking the time to read and respond to my topic.
-
-
ffmpeg is based on the libavcodec libraries. best results will always be to learn the API and use the libraries directly. ffmepg utility is a victim of years of incremental development, so the user-itnerface sux and in many cases is just plain buggy. ffmpeg also uses the amateurish hack of embeddedin console control sequences right in the program diagnostics output instead of using an intermediate like libcurses. While it is a popular and necessary swiss army knife of multimedia conversion, it is not well written.
-
ffmpeg is based on the libavcodec libraries. best results will always be to learn the API and use the libraries directly. ffmepg utility is a victim of years of incremental development, so the user-itnerface sux and in many cases is just plain buggy. ffmpeg also uses the amateurish hack of embeddedin console control sequences right in the program diagnostics output instead of using an intermediate like libcurses. While it is a popular and necessary swiss army knife of multimedia conversion, it is not well written.
@Kent-Dorfman As much as I am impressed by the capabilities of the ffmpeg library, I have to admit that you are indeed correct! ffmpeg is not written well. As a result I am worried I might spend months trying to figure out the API and come to no conclusion. Is there a better alternative that offers similar capabilities in a C++ language? (Except for QtMultimedia of course)
-
@Kent-Dorfman As much as I am impressed by the capabilities of the ffmpeg library, I have to admit that you are indeed correct! ffmpeg is not written well. As a result I am worried I might spend months trying to figure out the API and come to no conclusion. Is there a better alternative that offers similar capabilities in a C++ language? (Except for QtMultimedia of course)
-
Hi, I recommend to research ffplay that uses ffmpeg libraries and SDL. You can embed SDL into your Qt app.
-
@Kent-Dorfman As much as I am impressed by the capabilities of the ffmpeg library, I have to admit that you are indeed correct! ffmpeg is not written well. As a result I am worried I might spend months trying to figure out the API and come to no conclusion. Is there a better alternative that offers similar capabilities in a C++ language? (Except for QtMultimedia of course)
@Saviz said in Using ffmpeg and Qt:
Is there a better alternative that offers similar capabilities in a C++ language?
IMHO, no...It is the standard for open source multimedia conversion.
-
I made a simple program using ffmpeg to work with multimedia. I accomplished this by calling ffmpeg using QProcess and I gained valuable experience with it. During this implementation I noticed that there are certain problems that come with it such as not having full control over the library and the functionality of it.
I am always excited to know how other more experienced programmers accomplish this.
So here is my question:
-
From your personal experience, what is a better solution to using ffmpeg and other third party libraries in Qt?
-
Do you use QProcess to call the executable in a separate process or do you integrate the libraries in your program?
-
What are the drawbacks of each method?
-
What is your preferred method?
Thank you for taking the time to read and respond to my topic.
-