Downloading 360 Videos from YouTube (and playback in Linux)


A distorted video.

Inspired by this conversation on Mastodon YouTube hosts 360 videos. Here's one of mine, wandering through the Houses of Parliament. You can drag the video to see all around. If you let YouTube-DL download the "best" version, you'll end up with a video which looks like this: Each lens' view has been horizontally stretched, and […]

Continue reading →

Convert WebVTT to a Transcript using Python


YouTube showing subtitles.

I want to convert YouTube's auto-generated subtitles into a plain transcript. Why is this so hard? This blog post gives a more detailed explanation than my answer to this StackOverflow question. Here's what the subtitles look like when you view a video: And here's what the code which generates those subtitles looks like: 00:00:00.930 --> […]

Continue reading →

Using YouTube to Transcode Videos to DASH on the Command Line


A white plastic desktop phone with QWERTY keyboard and a video screen.

This is part of my redecentralisation efforts to liberate my videos from YouTube. MPEG-DASH is a simple method of streaming videos which doesn't require any specialised server software. You convert a high resolution video into a series of smaller resolution videos. You chop each of the videos up into several chunks. As the video plays, […]

Continue reading →

Liberate Your YouTube Videos


If you've been following this blog, you'll know that Google unjustly shut down my YouTube channel. They've now reinstated it - but I can no longer trust them as custodians of my data. So, here's a quick tutorial on how to download all your videos - and metadata - from YouTube. The Official Way Google […]

Continue reading →

Context Specific Content Surfacing


In a mixed paradigm environment, how do you ensure content is surfaced which is context specific? By which I mean - how do you make your content serve the user's time-bound constraints? What I'm trying to say is - serendipitous discovery must be restricted based on temporal imperatives. Or, to break it down further, a […]

Continue reading →

Sky News Infringed My Copyright


Still from a video - a blurry shot of a mobile phone.

UPDATE! I have reached a settlement with Sky. Update: 16 March, 2011. They have finally paid up! tl;dr Sky News stole my copyrighted work and distributed it without credit or payment. I asked them to pay £1,500. They refused. Full Story During the recent O2 brouhaha I recorded a video showing how the issue could […]

Continue reading →

Mobile Badvertising: Sony Pictures - Easy A


Sometimes a mobile advert is just so bad that you wonder what drugs the people who commissioned were on. Easy A is new film aimed squarely a the youth market.  Perfect fodder for mobile advertising. Cute little advert, doesn't say what it will link to, but other than that, not bad.  So let's click through […]

Continue reading →

Embedding Mobile YouTube in Dabr / Twitter


I've decided to add a preview of YouTube videos into Dabr, the mobile Twitter service. The code is fairly simple - although I still suck at regular expressions. if (preg_match_all('#youtube.com/watch?v=([_-dw]+)#', $tmp, $matches, PREG_PATTERN_ORDER) > 0) { foreach ($matches[1] as $match) { $images[] = theme('external_link', "http://m.youtube.com/watch?v={$match}", "<img src='http://i.ytimg.com/vi/{$match}/1.jpg' class='twitpic' />"); } } Here's how it looks.  […]

Continue reading →

YouTube and QR Codes


I haven't seen this mentioned anywhere else. It would appear that the mobile version of YouTube now includes links to QR codes, so you can share the video with your friends. I've only seen this using the Android browser, I'm not sure if it's available on other devices. Browsing http://m.youtube.com/ at the bottom is a […]

Continue reading →

WordPress Plugin - YouTube for XHTML and Mobile


The Logo for WordPress.

This blog is XHTML 1.0 Strict. Unfortunately, the code produced by YouTube for embeding their videos isn't. Nor is it compatible with the dotMobi WordPress Mobile Pack. This scrap of code is a WordPress Plugin. it allows me to write something like [youtube id="p5ACl4iBGd0"] The code then outputs either the XHTML 1.0 embeding code or […]

Continue reading →