Qt5 extracting audio from video - c++

I have a task: user chooses a video file, I need to get an audio track from it and give an opportunity to play it with equalizer and then save this audio in mp3.
I found an example of media player in Qt. Playing video with Qt is very easy as the example has shown so I'd like to realize this task only with Qt API. The only way I know to get audio track from video is to use libAV or similar libraries. Is there an opportunity to get audio from video with Qt API? Also I haven't found the way to save an audio in a specific format with Qt. Is it possible?
Thanks a lot.

Related

Does Qt has any library/APIs which can be used for trimming/cropping to create audio/video thumbnails?

Need to create thumbnails for audio & video files. Is there any built-in or programmatic way in Qt to be able to do it?
Related: Execute ffmpeg to Crop Audio in Qt

QMediaPlayer - modify audio on the fly

I'm researching options for creating a simple video player. What I'd like to do, is to apply some audio processing (e.g. low pass filter for simplicity) while playing back the video. I've looked at Qt multimedia API, so here's my main question:
How could I edit the audio output of a QMediaPlayer? Do I need some lower level APIs?
Additionally, if some other technologies would suit this purpose better or provide better open source libraries, feel free to suggest. I have experience with C# as well.
QMediaPlayer doesn't allow low-level access to the audio data.
I'd suggest to you to use the QAudioOutput and QAudioDecoder classes for your purpose.
The QAudioDecoder produces QAudioBuffer objects. You can access the data() of these objects, process it (modify it) and feed it to the QIODevice that is returned by the start() method of the QAudioOutput object.
This will be the audio playback path of your player.
For the video you'll still use a muted QMediaPlayer to decode the video frames from the same file and output them to a QAbstractVideoSurface. You'll then need an algorithm to sync the video and audio frames produced by the above two methods.

Video preview image using vlc-qt (or libvlc directly)

I'd like to make a detailed video list in my Qt application using vlc-qt. Other playback engines such as QtAV or QtMultimedia are not an option. It should be vlc-qt (libvlc). That's why I need to get a small picture of a video, a preview, but can't find anything suitable for this task, except libvlc_video_take_snapshot. This method will save a picture locally, and I guess it needs a real render window to exist. That's not a good variant for me, maybe there's some better solution?

Recording Video & Audio on Windows and Showing Current Camera View

I was planning to use Qt to record video/audio and to show the camera view while it is recording. However, there is a bug report with recording videos on Windows, as reported in this page, and I confirmed that the issue is legitimate. There wasn't any problem with recording video and audio on Macintosh and Linux-Ubuntu.
Due to this issue with Qt, I'm looking for another C++ library that does video and audio recording and can display the camera view. It will be great if it is easy to use and integrate into my project.

Does the Qt framework support manipulating videos files?

Using the Qt framework is there a way to add watermarks to videos? If not what are my options?
to embedd something into a video you have to reencode the video. for this you have to extract frame by frame, add your watermark to each frame and reencode each frame.
i would use ffmpeg for this task.
qt and it's multimedia framework might help to decode a video, i am not aware of the encoding part. so, to answer your question: no.
might be helpful: http://code.google.com/p/qtffmpegwrapper/ (which has some prebuilt win32 binaries in the repository already)