C++ 使用libavcodec/ffmpeg进行屏幕捕获,并将其写入mp4文件

C++ 使用libavcodec/ffmpeg进行屏幕捕获,并将其写入mp4文件,c++,ffmpeg,directshow,libavcodec,C++,Ffmpeg,Directshow,Libavcodec,我正在尝试(通过编程)用DirectShow屏幕驱动程序录制屏幕。我根据ffmpeg示例编写了一些快速(非常)肮脏的代码,试图使其正常工作(),但我很难确定使用的基本/帧速率是多少。如果我将time_base/framerate部分留空,我只会得到一个静止帧。如果我将它们更改为任何值,视频将变为黑色 我猜这与输出文件的设置有关,但我只是想不出应该尝试什么。如有任何提示/帮助,将不胜感激。什么样的dshow捕获过滤器?命令行上的ffmpeg有效吗?@rogerdpack这个捕获过滤器(如果我理解你

我正在尝试(通过编程)用DirectShow屏幕驱动程序录制屏幕。我根据ffmpeg示例编写了一些快速(非常)肮脏的代码,试图使其正常工作(),但我很难确定使用的基本/帧速率是多少。如果我将time_base/framerate部分留空,我只会得到一个静止帧。如果我将它们更改为任何值,视频将变为黑色


我猜这与输出文件的设置有关,但我只是想不出应该尝试什么。如有任何提示/帮助,将不胜感激。

什么样的dshow捕获过滤器?命令行上的ffmpeg有效吗?@rogerdpack这个捕获过滤器(如果我理解你的问题的话)。是的,命令行工作得很好。不幸的是,LIABA*可能不太了解LIABV用户邮件列表。下面是GITHUB链接:指向FMPEG-C++(Ubuntu)的MP4文件中的屏幕捕获和存储框架的答案。参考: