When can USB 2.0 actually be better than USB 3.0? Video Capture!

This has come up a lot recently and it’s a little counter-intuitive. There are times when an older video capture device, using USB 2.0, is actually better than new new one that leverages faster USB 3.0 or 3.1. The reason is simple, but not obvious.

Just a few years ago, USB-attached video devices had to cope with the constraints of USB 2.0 (480 mbps) so they often incorporated on-board scaling and compression engines. Remember that using uncompressed video USB 2.0 maxes out at 720p30. This is why that was, and remains, the de facto standard for video chat applications.

Their newer kin, with a faster USB 3.0 (5 Gbps) connection to the host, can pass an uncompressed 1080p60 video stream…so they usually don’t have as much on-board processing capability.

Consider as an example the El Gato family of HD60, HD60S and Cam Link USB capture devices. The first two of these devices look very similar, but the differences are substantial and potentially important.

El Gato HD60

We used an HD60 at Cluecon 2017 when we needed a last minute way to ingest an HDMI source into a computer. It worked really well. It has a USB 2 connection to the host. It could deliver YUY2 uncompressed up to 720p30. It could deliver 1080p30 using MJPEG or H264 compression. MJPEG has zero latency, so this is the preferred way to accommodate 1080p over a USB2 link. The UVC 1.1 standard, circa 2005, indicates as much.

While conceptually it was a UVC compliant device, the HD60 has a device-specific installable driver. This driver was installed with the El Gato Game Capture utility, which we used to verify the correct operation of the device.

El Gato HD60S

The newer HD60S looks so very similar. The primary difference being the USB 3 Type-C connection to the host. USB-C ports still being less common, many people would likely use a type-C to type-A cable to connect it to a USB 3.0 port.

The HD60S is capable of 4K60 capture (!) but does not have an onboard compression engine. So the capture or streaming application must cope with uncompressed video. That also means that when connected to an older host via USB 2.0 it’s only capable of 720p30.

If the host computer is resource constrained (no USB 3) the ability to deliver compressed video over the USB link can be a very real benefit. Similarly, an onboard scaler allows a capture dongle to accept 1080p60, while delivering 720p to the client application. There are times when this is also valuable. Typically, when you must use a client application that insists upon a particular video format, but the source delivers something else entirely.

El Gato Cam Link

These various considerations are why El Gato’s USB 3.0 connected Cam Link (reviewed previously) can be so cheap. It does essentially no onboard video processing.

That’s great if it does what you need. I used one at ClueCon 2018 to capture the 1080p60 stream from a BlackMagic ATEM switcher into my vMix host.

My i7-powered Airtop-PC is quite powerful and vMix is massively flexible, so the limitation of the Cam Link were not a factor. However, Cam Link not especially flexible. The older, USB 2.0 connected HD60 is actually more useful.

Update: A couple of people have refuted my claim that there can be an advantage to USB 2 capture devices over USB 3. I accept that the headline is a little click-baity. My intention was to highlight the fact that the new generation of USB 3 capture device did not do something that their older, USB 2 predecessors made commonplace. As a result, if you have an older, slower and/or I/O constrained host you might find that the new and supposedly better capture devices put you at a disadvantage.

Windows 10 Anniversary Update Breaks USB Camera Functionality

This afternoon I installed the Windows 10 anniversary update to my Lenovo X1 Carbon laptop. Since it’s not my primary machine, I always update the laptop first. Also, it’s 256 GB SSD is easily imaged to a portable hard drive, giving me a way back if required.

After the update was completed I went about assessing it’s behavior. I was particularly concerned by a report I had found in the Open Broadcaster support forum indicating that people were having trouble with webcam performance post-update. I’ve just now confirmed the problem that they reported.

Post update Windows 10 does not allow any USB-attached webcams to be configured for the delivery of MJPEG or H264 encoded video streams. While initially reported by someone using the Logitech C930e webcam, this also applies to the more common Logitech C920.

Wanting to explore the scope of the issue further, I tried the AVer Information VC520. This is an all-in-one USB-attached conference room solution comprised of a PTZ camera and conference phone, not unlike the Logitech ConferenceCam CC3000e.

While the device is MJPEG and H264 capable, the updated Windows 10 system only offers uncompressed YUY2 encoding.

I confirmed this behavior in OBS Studio, vMix and SparkoCam. In all cases this limits the cameras to 720p30, where they should be capable of 1080p30.

This problem very likely applies to all USB-attached webcams. It seems that Microsoft has broken something their UVC driver or the related stack.