El Gato Cam Link: HDMI Capture on-the-cheap

Earlier this year I replaced by aged desktop computer.  The rather bulky, traditional HP tower was replaced by a fantastic little Airptop-PC. The Airtop is a fanless wonder. It’s powerful, has multiple (six!) monitor outputs, a massive array of ports, and draws a tiny amount of power.

While the Airtop-PC is a silent thing of beauty, what it lacks is the extra PCIe slot necessary to install my Aver Media C127 HDMI capture card. This has left me considering USB-connected HDMI capture devices.

An early experience with the Black Magic Design Ultra Studio has left me with an aversion to their lower-end products. I hear good things about the Magewell USB 3.0 capture dongles. There’s no doubt they’re very capable, but at around $300, also quite costly.Magewell USB3-HDMI capture dongle

I don’t mean to quibble. Quality costs money. It’s just a matter of budget. In June I heard a rumor that El Gato was about to release a new, super-affordable USB 3.0 capture dongle known as the Cam Link. Offered for just $129, I pre-ordered one via Amazon.

That order was placed not long before my trip to Chicago for ClueCon. While at ClueCon we found that we needed an HDMI capture dongle to augment the installation on-site. Ken Rice found an El Gato HD60, which is an external HDMI capture device with a USB 2.0 interface.

El Gato HD60 Capture Dongle

The HD60 is a slightly older, more costly model. It has HDMI pass-through, which is nice. It has an onboard scaling and compression engine. The bandwidth constraint posed by the USB 2.0 interface requires the video be compressed (MJPEG or H.264) to achieve 1080p30 or 1080p60.

The HD60 did exactly what we needed to put a remote presenter from Mozilla onto the projection screens at ClueCon. Once that session was over we repurposed the HD60 to deliver an unplanned live stream to Facebook.

The Wee Device Arrives

Shortly after my return from ClueCon the Cam Link device finally arrived. I’ve had a chance to explore its capabilities over the past six weeks.

camlink-hero.400

The Cam Link is an unassuming little device. Plastic and not much larger than a USB memory stick, it has a USB 3.0 plug on one end, and an HDMI jack on the other. The package includes a short USB 3.0 extender cable, making it possible to connect the Cam Link to devices with tightly clustered USB jacks.

When connected to the host computer the system merely acknowledges the device. As a standards-compliant UVC device, no driver installation is required. The OS, whether Windows, OSX or Linux, simply knows what to do.

Free Software

El Gato makes their Game Capture software available to Cam Link users. While some will find this free software useful, I never bothered to download or install it. I’m not a gamer my requirements are…ah…more expansive.

Beyond Free Software

My primary desktop video production tool is vMix. With the Cam Link connected vMix offered it as one of the available sources. So far, so good.

vMix is a really powerful tool. It lets the user select specific source resolution, frame rate and encoding type. Consider the example of a webcam. In the case of a Logitech C930e or PTZ Pro, I can explicitly select 1080p at 30 frames/sec, using MJPEG encoding.

If I select a combination of settings that won’t work (ex 1080p30, uncompressed YUY2 encoding) the software returns at error code and a message. The error message usually lists the acceptable combinations of resolution, frame rate and encoding for the source device.

In the case of the Cam Link, this list (shown above) is really important. It tells you plainly what settings will work for a given source signal.

Does Not Scale

To achieve it’s attractive price-point the Cam Link does not include a hardware scaler or compression engine. Nor does it accommodate interlaced video. These facts impact how you might use the device.

You might connect a source, perhaps a camera that is delivering 1080p60. Given this source, the Cam Link will only deliver 1080p60 with YUY2 encoding. It delivers a pixel perfect, uncompressed version of what the source sent down the wire. It simply cannot change it.

In a many cases this is just fine. However, if your project is using 720p60 and the source is 1080p60, the host PC must scale the video to suit the project. This is no problem as long as the host has the necessary flexibility in software, and CPU power to spare.

There are times when this is not the case. For example, let’s pretend that you’d like to use the Cam Link as a way to capture a camcorder as a source for a WebRTC-based video conference service. The camcorder outputs 1080p60. The video conference service supports only 720p30 or 1080p30.

You have a problem. The browser asks the generic USB source to format the video as 720p30. The Cam Link cannot deliver this, given a 1080p60 source.

This is where the more costly capture devices truly shine. They have an on-board hardware scaler. Thus they can turn the 1080p60 into 720p30 to satisfy the rather simplistic video conference client. They handle the format mismatch transparently.

Uncompressed

Cam Link can deliver up to 1080p60 when connected to USB 3.0 port on the host. It sends an uncompressed YUY2 stream.

Since the video stream is uncompressed, the image quality is very good. Also, the latency in the video is very low. I can’t tell the difference between results using the old AverMedia C127 PCIe card and the Cam Link.

The YUY2 stream can be up to 3 Gbps, which is well over half of the available bandwidth on the USB 3.0 bus. You definitely won’t be able to connect two Cam Links, operating at 1080p, to the same USB bus.

By the way, most laptops, even fancy gaming models, only expose a single USB 3.0 bus. If you intend to use two USB 3.0 capture devices with a laptop, you should definitely perform an experiment to be sure that they both work.

USB 2.0 vs USB 3.0

USB 3.0 devices are backward compatible with USB 2.0. The Cam Link can be plugged into a USB 2.0 jack, and it will work. However, it’s limited to the bandwidth of a USB 2.0 bus, and lacking for a compression engine must pass uncompressed video to the host. That means that, when connected to a USB 2.0 port it can only deliver up to 720p30.

Not many devices output 720p at 30 frames/sec. That standard is really rooted in video conferencing tools. They transmit 720p30 over the network. Even so, they actually output 720p60 to their monitors.

Basically, any device that would output 720p delivers 60 frames/second. So it may be safer to generalize that Cam Link can be used only in SD modes (240p, 360p, 480p) when connected to a USB 2.0 jack.

Summary

Cam Link is an affordable, high-quality way to capture video from an HDMI source. It’s lack of hardware for scaling or encoding limits it’s flexibility. As does it’s inability to deal with interlaced sources.

Nonetheless, a simple awareness of its limitations is all that’s required to put the Cam Link to work. If it does what you need, and your needs are fixed, you’ll be very happy with the device.

If Cam Link misses the mark, or your needs are constantly changing, you’d be better off with more capable hardware. You’ll pay for the privilege. Expect those devices to cost twice as much as the little Cam Link.

Thus far, in my desktop work with vMix, Cam Link does a good job.