Training Systems

Training

Parkrun & Strava

ParkrunStrava

Final Fantasy

Grrr. So I uploaded some Final Fantasy videos over the weekend using my mobile phone to speed things up, and one of them got hit immediately by Square Enix. They were only opening videos….

Fiona Bennett – A Country Suite (Flashmob)

I have always been a big fan of piano music, especially solo piano. Yiruma, Einaudi and then I heard this on Classic FM. If I ever learn to play the piano with any decent skill, this is one piece I’m definitely going to have on my list to learn how to play.

Internet Speeds

And this is why people are now using their mobiles phones’ 4G connection above home broadband…

On the top my home broadband (Sky). On the bottom, Three’s 4G connection. Guess which one I use most? And the interesting thing? Even whilst downloading Final Fantasy XIII via Steam, my connection on Three still registered in excess of 50Mb/s. No wonder my Sky connection was graded F. That’s F for fail, Sky.

SkyThree

Dust vs Gaius

My first attempt at in-game footage capture.

Uploading (and Resuming) videos to YouTube via GoogleCL and AWS – Updated 15th Dec

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 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:

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