【发布时间】:2014-09-27 16:09:29
【问题描述】:
我正在尝试从 OpenGL 中的动画创建视频文件。 我一直在阅读如何做到这一点,据我了解,有两种选择:
- 将 OpenGL 中的每个渲染帧保存到一个图像文件中,然后从中创建一个视频文件
- 使用
glReadPixels()获取帧数据,并即时将其写入视频文件
我认为第二种方法最适合我,但是,我找不到有关如何实现第二部分(写入视频文件)的信息。
谁能指出我学习如何做到这一点的一些网站?我可以使用哪些类型的库来编码(?)我在 OpenGL 中渲染的帧中的视频?
编辑
在对此进行了更多搜索之后,我相信 ffmpeg 是要走的路。我发现 this blog 的代码显然可以在 Windows 上运行。
我已经从网站上下载了 ffmpeg,这样我就可以像示例中一样执行命令了。不幸的是,我的应用程序崩溃并且没有创建视频。我检查了文件指针是否有效但它不是,所以我认为错误来自函数popen的执行。
我传递了与命令完全相同的参数,但仍然没有有效的文件指针,你知道会发生什么吗?
问题是,我不想花太多时间编码视频编码,因为我还有其他项目要处理。
【问题讨论】:
-
我在编码/解码视频文件方面并没有真正的经验,但我认为你最好的选择是寻找一个为你做这件事的库,你只需将数据传递给它。如果它的任何部分与我想象的音频(哪个)相同,那将不是微不足道的。不幸的是,我不知道任何图书馆。
-
问题是,您并没有寻求具体的帮助。有很多库能够将一系列 RGB 图像编码为视频流(ffmpeg、gstreamer,我很确定 OSX 有一些原生的东西)。除非您询问有关这些库的特定信息,否则这个问题没有意义。
标签: opengl osx-mavericks qt5 ubuntu-14.04