So, it’s Christmas Day, and rather than lie in, I let my alarm go off this morning, got up, and did an early morning run. Not a long distance, mind you, since it was only 6 deg C, but a nice, quiet run. No cars on the road, just me, my music, and the pavement in front of me.
If you are like me, and have a slow and/or unreliable internet connection, trying to upload any reasonably-sized video to YouTube can be a nightmare, forcing you to have your computer on for hours on end, and then finding your upload failed because your connection dropped, and then having to start all over again.
Well, one way to have resume protection is to use a middle-point, which is Amazon Web Services, or a similar cloud-based provider, then using that to upload to YouTube. Since the connection between the cloud system and YouTube is likely to be more reliable (and faster) than your connection, the upload from the cloud system to YouTube will be faster.
The first step is to setup and start an instance on AWS. I am using the Ubuntu image.
SSH into the instance and install supporting packages via apt-get or aptitude. Make sure you change the IP (xx.xx.xx.xx) and the key (AWS_Ireland.pem) to match your files.
$ ssh -o IdentityFile=/home/user/.ssh/AWS_Ireland.pem ubuntu@xx.xx.xx.xx
$ sudo apt-get install python-gdata python-support rsync
Then download the latest googlecl deb file from https://code.google.com/p/googlecl/downloads/list
$ wget [googlecl.googlecode.com/files/goo...](https://googlecl.googlecode.com/files/googlecl_0.9.14-2_all.deb)
Now, install the deb file using dpkg
$ sudo dpkg -i googlecl_0.9.14-2_all.deb
We can now start using the Google services, but first we need to authenticate. This is normally done via a browser, but since we are in a terminal, we skip this.
$ google youtube list
Please specify user: [enter your email address here]
You will see a text-version of the login page. Don’t bother entering your values. Just press ‘q’ to quit and confirm exit. Then, you’ll see in the terminal window, a url along the lines of this:
Please log in and/or grant access via your browser at:
[www.google.com/accounts/...](https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=){hidden}&hd=default
Go to that url and sign in. Then, come back to the console and press enter. If all goes well, you should see your video uploads in the console window.
Now, to upload a video to the AWS instance. You can use rsync for that, and the command to enter into your local terminal is as follows (change the key file to match yours and the IP address field to match your instance’s IP):
rsync -vhPz --compress-level=9 -e "ssh -o IdentityFile=/home/user/.ssh/AWS_Ireland.pem" source ubuntu@{EC2_IP}:.
This uploads the video called “source” onto your EC2 instance at the home folder of the default user (if you have another location in your instance, use that here). Rsync will allow you to resume uploads via the P switch. When the rsync command successfully completes, you can then SSH back onto the instance, and use the “google youtube post” command to upload your video onto YouTube.
NOTE: On some large files, rsync breaks on resuming with the error message “broken pipe”, if this happens to you, see this page (specifically, Q3).
Once your video is uploaded to your EC2 instance, you can then upload that video to YouTube by using this:
$ google youtube post path/to/video
With my new laptop up and running, I am happily playing several Steam-based games:
Dust (I am pretty impressed by this. It is a platformer, side-scrolling game with really nice visuals, voice-acting and insane combo options)
Dungeon Defenders (yet to start this under Steam, but played it extensively under Android)
Dota (downloading)
Wakfu (played on my old 32-bit box, but Steam refuses to start the game if you are running 32-bit arch. With a 64-bit arch, it will start)
I also have some extra games that I’m not playing or stopped playing:
Bastion (tried it and it is interesting, but I’m finding it really difficult to get into
Dungeon Hearts (slow and laggy)
Ravensword: Shadowlands (an interesting 3D, but very little customisation options)
Toribash (Appeal wore off very quickly)
I am also playing two non-Steam-based games
World of Warcraft
League of Legends
Although, I have them tied into the Steam framework so I can start them up via Steam and grab screenshots, etc.
I have also looked at Fraps and Kazam – two screen recorders (Fraps for Windows, Kazam for Linux) and both perform pretty well. Fraps performs great, I got smooth high-quality video out of WoW. Kazam, I am tweaking settings. It also generates good-quality video, but I need to play with the framerate and encoding settings. Look out for some uploads at some point in the future.