Stream To Twitch With Just A Raspberry Pi 3

Posted by

Are you looking to join the 2.2 million other gamers streaming on Twitch? Before you get started, about a year ago, we analyzed a ton of data from the Twitch API showing just how difficult it is to break into that elite Affiliate Program and that it takes about 3 years to build a substantial audience.

With that being said, when you get started streaming on Twitch, you may want to find a cheap way to do it at high quality without investing in a ton of equipment or maybe you want to stream while you’re on-the-go without carrying your rig. Our solution is to start streaming via a Raspberry Pi + a cloud gaming rig. It’s not for everyone, but if you’re a DIY kind of person and you want to see the power of Parsec + the Raspberry Pi, check this out!

Hardware requirements

Raspberry Pi 3
 Logitech C922 webcam (or any other UVC webcam)

Software requirements

Other requirements

  • Static IP address or dynamic DNS setup
  • Access to port forwarding on home router
  • Twitch or other broadcasting service as well as private “Stream Key”
  • Credit card for purchasing cloud machine run time with Parsec

General notes and warnings

This tutorial is for demonstration purposes only

  • VirtualHere traffic uses no encryption or security, anyone who attempts to connect to your IP address using VirtualHere will have full access to your Raspberry Pi 3’s USB devices if not currently in use, this includes USB Sticks, Web Cameras and Microphones. A solution to this issue is using a VPN between your Raspberry Pi 3 and the AWS servers, but this will add additional latency to your Parsec and VirtualHere connections.
  • Parsec is in no way affiliated with VirtualHere.
  • Parsec’s connection between your client and host is fully encrypted using industry standard dTLS1.2 encryption — all data sent between your client and host using Parsec is fully secure.
  • This solution is best used with latency lower than 25ms between cloud machine and client — above 25ms audio distortion will occur when using audio from the Web Camera.

Instructions

  1. Sign up to a free Parsec account at Parsec
  2. Sign in, add a computer to Parsec — Select “Rent a cloud computer from Parsec”
  3. Select the Amazon Web Services G3.4xlarge instance, in the region closest to you, select required storage space, and buy play time, then add computer. Please note that launching a cloud machine through Parsec may take up to 15 minutes, complete the rest of the tutorial while you wait.
  4. Follow this guide here to download and install Parsec on your Raspberry Pi 3 running Raspbian
  5. Plug in Raspberry Pi 3 to network cable (do not use inbuilt Pi 3 Wifi)
  6. Set a static IP on Raspberry Pi by following this tutorial — note — only Eth0 will require static IP address as WIFI will be unused
  7. Download VirtualHere USB Server Optimized for Pi3 here
  8. In this tutorial, we are only passing through one device (webcam) using Virtualhere, if you are looking to pass through more than 1 device, you will need to purchase a license for your Raspberry Pi 3 server. These licenses start at $39USD for three devices at the same time, and directly support the developers who create this very useful software. Please note — licenses are locked to the device once purchased, so you can’t move your Pi 3 license to another server device later.
  9. If you have a static IP address at your location, you will need to forward port TCP 7575 on your router to the IP address of your Raspberry Pi 3 — if you do not have a static IP address, you can use a free Dynamic DNS service like NO-IP.com if your router supports it, this will also require TCP port 7575 forwarded.
  10. You can run Virtualhere by running command “sudo ./vhusbdarmpi3” on terminal on the Pi
  11. Plug in C922 webcam to Pi 3
  12. Connect to your cloud machine via Parsec on the Pi 3, by running command “parsec” in terminal.
  13. Install OBS for Windows, and VirtualHere client for Windows x64
  14. Install your games
  15. Open VirtualHere — there is no need to install Bonjour as this is not required
  16. Right click “USB hubs” and click Specify Hubs — enter the IP address or Dynamic DNS name of your router — no need to enter port 7575 as it is default.
  17. If you have configured your port forwarding correctly, and you have the Pi 3 server running, you should see your Pi 3 in the list of available devices on the server.
  18. You can then right click the C922 Webcam, and select “Use this device”
  19. Windows will then need to install some specific VirtualHere USB Drivers, and then the device drivers of the webcam — If your device drivers are not automatically detected — you may need to download drivers from your webcam’s support website.
  20. Once all is installed, reboot your cloud computer.
  21. Once the computer is rebooted, connect one again from your Pi.
  22. Open OBS and visit File -> Settings
  23. In tab Stream, select your service and enter Stream key
  24. In tab Output, and in the Encoder drop down, select Hardware “NVENC”
  25. Click Apply
  26. In Sources click the + button, and add Video Capture Device
  27. Leave settings as is, and click OK
  28. Your webcam should now be available — please note you can modify resolution and frame rate as required, but may overwhelm your Pi3 and internet connection if you set it too high. I recommend default.
  29. Scroll to bottom of “Properties for “Video Capture Device”” and select use Custom audio device — make sure Microphone (name of your webcam) is selected
  30. Click OK.
  31. From there — you can add other sources like your game, or theme and begin streaming using the “Start Steaming” option of OBS.
  32. Happy Streaming!

Leave a Reply