【发布时间】:2014-10-13 08:13:26
【问题描述】:
我使用 ffmpeg 使用这段代码记录一个窗口:
ffmpeg.exe
-f dshow
-y
-i video="screen-capture-recorder":audio="virtual-audio-capturer":audio="Microphone (USB Audio Device)"
-framerate 15
-vcodec libx264
-crf 0
-preset ultrafast
-acodec pcm_s16le
-vf crop=Width:Height:Left:Top
output.flv
但问题是我可能会移动窗口,这会导致记录一个没有我想要的窗口的区域。
如何捕获可以移动的特定窗口?
编辑:我还使用gdigrab 来捕获我的窗口(例如Skype)而不是dshow:
ffmpeg.exe
-y
-f dshow
-i audio="virtual-audio-capturer":audio="Microphone (USB Audio Device)"
-f gdigrab
-draw_mouse 0
-i title="Skype"
-framerate 30
-vcodec libx264
-crf 0
-preset ultrafast
-acodec pcm_s16le
output.flv
但是会议是黑色的……
【问题讨论】:
-
如果你还想要这个,请提交屏幕截图记录器的问题[我维护它]
-
您可以使用 dshow 和一种将偏移量动态传递给它的编程语言!您使用了裁剪过滤器,这很好,您可以使用程序创建边框,当您拖动该边框时,它会动态更改过滤器的偏移量。
-
stackoverflow.com/a/43464269/6180077 访问此链接以获取有效的 FFMPEG c++ mp4 格式屏幕录像机应用程序。
标签: ffmpeg window record gdi screen-capture