[Help] OBS source: When using a monitor to collect data, the full screen output image is in a static state

OFEOFAGF

New Member
全屏窗口的游戏,OBS输出图像为静态,但退出游戏窗口后,OBS可以正常输出图像
并且在《我的世界》全屏窗口打开录制或者直播后,在游戏内按e打开背包也会出现鼠标指针丢失的问题(这种情况并不是因为OBS输出画面的存在,而是游戏内部的问题,而在任何全屏游戏中,OBS输出画面都是全部处于静态的)

听说哔哩哔哩直播是一款基于OBS开发的软件,该软件没有出现过这个问题。
同时,我的电脑有时会出现OBS资源使用异常的情况,而Bilibili直播并不知道
如果哔哩哔哩直播公主资源占用异常,而OBS没有此问题(不同时安装两个软件也一样)

[求助]obs 来源使用显示器采集的情况下完整输出屏幕画面为静态状态
全屏窗口的游戏在obs输出的画面为静止状态,但是退出游戏窗口后obs可以正常输出画面
而在minecraft游戏的全屏窗口打开录制或直播后游戏内按一下打开背包还会出现鼠标丢失的问题(这种情况不是obs输出的画面存在于游戏内,并且obs在任何全屏状态下)的游戏, obs输出的画面全部都是静止状态)

听说bilibil直播姬是基于obs开发的软件,这款软件并没有出现这个问题。
同时我的电脑有时obs资源占用异常bilibili直播服务器并不会
如果bilibili直播姬资源占用异常时obs反而没有这个问题(没有同时安装两个软件同样如此)
 

Attachments

  • 2024-07-19 01-39-59.txt
    41.9 KB · Views: 19
  • 2024-07-19 01-21-41.txt
    299.7 KB · Views: 25

Suslik V

Active Member
Try to eliminate decoding errors by disabling hardware acceleration (make unchecked the "Use hardware decoding when available" or "在可用时使用硬件解码") for your media sources. This will make log-file more readable.
Code:
01:21:43.550: error:   decoder->cvdl->cuvidCreateDecoder(&decoder->decoder, params) failed
01:21:43.550: error:    -> CUDA_ERROR_INVALID_VALUE: invalid argument
01:21:43.550: error:   
01:21:43.551: warning: Using more than 32 (36) decode surfaces might cause nvdec to fail.
01:21:43.551: warning: Try lowering the amount of threads. Using 16 right now.
01:21:43.551: error:   Failed setup for format cuda: hwaccel initialisation returned error.
Code:
01:21:43.344: [Media Source '萝莉']: settings:
01:21:43.344:     is_hw_decoding:          yes
...
01:21:43.414: [Media Source '布卡娘']: settings:
01:21:43.414:     is_hw_decoding:          yes

Other issues mentioned in:
(game and display capture sources in the same scene, HAGS - all may lead to bad OBS experience)
 

OFEOFAGF

New Member
尝试通过禁用媒体源的硬件加速(取消选中“在可用时使用硬件解码”或“在可用时使用硬件解码”)来消除解码错误。这将使日志文件更具可读性。
[代码]
01:21:43.550:错误:解码器-> cvdl-> cuvidCreateDecoder(&解码器->解码器,参数)失败
01:21:43.550:错误:-> CUDA_ERROR_INVALID_VALUE:参数无效
01:21:43.550:错误:
01:21:43.551:警告:使用超过 32(36)个解码表面可能会导致 nvdec 失败。
01:21:43.551:警告:尝试降低线程数量。目前使用 16 个。
01:21:43.551:错误:格式 cuda 设置失败:hwaccel 初始化返回错误。
[/代码]
[代码]
01:21:43.344: [Media Source '萝莉']: settings:
01:21:43.344:is_hw_decoding:是
...
01:21:43.414: [Media Source '布卡娘']: settings:
01:21:43.414:is_hw_decoding:是
[/代码]

