Question / Help High CPU usage (and other problems)

kokowang

Member
  • Adding a h264 1080p video capture device to the scene causes CPU usage to go to 50%. It seems like hardware decoding of input videos isn't supported by OBS. Would it be possible to implement hardware decoding for h264 on AMD VCE, Nvidia NVENC, Intel Quicksync, and Apple VideoToolBox in a future update? (Please don't be that person to suggest that I upgrade my CPU when I have a perfectly capable GPU that can decode video just fine).
  • Currently I'm having to use a hardware decoder through MPC-HC to play the video and having OBS do screencap from the video to avoid ridiculously high CPU usage from decoding. It would be nice if hardware decoders were supported natively on OBS so this isn't an issue.
  • OBS also has some sync issues with audio-video from video capture devices with variable framerates. It seems to only check timestamps once during scene activation to sync the A-V, but then desync occurs if either audio or video samples/frames are dropped by the video capture device. This should be an easy fix; resync audio every frame like MPV's FFMPEG encoder, which doesn't take much resources at all.
  • OBS has issues with direct X applications going full screen while using display capture. It occasionally freezes on alt-tabs into and out of full screen direct X apps captured with "display capture" and won't unfreeze until the source is disabled and re-enabled.
  • OBS reports encoding usage too high despite having plenty of resources to work with. Encoder (Quicksync/AMD) sometimes is running at less than 10% capacity and OBS will still report overload on encoders. Happens even when priority in task scheduler is set to RealTime and ran with system (higher than administrator) permissions. Even with this report, 0 frames are dropped and framerate remained stable at a constant 60. This is quite odd considering Quicksync on my intel graphics can encode 1080p at 160FPS (tested with record mode on OBS). It should never have any overloads when encoding at 60.
  • Feature requests (for community to work on, just throwing ideas up, I know I should implement these myself but too lazy...): Gradients for color sources, jinc scaling elliptical weighted average lanczos, NNEDI-3 deinterlacing, transcoding support (without needing to render scene, wasting GPU power), remote (network) encoder support, custom VFW encoder support, VST support, video-audio delay / a-v resync after render just before encode (to avoid high cpu usage of delaying display capture), cache on high speed +2GBps ssd pagefile instead of RAM.
TL;DR - just read the bolded statements.
 
Last edited:

kokowang

Member
These problems are present on MacOS as well, with the exception of the encoder overload and Direct X apps freezing.
 
Experiencing high CPU usage as well using video capture for my HD60, in preview mode. Their own software has a GPU decoding option, not sure if OBS can request GPU decoding as well through Media Foundation?
 
Top