Make a dedicated YouTube live streaming camera using a Raspberry Pi!
As a YouTuber, I'm always looking for ways to streamline different tasks. Live streaming is definitely something that has the opportunity to be a LOT simpler. It would be nice if you just had a camera that you can take with you, turn on, and live stream. So that will be the primary goal of this project: to make a dedicated camera for live streaming to YouTube.
My idea is to make a video camera using a Raspberry Pi 3, 2.8″ LCD Touchscreen, and the Pi Camera as the basic platform. We'll also need a small USB microphone to record audio, and some type of rechargeable battery to power it all. Then I'm going to 3D print a custom case shaped like the YouTube logo to power it all.
Setting Up The Raspberry Pi 3
As with any project using a Raspberry Pi, the first step is to get it set up. To do this, you'll need:
- A Raspberry Pi 3
- A micro SD Card (8gb or greater)
- HDMI or composite monitor and cable
- Keyboard and Mouse
- Power supply
With the hardware set, we next need to load the software onto the PI. You can download the latest Raspbian software from here. It's a large file, so it may take a while to download. But once it has, you can burn it to your SD card using the Etcher.io software for Windows, Mac and Linux.
After you've successfully copied the files to the SD card, you can put it in your Raspberry Pi, plug in the monitor, keyboard, mouse and then the power. After a minute or so, it should boot to the Desktop.
The first thing you want to do is connect to your internet by clicking on the internet icon in the upper right and selecting your wireless network. Then inter your password and click “connect”. Next you can right click on that same icon, and select “Wireless and Wired Network Settings”. Here, you'll want to make sure wlan0 is selected and then give it a static IP address that matches the IP scheme of your network.
To finish up, click on the start menu in the upper left go to Preferences > Raspberry Pi Configuration. On the “Interfaces” tab, select to enable SSH. Then on the “Localisation” tab, set your keyboard language settings to match your country. Then reboot your machine. Now you should be able to log in from a remote computer using SSH.
Adding The Camera
The camera I'm using is the Raspberry Pi Camera Module v2. I like it because it's very flat in shape and doesn't take up any USB ports. It has it's own dedicated IO port. So with the Pi off, insert the Camera Module (as seen below). Then power your PI back on.
Before we can use the camera, we have to enable it. So after the Pi boots back up, you can SSH into it and run
sudo raspi-config #Interfacing Options > Camera > Enable sudo reboot
Once your Pi boots back up, you should be able to utilize the camera.
Setting Up The Touchscreen
I'm using an Adafruit 2.8″ Touchscreen LCD. It comes connected with header pins that make it easy to fit right on top of the Raspberry Pi GPIO Pins.
Adafruit has some great documentation about setting up the Raspberry Pi, and they even have their own Raspbian Image that you can download and install with everything already on it. Sadly, the pre-made image didn't work for me, which is why I installed a fresh version of Raspbian.
The LCD requires a Kernel in order for it to work, so I'll need to download it manually from the Adafruit website (these steps are also on their instruction page).
sudo apt-get update curl -SLs https://apt.adafruit.com/add-pin | sudo bash sudo apt-get install raspberrypi-bootloader
Installing the bootloader will take a few minutes, but when it's done, you can shutdown your Pi, and unplug any other external monitors before turning it back on.
Once the Pi boots back up, we'll need to modify the Pi's boot config file and adjust it so that it displays to the LCD properly.
sudo nano /boot/config.txt
and then add this text to the bottom of it:
dtparam=i2c_arm=on dtparam=i2s=on dtparam=spi=on dtoverlay=pitft28-resistive,rotate=90,speed=32000000,fps=20
In order to get anything to display on the LCD, we need to tell the operating system to use it as it's primary display. To do this, you can use these commands:
export FRAMEBUFFER=/dev/fb1 startx
Now we can test it by displaying an image on it using the fbi (not that F.B.I.) image viewer.
sudo apt-get install fbi wget http://www.tinkernut.com/wp-content/uploads/2015/01/logo_gear_sm3.png -O image.png sudo fbi -T 2 -d /dev/fb1 -noverbose -a image.png