Question / Help Logitech c920 with builtin H.264 encoding is still using CPU?

Cosmic Voyager

New Member
Greetings,

How should settings be different in OBS using a camera with builtin H.264 encoding be different than one without? I do not see anything in OBS settings indicating it is using the camera to encode rather than the CPU. There are three options under Encoding: x264, Quick Sync, and Nvidia NVENC. x264 is selected. It seems to still be using the CPU.

How does one get OBS to use the camera to encode?

Thanks
 

Harold

Active Member
You don't. OBS needs to decode the image computer side, and it can't use the encoder on the c920 for output because of limits in usb 2.0 bandwidth.
 

Cosmic Voyager

New Member
You don't. OBS needs to decode the image computer side, and it can't use the encoder on the c920 for output because of limits in usb 2.0 bandwidth.

Thanks for reply. I do not understand.

1 - Does encoded video takes more bandwidth than raw video? I thought it was the other way around?
2 - You are saying the H.264 encoder built into the c920 can never be used because the c920 has USB 2.0? Why is it there then?
 

Harold

Active Member
1> In order for OBS to use the webcam's image, it needs to decode the video stream coming from the camera.
2> In order for OBS to ever be able to use the encoder on the c920 for its own purposes, USB 2.0 chokes it off because there's not enough bandwidth in the spec for uncompressed data.

720p30 and up uncompressed can't fit in the 480mbit of usb 2.0
 

Cosmic Voyager

New Member
"720p30 and up uncompressed can't fit in the 480mbit of usb 2.0"

Isn't H264 compressed video? The camera hardware compresses the video in H264. The Logitech website and reviews of the camera say that the camera hardware encodes in H264 at 1080p at 30fps.

If 720p30 and up uncompressed can't fit in the 480mbit of usb 2.0, how am I getting 1080p 30fps from the camera?


Can someone else help and explain please?


1> In order for OBS to use the webcam's image, it needs to decode the video stream coming from the camera.
2> In order for OBS to ever be able to use the encoder on the c920 for its own purposes, USB 2.0 chokes it off because there's not enough bandwidth in the spec for uncompressed data.

720p30 and up uncompressed can't fit in the 480mbit of usb 2.0
 

Harold

Active Member
The Camera is compressing the data.
Your computer needs to decompress the data once its gets it in order to be able to use it.
 

Cosmic Voyager

New Member
Are you familiar with the c920? It has onboard H264 encoding so the computer does not have to encode. Only a few cameras have it. Apps can just send that data. I was asking how to get OBS to use H264 encoded video from the camera rather than having the CPU encode it. Not send it video to be encoded.

Are you saying OBS does not support that? Because it can be done. Other apps do it.
 

FerretBomb

Active Member
The onboard h264 encoding on the c920 allows it to push 720p+ video over a USB 2.0 connection.
OBS cannot directly use the compressed video from the device, so it uses CPU to decode it back to raw, usable video. OBS then composites in the re-rawed video.

OBS cannot use the h264 encoder on the camera. That encoder is just to make the video fit over USB2.0 bandwidth limitations, and has to be decompressed again. Skype and other programs that do NOT edit the video stream but just kick it along may just pass through the bytestream. OBS cannot do this, as it uses the raw video as an element in a larger, overall video frame.
 
Top