← 博客

录制程序识别不到游戏时,按原因的解决法

录制程序识别不到游戏而出黑屏的游戏采集界面
Photo · Pexels
核心摘要
  • 黑屏、识别不到最常见的原因是 GPU 不一致和权限不足。请把 OBS 以管理员权限运行,并让它和游戏用同一块 GPU。
  • 无畏契约、PUBG 这类反作弊强的游戏,挂钩本身会被拦截。这时请从游戏采集兜底切到屏幕(显示器)采集。
  • 仍抓不到的话,删除挂钩缓存(obs-studio-hook)、更新驱动、用无边框窗口模式代替全屏来试。
  • DOR 自动检测受支持的游戏并开始录制,所以根本没有手动指定来源、挂钩的过程。

先说结论,录制程序识别不到游戏的问题,大多是三者之一。①游戏采集的挂钩因 GPU 不一致或权限不足而失败,②反作弊拦截挂钩,③全屏模式和采集方式冲突。按下面的顺序,跟着符合自己情况的分支走即可。

为什么抓不到游戏、出黑屏

OBS 的“游戏采集”是给游戏进程挂上钩子(hook)来拦截画面输出的方式。快而轻,但只有当游戏和录制程序在同一块显卡上作画、在同一权限级别下运行时,挂钩才成立。这个前提一破,即便从游戏列表里选了游戏,预览也会一片漆黑。如下图所示,OBS 要由用户自己指定用哪种方式采集哪个游戏。

在 OBS Studio 里手动添加游戏采集来源并指定要采集的游戏进程的界面
OBS Studio · Wikimedia Commons (GPL, OBS Project)

分支 1. 挂钩失败(黑屏·识别不到)

游戏列表里能看到游戏,但只有预览是黑的,那就是挂钩试过了、却卡在 GPU 或采集模式上的情形。从最常见的原因开始一一排解。

  • 1) 对齐 GPU:笔记本的核显和独显各自作画。在设置 → 系统 → 显示 → 图形里把 OBS 指定为‘高性能’,让它和游戏用同一块独显。
  • 2) 更改采集模式:在游戏采集属性里把‘捕捉特定窗口’换成‘捕捉全屏应用(自动)’,或反过来切换。
  • 3) 把游戏改成‘无边框窗口(Borderless)’模式:独占全屏的挂钩更容易破。改成窗口模式往往就抓到了。
  • 4) 删除挂钩缓存:删掉 C:\ProgramData\obs-studio-hook 文件夹后,重新建立游戏采集来源。更新或崩溃后缓存损坏导致问题时很有效。

分支 2. 反作弊冲突(无畏契约·PUBG 等)

挂钩在技术上就是‘进程注入’。所以 Vanguard(无畏契约)、EasyAntiCheat、BattlEye 这类反作弊会把挂钩看作外挂行为并拦截。如果在 无畏契约绝地求生 里游戏采集格外黑屏,就别再试挂钩,改变采集方式才是正解。

  • 兜底到屏幕(显示器)采集:直接录制显示器输出本身,不碰游戏进程。反作弊没有可拦截的对象,运作最稳。
  • ‘反作弊兼容钩子’选项:游戏采集属性里若有这一项就打开来试。是侵入性更低的挂钩,部分反作弊会放行。
  • 窗口采集(Window Capture):把窗口模式的游戏按窗口为单位录制的折中方案,而非全屏。
实战贴士:屏幕采集有‘连桌面、通知窗都一并录进去’的缺点。录制前把游戏开成全屏,暂时关掉 Discord 悬浮窗、Windows 通知,就能得到干净的结果。

分支 3. 权限问题(管理员权限不一致)

很多游戏默认以管理员权限运行。反之,OBS 若以普通权限开启,Windows 会阻止‘低权限程序去挂钩高权限进程’。仅仅对齐权限级别就解开的情况很多。

  • 右键 OBS 图标 →‘以管理员身份运行’,让它和游戏的权限级别对齐。
  • 想每次自动应用,就在 OBS 属性 → 兼容性 → 勾选‘以管理员身份运行此程序’。
  • 还是不行就把 OBS 和 GPU 驱动更新到最新版。有旧版挂钩 DLL 和新驱动错位的案例。

根本解决:彻底没有挂钩、来源指定的方式

DOR 自动检测受支持游戏的启动、无需另外指定来源就开始录制的界面
DOR 自动检测受支持的游戏并开始录制

上面这套流程,归根结底是要用户自己去找出‘哪种采集方式在这个游戏、这个环境下不会被挡’并对齐,而每个游戏、每块 GPU、每种反作弊的答案都不一样,于是每次都要重新摸索。OBS 要手动添加游戏采集来源、亲自指定并挂钩要采集的游戏进程,而 DOR 自动检测受支持的游戏并开始录制。不用挑挂钩模式或建立来源,‘抓不到游戏’这一步本身就消失了。开 无畏契约英雄联盟,DOR 就自动识别并录制,精彩画面还会自动剪成片段。各游戏的推荐设置和实际的自动片段示例,可在 无畏契约英雄联盟绝地求生 页面查看。

总结:黑屏、识别不到,大多靠①对齐 GPU、权限来救活挂钩,②反作弊游戏兜底到屏幕采集,③统一权限级别来解决。如果嫌每次对齐采集方式麻烦,就用自动检测游戏启动并录制的 DOR,把识别这一步整个跳过。
FAQ

常见问题

OBS 游戏采集只出黑屏。最先该做什么?

把 OBS 以管理员权限运行,并在设置 → 系统 → 显示 → 图形里把 OBS 指定为‘高性能’,让它和游戏用同一块 GPU。这两点能解开相当一部分黑屏。还不行就把游戏改成无边框窗口模式试试。

无畏契约里游戏采集抓不到。为什么?

因为无畏契约的 Vanguard 反作弊把挂钩看作外挂行为并拦截。别再继续试游戏采集,改成屏幕(显示器)采集。它直接录制显示器输出本身,反作弊没有可拦截的对象,能稳定运作。

换成屏幕采集和游戏采集有什么区别?

游戏采集是给游戏进程挂钩、只取画面,而屏幕采集是录制整块显示器输出。它不受反作弊、权限问题困扰,但会把桌面、通知窗都录进去,所以录制前最好把游戏开成全屏并关掉悬浮窗、通知。

说要删挂钩缓存,删哪里?

是 C:\ProgramData\obs-studio-hook 文件夹。完全退出 OBS 后删掉这个文件夹里的文件,再重新建立游戏采集来源即可。更新或崩溃后挂钩 DLL 损坏导致问题时很有效。

每次对齐这些设置很麻烦,有替代方案吗?

用 DOR 就行。OBS 要手动指定来源、挑挂钩模式,而 DOR 自动检测受支持游戏的启动并开始录制。不必自己对齐采集方式,‘抓不到游戏’的问题本身就不会发生,精彩画面还会自动剪成片段。

Games

录制这些游戏

继续阅读

相关文章

立即开始使用 DOR

安装后只需启动游戏,精彩瞬间就会自动生成为剪辑