Question / Help Encoder overload (x264) CPU usage at 35% - why?

BigYuckFou

Member
Hello fellow OBS members,

Can anyone help tell me why I would get the "encoder overload" while attempting this?
I use a 14 core Intel with hyper threading running at 4.7ghz all cores.Dang good PC. 32gig memory and a 2060 KO Ultra GPU.
I am using x264 CPU encode. Slow preset.

I do have set some optional x264 presets settings,
[x264 encoder: 'streaming_h264'] custom settings: subme=10 trellis=2 direct-pred=temporal me=umh bframes=2 ref=4 threads=22 level=4.2 aq-mode=2 rc_lookahead=60 b_adapt=2 me_range=24 analyse=all partitions=all

This PC should be able to do this I think. Any assistance will be greatly appreciated!
Uploaded Log File: https://obsproject.com/logs/Tp11s_eu9Ve7xYt6

Stats images
Capture.PNGCapture.PNG
 

Attachments

  • Capture2.PNG
    Capture2.PNG
    9.4 KB · Views: 60
  • 2020-05-06 12-04-32.txt
    14.3 KB · Views: 14

vapeahoy

Member
aq-mode needs to be off with a subme 10 dude, you're correct on trellis 2 but aq has got to die.meanwhile i also disagree on doing all partitions, unless you have some very specific use case you wont need it. do some experimentation by removing lower 4/4's etc. Level 4.2 is also a bit overkill as with the rest of it. I would just set in for medium or faster. Subme 10 is an order of magnitude slower then 9. I use 9 on a dedicated ryzen 1700 and that works fine. and that's 8 cores at slower clock speed. By setting slow preset you are demanding there will be nowhere near any unexpected peaks which is completely unrealistic. I can use slow preset but i dont see much benefit. But it's also on an optimized system, ie I configured it.

12:04:32.695: base resolution: 3840x2160
12:04:32.695: output resolution: 1920x1080
Ideally you should have things be the same value for video and also for audio bitrates.
 

BigYuckFou

Member
Hey good budro, I sincerely appreciate the response. I just used the RCH1 anaylizer. and it says all is ok except I am using non standard preset settings.

why is it that the CPU Overloaded and dropped frames occurs when the CPU is at 35%? I too built this PC and have configured it for the sole purpose of ingest and encode of a stream I do not use this PC for anything else. I play on Xbox and encode with it.

I will disable aq mode now. thanks for the tip. Do yu happen to have the partitisons numbers string for OBs you think I should try?"
p8x8,b8x8,i8x8,i4x4


"

take a look at these logs and RCH1 analysts please.
Log File Upload - https://obsproject.com/logs/Xoo9ID8fxbDIwzF0

Images from RCH1
Capture2 (1).PNGrch1 anaylizer.PNG
 

BigYuckFou

Member
I did as suggested.
aq-mode=0
removed partitions=all
dropped subme=9 (down from 10)

still getting encoder lag and dropped frames with 35% cpu usage. any ideas?
 

vapeahoy

Member
well this always annoys me, since it's free to get:
12:04:32.697: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
12:04:32.852: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)
42 ms audio latency out of the gate is quite high, but doable.

12:04:34.189: [DShow Device: 'Dog-Camera'] settings updated:
12:04:34.189: video device: Live Gamer Ultra-Video
12:04:34.189: video path: \\?\usb#vid_07ca&pid_0553&mi_00#7&68a423a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
12:04:34.189: resolution: 1920x1080
12:04:34.189: flip: 0
12:04:34.189: fps: 59.94 (interval: 166833)
12:04:34.189: format: NV12
12:04:34.247: ---------------------------------
12:04:34.247: [DShow Device: 'Self-Camera'] settings updated:
12:04:34.247: video device: AVerMedia HD Capture GC573 2
12:04:34.247: video path: \\?\pci#ven_1461&dev_0054&subsys_57301461&rev_00#4&da43232&0&0000000101000a3500#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{adef4cb5-1401-4177-84ee-fe8b26c13a5b}
12:04:34.247: resolution: 3840x2160
12:04:34.247: flip: 0
12:04:34.247: fps: 29.97 (interval: 333666)
12:04:34.247: format: NV12
12:04:34.249: ---------------------------------
12:04:34.249: [DShow Device: 'Xbox-One-X'] settings updated:
12:04:34.249: video device: AVerMedia HD Capture GC573 1
12:04:34.249: video path: \\?\pci#ven_1461&dev_0054&subsys_57301461&rev_00#0000000101000a3500#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{adef4cb5-1401-4177-84ee-fe8b26c13a5b}
12:04:34.249: resolution: 3840x2160
12:04:34.249: flip: 0
12:04:34.249: fps: 59.94 (interval: 166833)

All of this is annoying to me, we got different resolutions and different fps/intervals. That's just awful. I would set everything to same, and if need be sell it to get something else to make everything the same. By having everything on the same you remove a factor of latency that is a nightmare to troublehshoot.

12:07:09.379: [x264 encoder: 'streaming_h264'] preset: slow
12:07:09.379: [x264 encoder: 'streaming_h264'] profile: high
12:07:09.380: [x264 encoder: 'streaming_h264'] settings:
12:07:09.380: rate_control: CBR
12:07:09.380: bitrate: 6000
12:07:09.380: buffer size: 6000
12:07:09.380: crf: 0
12:07:09.380: fps_num: 60000
12:07:09.380: fps_den: 1001
12:07:09.380: width: 1920
12:07:09.380: height: 1080
12:07:09.380: keyint: 119

What the fakk is going on here with keyint 119? ? use something sane like 250, or per 2 seconds. If it is on auto, it just shows it cant make sense of it.

12:11:38.754: [rtmp stream: 'adv_stream'] User stopped the stream
12:11:38.754: Output 'adv_stream': stopping
12:11:38.754: Output 'adv_stream': Total frames output: 15998
12:11:38.754: Output 'adv_stream': Total drawn frames: 16145
12:11:38.755: Video stopped, number of skipped frames due to encoding lag: 685/16090 (4.3%)
12:11:38.756: ==== Streaming Stop ================================================
12:11:38.914: warning: 2 frames left in the queue on closing

4.3% is incredibly high, it might as well said 100%. This is just going to keep pissing you and viewers off, and then look great, then look like shit.

12:33:06.483: Number of memory leaks: 0
At least some good news there.

You just have to get a hold of yourself and clean up settings to be within reason. Steal coreaac from the application support msi off the itunes app by extracting it using 7zip or such.

You should do a custom ffmpeg out instead and then post what it uses, alltho i dont know if it does post a log as i never used ffmpeg from obs, as i do it from a dedicated unit. You would have a much easier time understanding this crap if you simply just downloaded ffmpeg and tried to do some encoding with a raw video and then you can see what ffmpeg will do, based on that it will actually *TELL YOU* what parameters it sets.
It's easy peasy actually.

Now coffee time!
 

BigYuckFou

Member
I greatly appreciate your response. going to follow your recommendations right now. thanks again good buddy. Enjoy your coffee.
 

vapeahoy

Member
I greatly appreciate your response. going to follow your recommendations right now. thanks again good buddy. Enjoy your coffee.
YW and Happy reading!!!!

edit: oh and btw, if u simply just trellis 0 too and it should help a bit. but u need to fix the other things too, encoding isnt the whole issue there.
 
Top