The Higher Education blog from the JISC RSC Scotland North & East

Since my first post on Twitter powered subtitles for BBC iPlayer Tony Hirst has put together another interesting post presenting a method for curating supplemental content for students using his DeliTV. Tony finishes his post commenting that it would be useful to see how timed text could be used to supplement radio broadcasts with either embedded subtitles or a standalone player.

In my original post I mentioned that I tried the smilText JavaScript engine without any success. I also had a looked at how radio broadcasts are delivered via BBC iPlayer. As the majority aren’t available for download and the BBC are phasing out RealAudio next month (RealAudio can be synchronised with RealText for captioning) these were also dead-ends (I did however come across iPlayer Converter which is useful if you “want to be able to access BBC Radio programming but can’t use the iPlayer”). I also had a look at Tony’s suggested Accessible HTML5 Video with JavaScripted captions, again a dead-end without converting audio into a compatibly format.

Having exhausted these other avenues I decided to have another look at the smilText JavaScript engine again and guess what I got it to work! So as well as adding a real-time twitter player it made sense to add some other additional features below:

And here is the link to the tool:

*** Twitter Powered Subtitles Tool ***

How I got it to work

So what did I do wrong? Quite a bit as it turns out:

  1. Didn’t import all of the scripts for the JavaScript SMILText Player. In my defence the official documentation was a little missleading.
  2. Understanding the SMILText schema (need a <tev> before a <clear>???)
  3. Using closing tags like this <tev /> instead of <tev></tev>. Don’t know if this was because of the DOCTYPE was wrong or the way the JavaScript parsed the document.
  4. smilText JavaScript engine doesn’t appear to implement hh:mm:ss ClockValueSyntax

Observations and further development

It is worth noting that smilText JavaScript engine doesn’t appear to automatically wrap on white-spaces. I don’t no if this is a limitation of the engine or the SMIL language. I also wanted to keep <a> tags in browser playback but this doesn’t appear to be part of SMIL 3.0 smilText.

How this tool/concept be further developed? The playback browser is very basic but could be easily enhanced with some TLC. The smilText JavaScript API has some useful methods which could easily be exploited. There is also the question of how this tool could be integrated into other services like Twapper Keeper, (which is used by boxee and others) or FanHubz.

As always the source code is available here for further development.

Following on from my post on Twitter powered subtitles for BBC iPlayer below is the subtitle file for the latest episodes. More information on the series is available from The Virtual Revolution website.

  • The Cost of free Sat 13 Feb 2010 @ 21:15 | Subtitle file (search term: ‘#bbcrevolution -watching’)
  • Homo Interneticus Sat 20 Feb 2010 @ 20:15 | Subtitle file (search term: ‘#bbcrevolution -watching -RT)

To use these files follow these steps

  1. Download episode from iPlayer
  2. Locate downloaded folder for the episode (default for PC it is [My Documents] > [My Videos] > [BBC iPlayer] > [repository] > [obscure-broadcast-folder-name-like-b00qx4t0]
  3. Replace the file which ends ‘_prepared.xml’ with the one download above using the same obscure file name ie b00qx4t0_prepared.xml.
  4. Start the clip in iPlayer pressing the ‘S’ button to turn subtitles on/off.

If you would like to create twitter subtitle files for other BBC programmes available for download on iPlayer you can use the link to the tool below:

Click here to create twitter subtitles
for other BBC iPlayer downloads

Update: Latest twitter subtitle file for The Virtual Revolution

Update: Revised code to include other timed text/caption formats

On demand television like the BBC iPlayer has changed the TV habits of many users. Instead of waiting to tune into the live broadcast views can download and watch programmes at a time of their choosing and on a range of devices. Another media revolution has been status update/social networking sites like twitter. Ever wanting to engage with the listeners twitter is becoming the new ‘phone-in’ or ‘SMS text your thoughts’ for broadcasters. Whilst in the general populous there is still uncertainty over the benefits of sites like twitter broadcasters are already exploring how this technology can be used. A case in point in the BBC/Open University The Virtual Revolution series which is exploring how 20 years of the web has shaped our lives. Its not surprising that a programme of this ilk is exploring how technology can be used to support the broadcast (including allowing viewers to mash-up and reuse clips from the series), it is also the first programme that I’ve seen broadcast a hashtag within its opening credits. The hashtag is a community driven invention which allows comments and content to be tracked across the web including in comments made as tweets.

I find watching the programme with this backchannel communication is entertaining and for me adds a new dimension. There are perhaps educational uses to be explored such as engaging students in real-time discussion, asking them to critically reflect and evaluate what is being presented in real-time.

But what if you are busy on a Saturday night? Whilst you can rewind the programme via iPlayer and use the twitter search to pull up the tweets, these have become decoupled. This might have been a problem Tony Hirst encountered when he tweeted:

psychemedia mulling over how to replay a hashtagged feed in real time from, say, a two hour window (bbcrevolution) View tweet

Tony has been a valuable source for me in past, providing inspiration for my Twitter voting mash-up (TwEVS). Another of his ideas is a Twitter YouTube subtitle mashup, which extracts tweets to use as subtitles in YouTube videos of live events. Using exactly the concept I’ve come up with a way to allow a user to replay a downloaded iPlayer episode subtitling it with the tweets made during the original broadcast.

In action

So first to see the results in action. The video below shows the iPlayer playing ‘The Virtual Revolution: The cost of free’ displaying the tweets made during the live broadcast as subtitles.

How it was done

When you download a programme to watch using iPlayer as well as the video several other assets including a subtitle file in W3C Timed Text Authoring Format. To see this episode in full with twitter subtitles download The Virtual Revolution: The cost of free here. Once downloaded by default the programme should be saved in [My Documents] > [My Videos] > [BBC iPlayer] > [repository] > [obscure-broadcast-folder-name-like-b00qx4t0] (not sure what this would be for non-PC). To view with tweets open this folder and replace ‘obscure-broadcast-folder-name-like-b00qx4t0_prepared.xml’ file with this one [righ-click save link as], keeping the folder name at the beginning of the file name. When you play the video and turn on subtitles the tweets should be displayed.

To create the XML file for any downloadable BBC broadcast I created a tool using the same concept as Tony’s subtitling YouTube example. Here is the Twitter Powered Subtitles for BBC iPlayer Tool I created.

Whilst the tool was designed for the iPlayer it generates a timed text xml file which might be suitable for other applications. Hopefully the tool is straight forward to use all you have to do if find a programme with an active twitter back-channel (you might be surprised at how many their already are once you start searching). If you have any questions/problems post them in the comments below.

Here is the code used for this tool (it also uses the SimplePie code library for handling the RSS). The code includes comments to describe what is going on. Feel free to edit, modify or build upon again use the comments below to share developments.

Limitations and future directions

One of the limitations of this solution is it only replays tweets for the duration of the programme. Having looked around I haven’t been able to find any other twitter replay tools. A solution I did explore was using another W3C format called Synchronized Multimedia Integration Language (SMIL). This standard also integration of multimedia with text, images and other objects. My plan was to use the smilText JavaScript engine to replay tweets in the browser without linking it to any media. Having played around with the JavaScript engine I couldn’t get it to work. Perhaps the baton needs to be passed back to Tony … ;)