Low res. image at start of recording

auserofobs

New Member
I'm an OBS Studio noob, so this may be trivial.

I've noticed that each recording that I make starts with about a second of low resolution video, after which the resolution improves. See the following full-screen recording for example:

https://youtu.be/Xq9t7p4FZh8

and take a look at some of the fine detail on the Studio window.

Questions:

1. Why is this happening? Is it expected?
2. Can I alter settings to prevent it?

And thanks to all for a fine product.

Log file:

https://drive.google.com/file/d/1up9MryvyDKn-hhmwfFYGgRtsqlv6mOdm/view?usp=sharing
 

koala

Active Member
It's not the resolution that changes, it's less detail and more compression artifacts you see due to extremely low bandwidth you configured for streaming or recording. When the streaming starts, the initial picture has to be transmitted, which is really big data. After that, only differences to the initial picture needs to be transmitted, which is rather small data. You configured bitrate 2500, and to transmit a perfect initial picture with such a low bitrate takes a long time.

Instead of waiting for the transmission of a perfect image, compression is tuned up very high to see at least something at streaming start. This is what you perceive as low resolution. After that, differences to that ugly first picture is transmitted and the image improves, because you actually transmit a still image, so there is enough bandwidth available even with 2500. If you transmit something animated, something moving, you will see a pixelated mess at such a low bitrate.

To change this behavior, increase the bitrate from 2500 so something higher.

Twitch has a page with rule of thumb bitrates: https://stream.twitch.tv/encoding/
Youtube as well: https://support.google.com/youtube/answer/1722171
 

auserofobs

New Member
OK thanks. I seem to have fixed the problem by increasing the bitrate to 6000 in the Settings>Output>Audio tab.

However, I have one other question now: bitrate makes sense to me in the context of a stream, but in my case, I'm recording to a local disk. What is Studio doing differently if bitrate is increased when making a local recording? Is it increasing the frequency of disk writes, or something like that?
 

koala

Active Member
Settings->Output->Audio? This is not the place where you choose the video bitrate. This is in Settings->Output->Streaming or ->Recording.

You chose CBR, rate control not best suited for recording. It's a bitrate-orientated one instead of a quality-orientated. If you choose CBR, ("Constant Bit Rate"), OBS enforces the given bitrate and reduces the detail of the video until the bitrate matches.

Instead, if you use a quality-based rate control such as CQP, CRF or ICQ (available variants depend on the encoder), you will not be given a bitrate but a quality value instead. It's the amount of detail to remove - high values remove much detail so the resulting file is smaller, and low values remove less detail so the resulting file is larger. With such a rate control, the bitrate changes dynamically according to the footage. High motion results in high bitrate, low motion in low bitrate, and still images in no bitrate - you can record one hour of a still image and the movie file will not grow at all.
If this is too complicated for you, just switch to simple output mode (currently you're using advanced output mode). In simple output mode you just give essential parameters and OBS chooses the best internal configuration automatically. You need advanced mode only, if you need to record to multiple audio tracks. If you don't need this, choose simple output mode.
 

auserofobs

New Member
Settings->Output->Audio? This is not the place where you choose the video bitrate. This is in Settings->Output->Streaming or ->Recording.
Oops. Yes, the location is Settings>Output>Recording - I've spent the last week playing around with audio settings though (for an unrelated problem), so it's at the front of my mind.
You chose CBR, rate control not best suited for recording. It's a bitrate-orientated one instead of a quality-orientated. If you choose CBR, ("Constant Bit Rate"), OBS enforces the given bitrate and reduces the detail of the video until the bitrate matches.

Instead, if you use a quality-based rate control such as CQP, CRF or ICQ (available variants depend on the encoder), you will not be given a bitrate but a quality value instead. It's the amount of detail to remove - high values remove much detail so the resulting file is smaller, and low values remove less detail so the resulting file is larger. With such a rate control, the bitrate changes dynamically according to the footage. High motion results in high bitrate, low motion in low bitrate, and still images in no bitrate - you can record one hour of a still image and the movie file will not grow at all.
The quality based rate control does indeed sound more suitable for my use-case. I'll investigate it. Thanks.
 

auserofobs

New Member
Having played around with CBR vs ICQ with the default quality setting, I've found that 1 minute of video recorded to disk with CBR requires 45 Mbytes, whereas 1 minute recorded with ICQ requires 6 MBbytes, with no noticeable loss of image quality, at least for my typical use-case.
 

koala

Active Member
Yes, this will happen if you mostly record still images. CBR always produces the given bandwidth, even if nothing is changed. It bloats the file. ICQ only writes to the output if actually something changed. When the image changes, it uses all that is needed to produce the requested quality, but as soon as the image is still again, it literally writes nothing.

If you record some video game or something else constantly moving and changing, used disk space will be different for ICQ.
 
Top