Raspberry Pi Youtube Uploader

Upload Videos to Youtube Without Having to Babysit the Queue

More specific instructions here.

Let’s say you have an internet connection that isn’t the fastest, and you have many large videos to upload to youtube. Depending on your situation it can take more than a day to upload an entire file. This can be a pretty daunting task given it ties up your computer and can error often.

Enter the Youtube Uploader Pi, a dedicated little workhorse for stable long time-table uploading to youtube. If you would rather keep your money than spend it on a faster internet connection, this is the way to go. Also, it’s actually easy to setup as far as Raspberry Pi and Google are concerned.

Typically, this would be a huge benefit to people who regularly upload large files and have a limited connection speed. Vloggers, dedicated youtube content creators, and gaming channel owners, anybody that uploads lots of content often. It is not going to be a benefit for someone that uploads only a single video file, unless that file takes several weeks to upload. Don’t be afraid of the whole ‘linux’ thing, as it’s actually not that hard to use. Anyone with a fast internet connection will see no benefit from this. For example if your upload speed is 1Mbps or less, this is for you!

Necessary Tools:

  1.  A functioning Raspberry Pi (Pi, Power supply, and SD Card)
  2.  A data stick, the kind with a light that indicates when it’s being used. Preferably 16GB or greater.
  3.  An extra connection to the router (or wifi will do)

Helpful Tools:

  • A Raspberry Pi Youtube Uploader pre-loaded card to save time A small plank of wood with screws capable of fitting and screwdriver (if you don’t have a Pi Case)
  • A wifi dongle (if you don’t have an extra cable for your router)
  • An extra USB keyboard and/or mouse
  • An HDMI cable
  • An extra monitor with an HDMI input (unnecessary if your current monitor has an HDMI input)
  • An HDMI to DVI converter plug
  • A second computer (laptop or something)

The Basic Steps

  1. Get the Raspberry Pi up and running such that it doesn’t need a monitor
  2. Connect to the raspberry pi
  3. Put your video (or videos) on a thumb drive
  4. Login to your youtube account over a VNC and click ‘upload’
  5. Close window and wait!

Getting A Raspberry Pi Working

There are tons of tutorials out there on how to get a raspberry pi setup, even on this website All that you need is a Pi hooked up to your home network. There are dozens of paths to take to meet this end. Instead of going through things you can find all over the internet, we’ll just go over some of the basic strategies that you can employ to accomplish this goal.

If you purchase an SD card pre-loaded with noobs (the beginner raspberry pi software), then the card usually requires some input from you. This means that you need to plug it into a monitor, keyboard, and mouse in order to setup the operating system. It’s okay, once you’re done you can unplug them all. So you can temporarily use your main monitor/keyboard/mouse if you like, but you might need an HDMI cable and an HDMI to DVI plug. This is if your monitor does not have an HDMI input. The advantage here is that if you mean to connect your little youtube uploader wirelessly, you can do it at this time and save tons of effort. However, you will not have the ability to do research-on-the-fly if you are using your main monitor. Meaning that if you don’t know why it won’t connect to your wifi, then you will keep swapping your monitor back and forth to figure it out.

If you don’t have a spare monitor, or an HDMI-DVI plug, then you can overwrite the pre-loaded card (or any card) with one of the operating systems that boots straight up. This would actually be preferable, because it saves a lot of work moving wires/monitors around. In the end this little box will just be sitting there without a monitor plugged in anyways.

There’s also the RCA video output, and HDMI to VGA adapters that work do exist for raspberry pi.

To avoid all of the hassle, consider buying a pre-loaded card from us. You can avoid all of that nasty programing Linux stuff. COMING SOON!

There are a massive number of tutorials on the information above, but the general goal is to get a raspberry Pi that you merely plug into your network, and then plug the power in. It should not have anything plugged in other than power and the network (or wifi).

We do have some tutorials on connecting to a raspberry pi on this website.

Connecting to the Youtube Uploader

The ultimate goal is to be able to connect Putty to the Raspberry Pi Youtube uploader. Accomplishing this will make you feel like the ultimate hacker if you’ve never done it before. Once this step is accomplished it is all downhill. This requires you use putty (or any other ssh-tunnel tool).

Putty is not one of those programs that requires an install on windows. It’s a basic program that can be run on any computer, and does not need to be installed or anything. Just run it where it is with a double click. Again, there are tons of tutorials on getting it working. However, the key piece of information that you must obtain is the local IP address of the Raspberry Pi.

There are some complications here that can be explained in common language, but it takes some mental gymnastics. You are looking for the ‘local’ IP address of the raspberry pi. This means that it is the address on your home network. This is not the same as googling “what is my ip”, that is your public IP address. Once this local IP address is obtained, getting putty to connect is fairly easy. However, things aren’t that simple. Almost all home routers run something that might randomly shift your local IP address in any given week/month/year called DHCP. It won’t happen quickly, but at some point you are going to have to find the address again when it changes. So don’t plan on this being a one-time step. If you reboot/unplug/powercycle your router the dhcp might reassign a different local IP address to your little youtube uploader pi. There are steps for avoiding this problem, but it’s better to solve them after everything is working properly .

Tips on how to get the local IP address of your Youtube Pi Uploader

  • In Windows 7 hit the windows key (super): super → cmd → enter → arp -a → enter (but it doesn’t always work)
  • The command ifconfig on the raspberry pi itself
  • The command nmap if you have a spare linux box around
  • Log into your router if you have the password and know how
  • There are local network scanning programs/tools available, but they all suck on windows
  • If you know your router IP address, you can try IP addresses until it works (e.g 192.168.0.2, 192.168.0.3, 192.168.0.4)
  • You can install samba on the pi and type ‘ping raspberrypi’ into the cmd prompt (this is a horrible idea)

