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 then stitched into an over/under view. This is in Google's Equi-angular Cubemap format. Grim! There are two options available to you to get the equirectangular…

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 --> 00:00:03.080 align:start position:0% and<00:00:01.230><c> now</c><00:00:01.439><c> can</c><00:00:01.709><c> we</c><00:00:01.800><c>…

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, your browser then decides which chunk of the video to load next depend on the bandwidth available to it. Easy! Aim From the command line: Upload a video…

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 offers a "takeout" service which will allow you to package up all your YouTube videos for export. It creates a multi-gigabyte archive - which isn't particularly suitable for hosting elsewhere. …

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 user may only have a specific amount of time to dedicate to your app; how do you deal with that? In a mobile game, the interface may present the user a choice of "Quick Play"…

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 affect people. I deliberately gave it the standard YouTube licence rather than the Creative Commons licence. Later that evening, I was alerted to the fact that Sky News had …

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 and see what happens. Sweet! YouTube has an excellent mobile optimised site.  The ability to share the video on Facebook and Twitter is sure to make this baby go viral. Right? Right? As t…

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.  A user writes a …

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 new link A link to a QR code Clicking on it takes you to a QR code The QR code It's using the Google Chart API to generate the code. The Googe Chart API in use Will this…

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 the XHML-MP code which links to the mobile version of the site function youtube_func($attr) { //Get the name of the Wordpress Template being used $name =…

Continue reading →