使用FFmpeg(或类似)录制应用程序输出到视频
Recording application output to video using FFmpeg (or similar)
我们有一个要求,让用户记录我们的3D应用程序的视频。我已经可以抓取单个渲染帧,所以这个问题是关于如何将帧写入视频文件的。
我不认为把每一帧写成一个单独的文件和后期处理是一个可行的选择。
我可以看看选项记录到一个简单的视频文件,以便以后优化/编码,或直接写入一个合理的编码格式。
FFmpeg在另一篇文章中被建议,但它看起来有点让我望而生畏。如果不是的话,这是最好的选择吗?我们可以使用LGPL,但不能使用完整的GPL。
我们正在用c++开发Windows (Win32而不是MFC)。示例/伪代码与您推荐的库是非常赞赏…基本上以后怎么做3个功能:
-
startRecording()
做任何需要的初始化 -
recordFrame()
获取指向帧数据的指针并对其进行编码,理想情况下使用时序数据 -
endRecording()
完成视频文件,关闭视频系统等
在sourceforge上查看Taksi的源代码。http://taksi.sourceforge.net/你需要两样东西。1. 压缩帧的代码。2. 容器文件格式。如AVI或MPG。
Taksi使用旧的VideoForWindows API和AVI,而不是新的COM API,但它仍然可以为您工作。
相关文章:
- 如何从Windows应用程序输出到标准?
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- 如何在 html 页面中插入 cgi 应用程序的输出?
- Qt creator 4.11,在应用程序输出面板中创建一个链接
- 将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中
- 为什么Qt Creator的应用程序输出不能从spdlog记录器打印
- 如何使用 ALSA API 在应用程序中在单声道和立体声之间切换声音输出?
- 如何读取windows服务启动的控制台应用程序的输出
- Windows 中应用程序的每秒输入/输出操作数
- C#类过程 - 控制C 应用程序,不可能读取输出
- QT小部件应用程序输出到控制台
- 从守护程序启动的控制台应用捕获输出
- 如何在不将其连接到终端的情况下运行'screen',以便我可以在C++ (qt) 应用程序中捕获输出?
- 如何在IDE中而不是在命令提示符中显示Visual Studio控制台应用程序输出
- 从 PHP 调用 C++ 应用程序 - 输出显示"Array"
- 可视化 如何获取 C++ 控制台应用程序输出并将其写入文本文件
- visual studio 2010 c++中win32form上的控制台应用程序输出
- Linux C++:如何在stdout之外显示文本应用程序输出
- 使用FFmpeg(或类似)录制应用程序输出到视频
- 对从控制台c++应用程序输出到Windows cmd.exe的标准输出进行着色