which encoder to use obs?
Here are some ways you can reduce resource utilization and, hopefully, make both OBS and your programs run faster while encoding:
The resolution that you are encoding at has the biggest impact on CPU usage. For example, 1080p has more than twice the number of pixels in each frame versus 720p, and your CPU usage increases accordingly. The most common way to reduce CPU usage is to downscale your resolution. When you downscale, OBS takes your scene and shrinks it as much as you tell it to before giving it to the encoder. You may want your base resolution at 1080p, since that's the resolution your content is in, but your CPU may not be able to encode an un-downscaled 1080p video. So you can downscale your resolution to 720p (or lower) to keep your image the same, but using a smaller resolution to reduce CPU load.
You can change how much you want to downscale in Settings > Video > Output (Scaled) Resolution. You can keep your Base (Canvas) Resolution the same, so that your layout doesn't change, and then downscale the resolution to whatever gives you good performance.
The different downscale filters (bilinear, bicubic, and Lanczos) simply change the algorithm used to shrink the picture: bilinear is fastest and takes the fewest resources, but doesn't look as good, while Lanczos takes more resources but looks better. Performance-wise, though they aren't that much different. Feel free to experiment with which filter works best for you.
If you're streaming above 30 FPS, another option is to consider is lowering your frame rate to 30 FPS. It will reduce the number of frames your CPU has to process in a give time span, which will reduce CPU usage. You may even feel the need to lower your frame rate to something below 30 FPS, in the case that your CPU is really weak and struggling.
The video encoder, x264, has a number of "presets" that will change your video quality and CPU usage accordingly. The OBS default is veryfast, which for the majority of cases is the best balance between CPU usage and video quality. This setting can be changed in Settings > Output (check the Enable Advanced Encoder Settings if you're in Simple mode) > Encoder Preset.
The name of the preset is intended to indicate how "fast" the encoder should run. Faster presets will use less CPU at the cost of quality computations. Slower presets will use more computations for quality, but will use much more CPU.
For example, if you would like to try to reduce CPU usage without modifying your resolution or FPS, you can reduce your CPU usage by changing your x264 preset to superfast or ultrafast, and x264 will spend less time trying to make the image look good, and will spare you some CPU cycles. The image may look a bit blockier or pixelated, but you will be able to retain your resolution/fps.
Be very careful with this setting, because even one step faster or slower can have a huge impact on CPU usage. For example, the preset named "faster" can use twice the amount of CPU as "veryfast", the one right above it. Always set it back to veryfast if you're not sure what to set this to.
Quicksync, AMF, and NVENC are hardware encoders that come on recent Intel Integrated GPUs, newer AMD GPUs, and recent nVidia GPUs, respectively. You can offload encoding load to those hardware encoders at the cost of a somewhat noticeable decrease in quality at the same bit rate. Generally speaking, GPU-based encoders don’t quite have as high of quality as x264 for a given bit rate, but the benefit is a greatly reduced load on your CPU.
If you have one of the mentioned hardware encoders, you can see if those options are available to you in Encoding settings.
Some sources such as webcams and capture cards can use a lot of CPU just by being on your scene as they have to decode the video data. If you're using a webcam, check it isn't running at too high of a resolution (more than 480p is rarely needed if it isn't full screen). The Logitech C920 in particular has issues on many systems when running at the full 1080p resolution. Browser sources can also consume CPU if there are complex animations or scripts active.
Check this video for a more detailed explanation (while the video is a bit old and using OBS Classic, this information is still very accurate!): https://www.youtube.com/watch?v=a274YynXRwI
Some CPUs are so weak that they are near-hopeless for getting anything decent working. Dual-core CPUs and AMD APUs are particularly notorious for this. They might be able to get away with a 360p stream at 25 FPS using the ultrafast preset, but it certainly won't look good. That's up to you to decide. If you have a Sandy Bridge i5 or i7 or later, or an AMD 6-core or 8-core or later, then you should be able to come up with a decent-looking stream at reasonable resolutions and frame rates.
OBS is different from many other streaming/recording programs in that it makes use of your GPU for better performance. Unfortunately, on some older or budget model GPUs this can be a bottleneck in your stream's performance. This is generally due to low memory bandwidth and/or low processor core count. GPUs such as the nVidia GTX 200-series (250, 260, 280) and 9800GT and earlier were once very powerful in their day, but are now very old cards that will make OBS performance suffer greatly.
- What is the best dog grooming college station?
- What are the best tools to understand human behavior?
- How to get a gyroscope on your phone?
- What is the best of hollywood movies 2020?
- Aws security hub use cases?
- What is the best of fresno 2020?
- What is the best way to extend the battery life on my phone?
- What is a pawnbroker?
- How to get to the dark web?
- How to change arf to wrf?