Open Broadcaster Studio

From LinuxReviews
Jump to navigationJump to search

Open Broadcaster Studio.

Configuring Generally Fine Settings

Select File, Settings and there

Select Video and choose the Downscale filter Bilinear if you will be recording 4K gameplay to a 1080p canvas.

Select Audio and set Sample rate to 48khz.

Select Output and set Output mode to Advanced.

Then choose the Recording tab.

Recording using GPU encoding

For 1080p30fps choose

  • Set Recording Format to mkv.
  • Set Encoder to FFMPEG VAAPI
  • Leave Level at Compatibility mode (4.0 default)
  • Set Bitrate to 20000 (or 30000)

Bitrate appears to be more of a guide-line with VAAPI, a setting of 20000 kbps does not mean you won't get longer periods of 30000-35000. Setting this too low will cause massive encoder lag for some reason.

Kemonomimi rabbit.svg
Note: VAAPI is limited to 30 fps at 1080p H.264 output on low and mid-range AMD cards like the RX580. These cards should in theory be able to do higher resolutions and frame-rates but that simply does not work. They can do 1080p 60fps HEVC encoding but OBS is limited to H.264 as of v23.1.0.

Recording using CPU encoding

For 1080p60fps you need to use CPU encoding on mid-range AMD cards. The Vega's can do 1080p60fps. For CPU encoding choose:

  • Set Encoder to x264
  • Set Rate control to CRF
  • Set CRF to 23 for recording. Set it as high as 27 or 30 for streaming.
    • Higher CRF numbers produce lower bitrates (and therefore lower video quality)
  • Set CPU Usage Preset to veryfast if you are recording, try higher settings if your CPU can handle it for streaming.

Quick note on CPU Usage Preset: It does not affect quality, using less CPU for compression results in larger file-sizes. Visual quality's the same.

Check the Statistics and Keep an eye on them

Select the menu item View then Stats to get a statistic window. You will want to keep an eye on this when you try out your settings for the first few times.

You do absolutely not want to see "Frames missed due to rendering lag". These are frames dropped between the application rendering and OBS. You also don't want "Skipped frames due to encoding lag". This happens either your GPUs when hardware encoding or your CPU can't keep up. The causes are different.

Managing scenes: Use Xcomposite when you can

When adding Sources to your Scenes you will want to use Window capture (Xcomposite) and not Screen Capture (XSHM) when possible. Xcomposite works much better for games and is the better option if you are only capturing one window.

You have to use screen capture if you want to show a video of your desktop with three applications open side-by-side and it is fine for those kind of things. It is not fine for games and similar; you will get the rendering lag and dropped frames. You do not want the rendering lag; use Window capture (Xcomposite) when recording full-screen applications or single windows.

You will want to set in-game options to vertical sync enabled in all games that have such an option. Variable refresh tends to cause 10+% dropped "Frames missed due to rendering lag".

The 'Xcomposite window capture has an option at the bottom called Use alpha-less texture format (Mesa workaround). Using this option will give you a black screen instead of recorded footage.