Putty creates a ‘tunnel’ through which things can be passed. Passwords, commands, and the mouse commands that you will use to upload videos all travel through this tunnel securely. If you feel your home network is secure enough to do without it, that’s fine. However, I refuse to recommend you go without it. If it is working you should see text asking you totally alien questions.

This is referred to as the command line. Windows has one (but you never see it), Macs have one, and linux lives and breathes on it. If you get to this point you are worthy to begin the quest.

Wifi

Again, there are a lot of tutorials on how to get this connected. Beware, that many wifi dongles have problems if you did not buy a good power supply, or the dongle that you chose is not proper for raspberry pi. Either the drivers will not function, or the power supply will not be able to keep the connection alive for more than a few minutes. Be very careful in selecting one, and make sure you have a good power supply because this problem is a nightmare.

Setting up the connection can be done either when you are setting up the uploader pi using a monitor/keyboard/mouse, or via putty. A temporary wired connection may be necessary for configuring wifi. The most important aspect when following the various tutorials is that changing your wifi password will mean redoing the steps again.

The typical method is editing the /etc/wpa_supplicant/wpa_supplicant.conf file to add your router name and password. Do not get hung up on non-supplicant methods, as they will require all sorts of extra steps. Also, putting your wifi password direcly into /etc/network/interfaces is easy, but considered an insecure shortcut. It’s best if you have full access to your home router login to verify if the thing is connected and assign it a permanent local IP address. This permanent IP assignment can be done for wired or wireless connections, and bypass the dhcp problem.

VNC

A ‘Virtual Network Client’ sometimes called a ‘remote desktop’ allows you to have a window on your computer that controls the youtube uploader remotely. This is key, because it means you can set an upload and then let it go for hours/days at a time. The idea is that you can set the upload, close the window and the upload will happen independent of what you do on your laptop/desktop, including reboots and web browsing. However, it must have a power supply independent of your computer. Again however, browsing might be somewhat slower than normal during an upload as it may eat up some of your bandwidth. At the very least, you will not be able to inadvertently interrupt the upload process.

If you are using windows I recommend that you install tightvnc . It will install both a client and server, but you don’t want to use the server (as it will serve your desktop). You want to use the client, which will access the raspberry pi youtube uploader remotely.

Tightvncviewer is a little program that can connect to the desktop on the youtube uploader pi. Before you can connect, the pi has to have a VNC server installed.

Install some Programs

<>
If you don’t want to go through all of this, you could just buy it already configured, or download the image we have put together here: COMING SOON!
<>

Once connected you have access, but merely keyboard access to the command line of the raspberry pi. You want to connect with a remote desktop or VNC. This means that we have to run some text based commands. These commands merely setup some things, and install a VNC server. It’s not something you are going to have to do on a regular basis.

The very first thing you should do is change the password, if you haven’t already

sudo passwd

The next thing would be to configure the options such as, date/location, keyboard, etc. Make sure that the pi is set to boot to the desktop.

sudo raspi-config

Now to install the VNC server update, upgrade and install. A ton of comprehensible text will fly by on the screen for each one of these commands. It could take some time, but it’s actually easier than installing a program on windows.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install x11vnc

I recommend using x11vnc because it serves up the screen that you see, whereas some of the other vnc servers serve a virtual screen. Meaning that x11vnc can be configured to show the real screen while others will make a duplicate screen for your session that may be closed when you end your session. We want to have the upload keep going after we close the VNC, so this makes x11vnc a lot easier to configure and use.

There are tons of tutorials on getting x11vnc running. The key steps are: set a password, set a port (usually 5900), and make it start on boot up. Here is an example tutorial

Chrome is made by google, Chromium is a more stable version of the same program for linux. It is best to use either because other web browsers might cause problems with the upload. Google and chrome work very well together for the obvious reason that google makes chrome.

sudo apt-get install chromium

<>
If you don’t want to go through all of this, you could just buy it already configured, or download the image we have put together here: COMING SOON!
<>

Creating the tunnel

At this point things are ridiculously easy and frustrating at the same time. You could cheat, and attempt to connect directly to the raspberry pi with Tightvncviewer. The problem, is that all of your keystrokes, mouse movements, passwords, and even the screen itself will be open for hackers to see if you are successful. This only applies to things in the window that shows up when tightvncviewer connects. To keep things safe, we have to set up a tunnel and allow X11 forwarding in putty. This means the process will be to launch putty and connect, then launch tightvncviewer and connect. The viewer connects to the tunnel created by putty.

Again, there are thousands of tutorials on this already. Telling you to go into the options of putty and tick a box that says ‘allow X11 forwarding’ would be overkill. Also, it would be too much to tell you to make sure to add a tunnel in the options, something like Source Port:5900, Destination::5900, and add it.

At first, putty takes some time to learn how to use. If you save your session, you don’t have to constantly re-input the options.

Control of a remote desktop to Upload to Youtube

Type 127.0.0.1:5900 into tightvncviewer, and you should get a prompt asking for a password. After that, you should have full control of the remote desktop.

This is success. Here you load up chrome, log into your youtube account, plug in your data stick, upload, and close the window. If you save your password/session it can become pretty easy to repeat the process. Hours/days later the upload will be done.

You don’t have to log back in to the raspberry pi youtube uploader to check progress, you can do that from any browser. If your data stick has the flashing light that indicates read/write you can tell if an upload is still in progress.

Automatic Plug and Upload

Coming soon!

Leave a Reply