如何使用Qt多媒体和C++保存的.mp4格式的视频了OpenGL纹理

问题描述:

我使用它运行在嵌入式linux & 安卓的Qt 5.9的基于应用程序。应用程序使用OpenGL ES 3.0 &实时显示OpenGL纹理处理实时数据。我以每秒30帧以上的速度显示,这使得它非常实时&看起来像一个视频。如何使用Qt多媒体和C++保存的.mp4格式的视频了OpenGL纹理

我需要保存从30帧到40帧使用OpenGL纹理显示的mp4。 据我所知,我可以利用Qt Multimedia来做到这一点。但我缺乏如何做到这一点的知识。我正在尝试阅读&了解链接的方式,如here & here

其中一个mp4被保存,播放可以使用QMediaPlayer完成,如解释here。这看起来很简单。但是我很努力的想知道如何在需要时将我的OpenGL纹理保存到.mp4中。

那么,如何将.mp4视频保存在QML项目上显示的OpenGL纹理之外?

指出任何基本示例存在也将有所帮助。

Qt的多媒体设备纯粹是为了内容消费的目的,我不认为Qt对你的内容创作会有什么好处。你可以玩MM,而不是MM。

你会明确地使用许多可用的MM库之一 - vlc,ffmpeg,gstreamer,libav等等。

+0

好的。所以,我对Qt多媒体帮助的期望是错误的。有没有例子说明如何使用'ffmpeg'或'vlc'来做到这一点? –

+1

https://ffmpeg.org/doxygen/trunk/encoding-example_8c-source.html – dtech

+0

[此链接](http://blog.qt.io/blog/2017/02/21/making-movies-qml/ )似乎也在使用'ffmpeg'来保存所显示图像中的视频。我倾向于使用'ffmpeg'来创建我的视频 –