首页 > 解决方案 > FFMPEG 没有记录整个窗口

问题描述

我正在使用 FFMPEG 录制一个窗口,如下图所示。在所有情况下,记录窗口的右侧都会被裁剪。我给出的命令是

ffmpeg -f gdigrab -i title="example.txt - Notepad++" output.mkv

非常感谢任何有关如何解决此问题的建议。

使用 FFMPEG 录制窗口

以下是一些附加信息:

这是上面示例中记录区域的样子

FFMPEG裁剪窗口的右侧

更新1:

记录整个桌面工作正常,但是,当使用 x 和 y 偏移记录区域时,捕获的区域是正确的,但指示的区域是错误的。我在下图中说明了这一点,它显示了录制期间桌面的屏幕截图。背景图像是一个网格,任务栏已被隐藏。

在此处输入图像描述

要捕获的区域大小指定为 1280x720,但指示的区域为 1600x900。此外,x 偏移量指定为 400 像素,但指示的区域从 500 像素开始。

记录的区域是正确的!下图是vlc回放时录制的截图,注意可以看到“错位”区域指示符

在此处输入图像描述

更新 2:

我注意到从桌面捕获时光标(鼠标)未正确放置,请参见下面的记录。录制过程中一切看起来都很好,但在播放时光标放错了位置。

在此处输入图像描述

为上述记录发出的命令是:

ffmpeg -f gdigrab -framerate 30 -offset_x 1820 -offset_y 100 -video_size 1280x720 -i desktop output5.mkv

Windows 10 / ffmpeg-20181215-011c911-win64-static

标签: ffmpeg

解决方案


如问题评论中所述,ffmpeg 不处理 Windows 中的不同 DPI 设置。但是我相信有一个解决提到的缩放问题的方法。如下:

  1. 到安装ffmpeg.exe的地方打开属性窗口, img:ffmpeg属性窗口
  2. 如果您是管理员,请单击“更改所有用户的设置”按钮 img: all users properties window
  3. 单击“更改高 DPI 设置”按钮 img:DPI 缩放覆盖
  4. 勾选“覆盖高 DPI 缩放行为。并确保选择了“缩放执行者:自动”

参考:

https://github.com/rdp/screen-capture-recorder-to-video-windows-free/issues/56#issuecomment-306900403


推荐阅读