如何使用 Qt 多媒体和 C++ 从 OpenGL 纹理中保存 .mp4 视频
How to use Qt Multimedia and C++ to save an .mp4 video out of OpenGL textures
我正在使用基于 Qt 5.9 的应用程序,它在 嵌入式 linux & android 上运行。该应用程序使用 OpenGL ES 3.0
处理实时数据并实时显示 OpenGL 纹理。我以每秒 30+ 帧的速度显示,这使得它几乎是实时的并且看起来像视频。
我需要保存使用 OpenGL 纹理显示的 30 到 40 帧的 mp4。 据我了解,我可以利用 Qt Multimedia to do this. But I lack the knowledge of how to do this. I am trying read & understand the how part from links like here & here。
保存 mp4
后,可以使用 QMediaPlayer 进行播放,如 here 所述。这看起来很简单。但是我正在努力弄清楚如何在需要时将我的 OpenGL 纹理保存到 .mp4
中。
那么,如何从显示在 QML 项目上的 OpenGL 纹理中保存 .mp4 视频?
指出任何存在的基本示例也会有所帮助。
我认为 Qt 在内容创建方面不会给您带来任何好处,Qt 的多媒体功能纯粹用于内容消费目的。可以玩MM,不能做MM
您将明确使用许多可用的 MM 库之一 - vlc、ffmpeg、gstreamer、libav 等等。
我正在使用基于 Qt 5.9 的应用程序,它在 嵌入式 linux & android 上运行。该应用程序使用 OpenGL ES 3.0
处理实时数据并实时显示 OpenGL 纹理。我以每秒 30+ 帧的速度显示,这使得它几乎是实时的并且看起来像视频。
我需要保存使用 OpenGL 纹理显示的 30 到 40 帧的 mp4。 据我了解,我可以利用 Qt Multimedia to do this. But I lack the knowledge of how to do this. I am trying read & understand the how part from links like here & here。
保存 mp4
后,可以使用 QMediaPlayer 进行播放,如 here 所述。这看起来很简单。但是我正在努力弄清楚如何在需要时将我的 OpenGL 纹理保存到 .mp4
中。
那么,如何从显示在 QML 项目上的 OpenGL 纹理中保存 .mp4 视频?
指出任何存在的基本示例也会有所帮助。
我认为 Qt 在内容创建方面不会给您带来任何好处,Qt 的多媒体功能纯粹用于内容消费目的。可以玩MM,不能做MM
您将明确使用许多可用的 MM 库之一 - vlc、ffmpeg、gstreamer、libav 等等。