Why does recording use more CPU than streaming?

KZigo

New Member
Title, basically everything is the same but recording literally overloads. Streaming not even close to 100% cpu usage.

Ran as admin etc.
Tried recording to a different drive as well
 

Jack0r

The Helping Squad
You could upload a log to see if your settings were exactly the same. But in a few quick tests I could not reproduce any differences in CPU usage with the same settings.
Only difference I can see is the HDD usage while saving the file which is negligible unless you save at a very high bitrate.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
I'll assume you're using x264 for both streaming and recording.

If you are using simple output mode and have your recording quality set to "same as stream", it will share the same encoders that the stream uses, and the settings will be completely identical -- there should be no noticeable difference in that case because it uses the same exact encoding settings (and same encoder data).

If you set your recording quality to "high quality" or "indistinguishable quality", it will use different settings than streaming, and will actually spawn separate encoder objects in order to record. Because the settings are different (due to being oriented more towards recording), it is possible that it could be different CPU usage. However, I tested this, and noticed no conclusive difference (high quality for recording vs CBR for streaming, 18-25% streaming, 18-25% recording, 6 core machine -- no real conclusive difference).

However, if you are writing this because you stream and record at the same time, and recording quality is set to something other than "same as stream", you will be running multiple video encoders at once, and thus your CPU usage will probably be doubled -- but only when they are active at the same time. If recording quality is set to "same as stream", then it will share the same encoder instances for both streaming and recording, and CPU usage is unaffected.

Recording can also spawn a separate AAC encoder to ensure higher quality audio when recording, although the CPU usage on audio encoders are insignificant compared to the video encoders, and should make almost no noticeable difference.

(Also yes, please link or upload logs so we can see what you're doing)
 

KZigo

New Member
You could upload a log to see if your settings were exactly the same. But in a few quick tests I could not reproduce any differences in CPU usage with the same settings.
Only difference I can see is the HDD usage while saving the file which is negligible unless you save at a very high bitrate.
I have it set to 130000 on my 960 evo same cpu usage as HDD, Settings were on Medium for both. With streaming it reaches 54c and around 60-70 usage.. Recording just overloads lol, I don't under why but oh well, i just wanted to know what the issue was.
 

KZigo

New Member
I'll assume you're using x264 for both streaming and recording.

If you are using simple output mode and have your recording quality set to "same as stream", it will share the same encoders that the stream uses, and the settings will be completely identical -- there should be no noticeable difference in that case because it uses the same exact encoding settings (and same encoder data).

If you set your recording quality to "high quality" or "indistinguishable quality", it will use different settings than streaming, and will actually spawn separate encoder objects in order to record. Because the settings are different (due to being oriented more towards recording), it is possible that it could be different CPU usage. However, I tested this, and noticed no conclusive difference (high quality for recording vs CBR for streaming, 18-25% streaming, 18-25% recording, 6 core machine -- no real conclusive difference).

However, if you are writing this because you stream and record at the same time, and recording quality is set to something other than "same as stream", you will be running multiple video encoders at once, and thus your CPU usage will probably be doubled -- but only when they are active at the same time. If recording quality is set to "same as stream", then it will share the same encoder instances for both streaming and recording, and CPU usage is unaffected.

Recording can also spawn a separate AAC encoder to ensure higher quality audio when recording, although the CPU usage on audio encoders are insignificant compared to the video encoders, and should make almost no noticeable difference.

(Also yes, please link or upload logs so we can see what you're doing)
Didn't record or stream at the same time, Don't think the 6800k can handle that lol, i don't really get it but oh well.

Streaming -
x264
CBR
2
Medium
High

Recording -
Mp4
x264
CBR
130000
2
Medium
High
 

BK-Morpheus

Active Member
I think (because log files are still not given) the OP is using higher bitrate for recording, than for streaming. Higher Bitrate encoding produces higher CPU load, even if all the other settings are the same.
 

Harold

Active Member
Record to FLV or MKV. If you record to MP4 and the recording is interrupted, the file will be corrupted and unrecoverable. If you require MP4 files for some other purpose like editing, remux them afterwards by selecting File > Remux Recordings in the main OBS Studio window.
 
Top