Webcams

From Shadow ENG Discord Wiki
Revision as of 01:52, 25 February 2022 by Gerald (talk | contribs) (Redirected page to Main Page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Redirect page
Jump to navigation Jump to search

Redirect to:

Do you have a webcam?! Do you want to use it on Shadow?! Have you had issues with forwarding a webcam over USB-Over-IP?! This guide is for you then!

The Idea

USB-Over-IP (USB peripherals) was never designed to handle high bandwidth traffic like uncompressed webcam streams. In some cases it will work, but in most others, it will untick the checkbox and not allow you to forward your webcam because the USB clock got out of sync when the connection became loaded down. This is where the beautiful protocol from Newtek called NDI comes into play. Network Device Interface (NDI) is a royalty-free software specification developed by NewTek to enable video-compatible products to communicate, deliver, and receive high-definition video over a computer network in a high-quality, low-latency manner that is frame accurate and suitable for switching in a live production environment. But how does this come into play for Shadow? Besides being very useful in music venue streaming, DJing, and generally sending video wherever you want, NDI is also compatible with Shadow with a few tricks.

What you need to know

  • This can take a lot of bandwidth. A 720p60 stream from my local machine running OBS to my Shadow running OBS takes about 65Mbps to run and will eat into the 1000Mbps that you get from Shadow, but not by much in the scope of things. If your Internet connection sucks, this can affect your experience drastically and cause latency issues and packet loss.
  • If you want to use a phone camera, then you'll need to install ZeroTier on your mobile device, and use the NDI HX camera app to get video from your phone to Shadow as a NDI source. NDI HX camera does cost money.
  • Your camera will have the same latency that you do to your Shadow. This can be a dealbreaker for some.

Step 1: Networking

  1. Install ZeroTier One from this link. This has to be installed on the machine/device that you're going to be sending video from as well as Shadow.
  2. Sign into ZeroTier Centralusing your Google, Microsoft, or GitHub account.
  3. Create a network. This will give you the network ID you need to join all of your devices together to the same LAN.
  4. Run ZeroTier One that you installed in step 1, and find the orange icon in your system tray. Right click on it, and click Join Network.
  5. Copy/paste the network ID from ZeroTier Central that you can get by clicking on the network you created and DO NOT CHANGE ANY OF THE SETTINGS BELOW THE NETWORK ID OR YOU COULD BREAK YOUR SHADOW AND HAVE TO DO A RESET.
  6. In the Members section of your ZeroTier network, tick the Auth checkbox next to the device that pops up, and give it a name for ease of use.
  7. Repeat the same process on Shadow without creating a new network. Use the same network ID.

Step 2: OBS locally

  1. Install OBS from here
  2. Install the latest OBS-NDI plugin from here
  3. Open OBS. You really don't have to walk through the configuration wizard if you want to just use OBS to handle webcam traffic.
  4. Make a scene.
  5. Add your local webcam as a video capture device source.
  6. Tools -> NDI Output -> Enable Main Output
  7. You're done.

Step 3: OBS on Shadow

  1. Install OBS from here
  2. Install the latest OBS-NDI plugin from here
  3. Open OBS. You really don't have to walk through the configuration wizard if you want to just use OBS to handle webcam traffic.
  4. Make a scene.
  5. Add a new NDI source
  6. In the properties of your new NDI source, select the source name and the dropdown should have your OBS webcam from your local machine in the list. If it doesn't appear, close the properties window, and open it back up by double clicking your NDI source.
  7. Start virtual camera and you can use your new remote webcam in any application that supports it.