我有一个运行科学模拟并在 OpenGL 窗口中显示可视化的 C 程序。我想把这个可视化制作成视频,最终会在 YouTube 上播放。
问题:从 C/OpenGL 程序制作视频的最佳方法是什么?
我以前的做法是使用截屏程序,但是这很费力(必须启动/停止截屏程序,保存视频文件等...)。似乎应该有一种方法可以使从 C 程序中制作视频的过程自动化。然后我可以让它运行一整夜,早上有 20 个视频要浏览,然后选择最好的一个放到 YouTube 上。
YouTube recommend “640x480 分辨率的 MPEG4(Divx、Xvid)格式”。
我正在使用 GLUT 3.7.6_3,如果有区别的话。如果有充分的理由,我可以更改窗口系统。
我运行的是 Windows (XP),所以更喜欢适用于 Windows 的答案,但 Linux 答案也可以。如果无法在 Windows 上轻松完成视频工作,我可以使用 Linux。我有一个 friend 为视频的每一帧制作一个 .png 图像,然后在 Linux 上使用“mencoder”将它们拼接在一起。
最佳答案
您可以使用 glReadPixels 函数(参见 example)
但是,如果您要显示的内容是由简单对象(即球体、棒等)构成的,我会将每一帧“导出”到 POV-ray 中。文件,渲染这些,然后用这些图片制作视频。你将达到更高的质量。
关于c - 从 OpenGL C 程序制作视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4932637/