Using a GoPro as a webcam for streaming

A question that seems to come up a lot from people is, “Is is possible to use a GoPro as a webcam,” or similarly, “How can I use my GoPro for streaming?”

GoPro cameras are great for jumping into the action when you’re outside in the mud, snow, sand, and water, but when you’re at home, they often sit idly by, waiting for the next adventure. So it’s logical for us to want to get some extra usage out of the camera when you’re at home.

While there have been ways to “hack” a GoPro to use it for streaming, it’s a complicated and pretty cumbersome process.  A little linux, some python programming, and a basic understanding of UDP streaming, and you can connect to most recent GoPro models via Wifi. The resolution is dependant on the camera model, with the Hero5 Black streaming in only 864x480 resolution.  This is because the stream relies on the low resolution live-preview that the camera would normally use for the GoPro App.

Image credit KonradIT via github

Image credit KonradIT via github

While it may be the cheapest way to accomplish the goal, It’s not the easiest, and it leaves a lot to desire in terms of quality.  Good news, though, there is a very simple alternative that gives great results.

Things you need:

gopro+streaming+webcam+reddit+elgato+camlink+tutorial+guide+knowhero.png
  • A GoPro with a video-out signal (Session models and Hero/Hero+/Hero+ LCD Models do not have video out, and are not compatible.)

  • A computing device (Laptop, Desktop, or even tablet) with a spare USB Port

  • A micro HDMI cable, OR a regular HDMI cable and adapter

  • A CamLink

The magic in this list ElGato CamLink.  It’s a small USB stick that accepts an HDMI cable on it’s back end.  In the simplest of terms, it operates as a faux USB camera for your computer, tricking it into thinking that there’s a camera plugged in while relaying any HDMI signal.  This gives you the ability to use up to full HD (1080p) at 60 frames per second from your camera. (If you want 2.7k or 4k streaming, see later in the guide)

It comes in a pretty small box, and includes the CamLink itself, a small USB extension cable, and the normal warranty/warning literature.

gopro+streaming+webcam+reddit+elgato+camlink+unboxing+tutorial+guide+knowhero.png


Usage is simple:

Start by plugging in the CamLink to any USB port on your computer, though, you want to use one that is USB 2.0 or faster.  High speed ports are often blue (but not always, my computer has a red one), which can be an easy way to find the right one.

blue+usb+port+faster+gopro+streaming+webcam+reddit+elgato+camlink+tutorial+guide+knowhero.png

You then also need to download ElGato’s Game Capture software, which is available for both Mac and PC at https://www.elgato.com/en/gaming/downloads  

Once installed, you can open it, and you’ll see the CamLink at the top right, with a red box that says “no signal.”  This is normal.

elgato+camlink+game+capture+software+screencap+record+screen+no+signal

Next, you need to plug in your GoPro.  Most recent GoPro cameras have a micro HDMI port located next to their power port and sd card.  If you don’t have a microHDMI cable already, you can either buy one, or use an adapter that will get you to an HDMI signal.  GoPro sells an official micro HDMI cable (currently $11), but it’s not necessary to buy a branded cable for this.   Nearly any decent cable of this type will do. Below is a picture of the order of setup.  If you're using a Micro HDMI cable, you will only have one cable between the camera and the CamLink, rather than the adapter (black) and HDMI cable (red) separately.

gopro+streaming+webcam+reddit+elgato+camlink+tutorial+guide+knowhero+plugin+order.png

“What if I have an older GoPro?”

Some older GoPro cameras don’t use micro HDMI, but instead have an “HDTV,” “TV”, or Mini USB port.   

gopro+streaming+webcam+video+out+HDMI+Mini+reddit+elgato+camlink+tutorial+guide+knowhero.png

ElGato’s website doesn’t claim compatibility for these models because they don’t always have “clean” video output signals.  This means that they sometimes display camera information (remaining battery life, camera mode, etc) on them.

Note the camera mode at the top left, and the battery status at the top right.

Note the camera mode at the top left, and the battery status at the top right.

Despite this "unclean" signal, most DO still work and are compatible with the CamLink.  For older GoPro models, you may need to make sure you have the firmware updated so you can turn the live display on.  Otherwise, the camera will switch to media viewing mode.  Here is a tutorial of how to do that, directly from GoPro.

An additional note- The Hero2 has both HDMI Mini (not micro) as well as video out to RCA.  While both are viable for use, the picture quality is very notably different

The RCA signal (left) is notably distorted and lower quality, while the HDMI Mini quality is much better, and the FOV is wider.

The RCA signal (left) is notably distorted and lower quality, while the HDMI Mini quality is much better, and the FOV is wider.

Ok, so once you have the right cables, together, plug everything in, and power up your GoPro.  If your GoPro has a screen, it will likely go black, and you won’t be able to see anything on it.  The front of the camera may display a signal to show that it’s hooked up to a screen.

