使用FFmpeg(或类似)将应用程序输出录制到视频

时间:2011-12-15 20:52:35

标签: c++ windows ffmpeg video-capture

我们要求用户录制我们3D应用程序的视频。我已经可以抓取单个渲染帧了,所以这个问题具体是关于如何将帧写入视频文件。

我不认为将每个帧写为单独的文件,后处理是一个可行的选择。

我可以查看录制到简单视频文件的选项,以便以后优化/编码,或直接写入合理编码的格式。

在另一篇文章中提出了FFmpeg,但对我来说这看起来有点令人生畏。它是最好的选择,如果不是可以建议的吗?我们可以使用LGPL但不是完整的GPL。

我们正在使用C ++编写Windows(Win32而不是MFC)。非常感谢使用您推荐的库的示例/伪代码...基本上在如何执行3个函数之后:

  • startRecording()执行所需的初始化
  • recordFrame()获取指向帧数据的指针并对其进行编码,理想情况下使用时序数据
  • endRecording()完成视频文件,关闭视频系统等

1 个答案:

答案 0 :(得分:1)

在sourceforge上查看Taksi的消息来源。 http://taksi.sourceforge.net/ 你需要2件事。 1.压缩帧的代码。 2.容器文件格式。像AVI或MPG一样。

Taksi使用旧的VideoForWindows API和AVI而不是较新的COM API,但它仍然适合您。