如何使用OBS回放缓存来完全代替N卡的即时重放(包括仅在游戏时才开启录制)
OBS

如何使用OBS回放缓存来完全代替N卡的即时重放(包括仅在游戏时才开启录制)

😅
自从Nvidia App更新之后,即时重放就问题不断,包括但不限于视频文件夹多出了个lock文件卡我Onedrive同步进度,明明设置了60帧率实际视频只有20帧… 看了b站视频得知OBS也有类似即时重放的功能,叫做回放缓存,而且它是把临时视频文件直接放在内存里,而不是像N卡即时重放是放在硬盘里(消耗SSD寿命) 经过一系列设置之后可以实现开机自启obs并自动开启回放缓存,但是还是也有一些小问题,比如说全屏游戏时保存回放的快捷键不生效,以及由于它一直在后台录制,导致电脑不会睡眠。 于是乎,经过一晚上的研究,我终于找到了解决这些痛点的方法

OBS下载与安装

略,只要版本在30以上就行

OBS配置

  1. 新建一个场景
    1. 添加一个来源,选择游戏采集
      1. notion image
  1. 配置音轨(可选,如果你有后期剪辑的需求)
    1. 游戏和麦克分设置好对应的音轨
      1. 如果你想要录制队友的语音,则开启桌面音频禁用游戏采集音频
        如果你想要录制队友的语音,则开启桌面音频禁用游戏采集音频
  1. 配置录制视频格式
    1. 打开设置视频,配置场景的分辨率和输出分辨率,以及帧率,以你的显示器分辨率为准
      1. notion image
    2. 切换到输出,输出模式选择高级,找到录像
        • 录制设置
          • 录像路径:修改好保存回放的路径
          • 录像格式:一般选择MP4
          • 视频编码器:选择对应的显卡编码,这样不太影响游戏帧率
          • 音轨:如果你前面设置了音轨分离,就勾选好对应的音轨,没有设置就保持默认
          • notion image
        • 编码器设置
          • 速率控制:录制一般选择CQP(恒定质量)至于CBR(恒定码率)用于直播
          • CQ级别:也就是录制的质量,经过网友测试28是录制1440p@60的最佳选择,自行酌情调整,越小质量越高
          • 剩下选项保持默认即可
          • notion image
    3. 切换到回放缓存
        • 勾选开启回放缓存
        • 自行调整时长
        • 自行调整内存,一般60s的1440p不会超过300MB
        notion image
       
  1. 配置快捷键
    1. 给保存回放设置好快捷键即可
      但是在管理员模式下全屏游戏的时候快捷键才生效
      notion image

OBS插件

接下来就要通过OBS插件来一一解决之前提到的痛点
插件下载:OBS插件 | AList

终极插件 一步到位

包含:
  • 检测到游戏时自动开启回放缓存
  • 保存回放时通知,播放声音
  • 根据游戏名创建文件夹保存回放
  1. 解压文件,把两个文件夹的内容解压到OBS的对应目录(只要把压缩包的内容解压到OBS根目录即可)
  1. 重启OBS,前往工具OBS Hadowplay Settings ,没有就是解压错地方了
  1. 设置相应选项
      • Exclusion:填写要排除录制的黑名单,输入进程名
      • Automatic Replay Buffer Enabled:游戏启动时自动开启回放缓存,游戏关闭时自动关闭回放缓存
      • Play Notification Sound:保存回放时播放音效
      • Show Desktop Notification:保存回放时调用Window通知
      notion image
😭
以下完全可以跳过,没想到研究了半天的东西,一天不到就过气了

OBS通知插件

OBS保存回放的时候,默认没有任何通知,可以通过OBSNotifier这个插件来实现和即时重放一样的通知效果
  1. 首先要配置一下OBS
      • 前往工具WebSocket服务器设置
      • 勾选开启WebSocket服务器
      • 确定后,会弹出防火墙提示,允许即可
        • notion image
  1. 然后把下载好的通知插件解压到合适的位置,打开OBSNotifier.exe
    1. notion image
    2. 配置正常的话,它会自动连接到OBS
    3. 然后勾选退出OBS时关闭此程序,这样OBS退出,该程序也会自动推出
    4. 选择自己喜爱的通知样式,可以通过预览通知提示来查看
    5. 调整通知的位置
  1. 那么如何让通知插件随OBS启动呢
    1. 只需点击从OBS开始按钮,它就会把一个Lua脚本的路径放到系统的剪贴板
      1. notion image
    2. 然后前往OBS,选择工具脚本 ,添加一个脚本,在弹出的资源管理里粘贴路径即可
      1. notion image
        notion image

OBS仅在游戏时录制插件

  1. 首先退出OBS
  1. 解压文件,把两个文件夹的内容解压到OBS的对应目录(只要把压缩包的内容解压到OBS根目录即可)
  1. 打开OBS, 前往工具高级场景切换器,如果没有则表示你解压错地方了
  1. 添加两个宏
    1. 开启回放缓存,按如图设置即可
      1. 游戏采集检测到全屏应用时,便会自动开启回放
        notion image
    2. 关闭回放缓存,按如图设置即可
      1. 游戏采集检测不到全屏应用时,便会关闭开启回放
        notion image

OBS根据游戏名保存回放到对应文件夹插件

像即时重放一样根据游戏来分文件夹
  1. 退出OBS
  1. OBSReplayFolders.luadetect_game.dll解压到的X:\XXX\OBS-Studio-x64\obs-plugins
  1. 打开OBS,前往工具脚本
  1. 添加OBSReplayFolders.lua 这个脚本即可,报错的话就是解压错路径了

开机以管理员模式自启OBS

最后就是开机自启了,但是单纯把快捷方式放在shell:startup开机自启文件夹下并不可以以管理员模式自启
我们可以通过Windows自带的任务计划程序来实现
  1. 打开任务计划程序,选择创建基本任务
    1. notion image
      notion image
  1. 创建基本任务,填写好名称,下一页
  1. 触发器,选择当前用户登录时
  1. 操作,选择启动程序
    1. 浏览,选择X:\XXX\OBS-Studio-x64\bin\64bit\obs64.exe
    2. 添加参数:输入--minimize-to-tray --disable-shutdown-check
      1. 分别是最小化到托盘以及关闭启用安全模式提示
    3. 起始于:输入X:\XXX\OBS-Studio-x64\bin\64bit\
    4. 这里的XXX按你的实际路径来
  1. 完成,勾选当单击“完成”时,打开此任务属性的对话框。,点击完成
在弹出的新窗口里设置
  1. 常规 → 勾选使用最高权限运行
  1. 设置 → 取消勾选如果任务运行时间超过以下时间,停止任务(K)):

结束

Enjoy~