In the capture software, you should see the camera turn on, and for some cameras, it’ll jump into the media viewer, as shown below.

GoPro+Hero6+Black+Elgato+Live+Media.jpg

If that happens, navigate using the mode button to change selection, and the shutter button to select.    Alternatively, unplug the HDMI cable temporarily, and swipe down and tap "Preferences."  Scroll all the way down to the "I/O" section where you'll find a setting called "HDMI Output."  This setting has 3 options (Monitor, Media, and Live), and you'll want "Live."  Monitor will show the camera interface, and Media is the screen shown above.  Live is a "clean" video signal. 

Most recent cameras will jump straight into a live preview mode, and you won’t be able to do anything on the camera touchscreen while plugged in.  To navigate, unplug the micro HDMI cable and change any settings you want or need to, and then plug back in.

Your live view should look something like this:

GoPro's don't like the dark! Adjust your exposure settings with Protune if you can't add more light to your scene!

GoPro's don't like the dark! Adjust your exposure settings with Protune if you can't add more light to your scene!

Next to the CamLink in the top right corner, there’s a cog button to change the settings.  Open it, and adjust the capture settings to whatever you desire. Then, I recommend switching a few tabs over and saving your profile for future use.  Here’s a default for GoPro you can copy and paste in, if you’re not sure what to do.

http://gamecapture.com/profile?name=GoPro&bri=0&con=0&sat=0&hue=0&hdmiCL=standard&quality=286

Now that you’ve verified that everything is working, you can shut down the game capture software if you don’t specifically need it.  You can instead go into whatever program you’d like to use the GoPro for as a camera, and select it as the camera in your settings. It should show up as “CamLink” in your camera options.  Here’s an example from Skype-
 

Something to keep in mind is that some programs like skype automatically mirror your image like a webcam would.  If you want to have the camera pointed away from you, the content will appear flipped.
 

Mirror-ception...

Mirror-ception...

Verified Compatibility:

I tested compatibility with every GoPro I have, and below is are the incompatibilities I found.

2014 HERO, HERO+, HERO+ LCD - These models do not have and HDMI port, and it appears that HDMI via USB support was taken out of firmware during the Hero3 generation.

Session/Hero4 Session, Hero5 Session - Similarly, these models do not have HDMI out, but they do have USB-C.  GoPro originally intended for this USB-C to carry an HDMI signal for the Karma Drone, but it appears that it is firmware disabled.  

Fusion- Because it's a 360 camera that writes to two separate cards, it doesn't seem that there would be any use for HDMI out on Fusion, even if it were possible.  

In that same vein, some of you may be wondering...

Streaming in 2.7k/4k?

At the time of writing the article, GoPro does not currently make a camera that will output any more than 1080p-60 via HDMI.  That doesn’t mean that you don’t want to future-proof yourself as well as capture content from computer-to-computer, or from another device that may have a higher output resolution than a GoPro.

If this is something you want to do, you can consider “upgrading” to something like a dedicated capture card.  These are more deliberate solutions that have two HDMI ports, one in and one out, and “intercept” and record the signal in between.  

elgato+4k60PRO+capture+card+HDMI+PCIE.png

If this is something that interests you, you may need something more along the lines of the ElGato 4k60 PRO capture card.  

gopro+streaming+webcam+reddit+elgato+camlink+tutorial+guide+knowhero+4k60PRO+Capture+Card.png

It is capable of 4k resolution capture at 60fps, so you can record and live broadcast anything from a GoPro, a phone, another computer, or even the same computer at high bitrates and max resolution.  They’re definitely quite a bit more expensive, and require a PCIE socket on a desktop computer (the same type as your graphics card) but they give you more versatility if you’re interested in streaming at 4k or doing live tutorials at higher bitrates and resolutions.

At the time of writing this, the CamLink is available for roughly 1/4 the cost of thethe 4k60 PRO card.  Let me know if these solutions work for you!

EDIT: December 2018- ElGato has released a 4k version of the CamLink for a little more than the original 1080p device. While you cannot stream from a GoPro any higher than 1080p currently (highest resolution out of the HDMI port), this 4k model of the CamLink is a better value overall, if you plan to future-proof or stream from other devices that DO support 4k!!


Transparency Disclosure: I reached out to Corsair/ElGato while investigating this as a solution, and they provided additional equipment to test, with no strings attached.  A big thanks to them for being willing to let their products speak for themselves and allowing me to validate this solution for the community at a reduced personal cost.  For more on my stance on reviewing products/collaboration authenticity, please see: www.knowhero.com/about/transparency. This article also uses affiliate links. These links allow you to find the product(s) I’m talking about quickly an easily, and if you decide to purchase it, as an Amazon Associate I earn from qualifying purchases. This will never increase your cost, and helps me fray the costs of hosting this site and create new content. Thanks for supporting my work!