Question / Help Encode overload streaming w Logitech BRIO 4K webcam

Fast Draw

New Member
Hi,
I am struggling to figure out why I can't stream with the Logitech BRIO 4K webcam at 3840x2160 @ 30fps. It works at 24 fps but that's where the encoder seems to max out.

The BRIO driver supports an output of 2160p30 using MJPEG.

I got an Intel Core i7 7700k specifically for streaming in 4k and the data sheet states the maximum hardware encoding resolution as "2160p(4K)"

Before that I used an older 4th generation mobile core i3 CPU which could do 1080p30 with quick sync but was completely overloaded at 1440p and above.

Now it seems even with a i7 7700k I can't do 2160p30. Any idea what could be the problem?
 

Attachments

  • 2017-07-09 14-55-56.txt
    6.8 KB · Views: 69

Fast Draw

New Member
the quicksync encoder on your system can't handle 4k
Have you tried using x264?

It should be able to encode 4k in hardware because it says so in the data sheet.

Can OBS leverage the Kaby Lake 4K quick sync feature?

Using software x264, it can run the 3840x2160 @ 30fps without getting the overload warning, but the frame rate drops to 22 - 24 fps. The CPU is at 75% with using software. No other programs are running on the computer.
 

Attachments

  • 7th gen core family data sheet.png
    7th gen core family data sheet.png
    11.1 KB · Views: 114

Nimor TV

New Member
You are talking about a quadcore CPU wich can't handle a decent 4k stream in a real situation regardless wich encoder you use. It can barelly do 1080p60fps with a decent encodeing preset so you don't have artifacting on your video.
Also adding extra video capture devices besides your 4k desktop for example adds encodeing load wich can max out the cpu very quikly.
 

Fast Draw

New Member
You are talking about a quadcore CPU wich can't handle a decent 4k stream in a real situation regardless wich encoder you use. It can barelly do 1080p60fps with a decent encodeing preset so you don't have artifacting on your video.

Ideally I would like to get a core i9 CPU :))

Also adding extra video capture devices besides your 4k desktop for example adds encodeing load wich can max out the cpu very quikly.

The webcam is the biggest issue. I don't stream the desktop, I only stream the Logitech BRIO. As soon as I start OBS, using only one source (BRIO), the GPU is already at 75% usage. That's completely without encoding, recording or streaming.

HWiNFO shows the GPU D3D Usage as about 75% so it leaves only some 25% for a possible quick sync. I am not sure if it works that way, I assume so.

My suspicion is that the decoding of the 4K MJPEG stream that the BRIO delivers over USB 3.0 is very demanding on the Direct 3D render device. The BRIO delivers about 150 Mbit/s according to a USB bandwidth monitoring tool.

Is there some information or documentation about how OBS handles the input devices (sources)?

I think OBS decodes the input MJPEG into raw and then encodes the raw into x264?

Assuming this works the way I think it works, as I described above, perhaps I could try to use a dedicated graphics card to handle the input from the webcam and have all of the CPU power available for the encode?
 
Top