提到的其他问题:
(同一场景中的游戏和显示捕获源、HAGS - 都可能导致糟糕的 OBS 体验)
So I uninstalled obs and reinstalled it and reset all settings of obs
But the problem is still not solved. Although it prompts that hardware acceleration is turned on by default in win11, I don't think it is a problem with this thing. This function was always turned on before the problem occurred.
In addition, because I reset all obs settings, the current obs only added monitor capture, which still did not solve the problem.
I solved all the problems according to the analysis tool, but when the game is opened in full screen, the OBS output screen is still still and frozen.
It’s still the same as the video I took before (the additional monitor is plugged in for intuitive performance, because you only have one monitor and you can’t see what the obs status is when playing in full screen)
After that, I tried to change the direct connection function of the laptop to the mixed output mode, and the obs problem magically disappeared. However, the problem still existed when I switched back to the direct connection function.
I have tried updating the graphics card driver, but the core graphics driver still cannot solve the problem.
One problem with using game capture directly is that after selecting the full-screen window, the position of the game displayed on obs cannot be adjusted. This is the main reason why I insist on using monitor capture.

所以我卸载了obs并重新安装它并重置了obs的所有设置
但是依旧没有解决这个问题尽管他提示win11默认开启的硬件加速但是我不认为是这个东西的问题 没出问题之前这个功能一直都是开着的
另外因为我重置了所有的obs设置现在的obs只添加了显示器捕获 依旧没能解决问题
我按照分析工具给出的问题全部解决了一遍 但是游戏打开全屏 obs输出的画面依旧是静止 冻结的状态
仍然和我之前拍的视频一样 (额外插显示器是为了直观表现 因为你只有一个显示器全屏游戏时看不到obs是什么状态)
之后我尝试把笔记本的独显直连功能改为混合输出模式 obs的这个问题就神奇的消失了 但是换回独显直连这个问题依旧存在。
我尝试过更新显卡驱动,核显驱动 还是无法解决。
直接使用游戏捕获有一个问题那就是选择全屏窗口后 无法调整游戏在obs显示的位置 这是我坚持使用显示器捕获的主要原因
 

Suslik V

Active Member
Capture of the game that is running on integrated GPU is different from the capturing of the game that is running on dedicated GPU. Usually Windows renders its desktop (all you see after PC powered on) on integrated GPU. Graphics heavy games usually rendered by dedicated GPU. "Game Capture" source of OBS uses special technique of capturing - it copies textures (final picture of the game) before they appears on the screen. To copy texture OBS needs to be run on the same GPU. Applications running in fullscreen (not borderless window but true fullscreen) can take full control over the display device - this picture "never" blends into general picture of desktop, let's say Windows can't draw above it, or below it, or left to it, or right to it. Thus, OBS has different sources to capture applications - the "Game Capture" and "Display Capture" (not for fun but for capture to work properly).

What you can do.
Read next threads:
  • you can select right OBS source for right application (path of try and trial)
  • you can try to disable integrated GPU forever (you not casual user of Windows - you capturing, it is special task)
  • you can buy capture card and install it in second PC for capture ( https://obsproject.com/certified-devices )
 

OFEOFAGF

New Member
集成 GPU 上运行的游戏的捕获与专用 GPU 上运行的游戏的捕获不同。通常,Windows 在集成 GPU 上呈现其桌面(PC 开机后您看到的全部内容)。图形繁重的游戏通常由专用 GPU 呈现。OBS 的“游戏捕获”源使用特殊的捕获技术 - 它会在纹理(游戏的最终图片)出现在屏幕上之前复制它们。要复制纹理,OBS 需要在同一个 GPU 上运行。全屏运行的应用程序(不是无边框窗口,而是真正的全屏)可以完全控制显示设备 - 此图片“从不”融入桌面的一般图片中,假设 Windows 无法在其上方、下方、左侧或右侧绘制。因此,OBS 有不同的来源来捕获应用程序 - “游戏捕获”和“显示捕获”(不是为了好玩,而是为了捕获正常工作)。

你可以做什么。
阅读下一篇帖子:
  • 您可以为正确的应用程序选择正确的 OBS 源(尝试和试验的路径)
  • 您可以尝试永久禁用集成 GPU(您不是 Windows 的普通用户 - 您正在捕获,这是一项特殊任务)
  • 您可以购买采集卡并将其安装在第二台电脑上进行采集(https://obsproject.com/certified-devices
I'll try it, thanks
 
Top