当我尝试使用命令行捕获带有非英文字符(例如 ¥ 或任何其他中文页面)的 chrome 窗口时,将出现 I/O 错误并显示消息“找不到窗口”¥中文页面。 - 谷歌浏览器“,正在中止。”当非英文字符替换为英文字符时,错误就会消失。环境:Windows 10,ffmpeg 版本 2021-03-24
这工作正常:ffmpeg -f gdigrab -i title="$ English Page - Google Chrome" -pix_fmt yuv420p grab.mp4
这有错误:ffmpeg -f gdigrab -i title="¥中文页面。 - Google Chrome" -pix_fmt yuv420p grab.mp4
"Can't find window "¥中文页面。 - Google Chrome", aborting."
有什么想法可以解决这个问题吗?
最佳答案
这是因为 Windows 10 的简体中文默认页面代码是 936。您可以通过键入 chcp
找到自己的页面代码在命令行中。
FFmpeg 完全支持 UTF-8,因此当我将 Windows 默认页面代码更改为 UTF-8(代码 65001)时,错误消失了。
这是我的做法:
regedit
.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
OEMCP
值从默认值(在我的情况下为 936)到 65001。关于非英文字符的 FFMPEG 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66885578/