FFMPEG不会记录整个窗口

时间:2018-12-16 14:15:57

标签: ffmpeg

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

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

任何有关如何解决此问题的建议都将受到赞赏。

Using FFMPEG to record a window

以下是一些其他信息:

  • 运行Windows 10
  • 使用ffmpeg-20181215-011c911-win64-static,但是在使用其他版本的FFMPEG时也遇到相同的问题
  • 台式机分辨率为3200x1800(dpi缩放问题?)

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

FFMPEG cropping right hand side of window

更新1:

记录整个桌面效果很好,但是,当使用x和y偏移记录区域时,捕获的区域正确,但是指示的区域错误。我在下面的图像中对此进行了说明,该图像显示了录制过程中桌面的屏幕截图。背景图像是一个网格,并且任务栏已隐藏。

enter image description here

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

记录的区域正确!下图显示了在vlc中播放期间录制的屏幕截图,请注意,可以看到“放错位置”的区域指示符

enter image description here

更新2:

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

enter image description here

上面录制的命令是:

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

1 个答案:

答案 0 :(得分:1)

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

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

参考:

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