BBC iPlayer On iPhone: Behind The Scenes
Today was a big day for BBC iPlayer: it's the day that it first became available on a portable device. BBCiPlayer is now available on iPhone and iPod touch.
To play BBC programmes on your iPhone or iPod touch, you'll need to be online via a wi-fi broadband connection (the iPhone's EDGE connectivity is too slow for streaming video). BBCiPlayer on iPhone is a beta version right now, so if you find some programmes aren't available on iPhone or you get the occasional oddity... yep, we're working on it.
Ever since we announced that we were working on BBC iPlayer for iPhone, there's been a lot of speculation in the blogosphere as to how it would work. Would we use Apple's new iPhone SDK? Would we use the rumoured Flash for iPhone? What video format and bitrate would we choose? And which devices will we support next...?
So, for those interested in a behind-the-scenes look, here's the low-down...
First up, we can divide portable and gaming devices into those that include a web browser (iPhone, Nintendo Wii, Nokia N95, etc) and those that don't (Apple TV, Xbox, most mobile phones, most home media servers, etc).
For devices with browsers, assuming that those browsers are able to access and display the BBC iPlayer website, getting BBC iPlayer working on those devices "merely" [see below] requires us to provide audio and/or video streams in a format that is supported by the media player(s) available on that device.
For devices without browsers, it becomes necessary to create custom applications that users need to install and run on that device. There's little standardisation across devices, and creating these custom apps is time-consuming and expensive; so for now, we're focusing on browser-enabled devices.
We started with iPhone because it is the device most optimised for high quality video currently available. It displays the BBC iPlayer site and BBC programmes nicely. But - go on, speculate! - we're working on making BBCiPlayer available on many more browser-enabled devices over the coming months: stay tuned for details...
Back to BBC iPlayer on iPhone implementation: we're not using the new Apple SDK, nor are we using the much-rumoured Flash for iPhone (no - we haven't seen it, either). Instead, we're creating 516Kbps streams (400Kbps H.264 video, 116Kbps AAC audio) that show off BBC programmes brilliantly on an iPhone.
There's been a lot of press about the amount of money that the BBC spent developing iPlayer, but what most people don't realise is that only a small fraction of the cost went into the parts that you see (i.e., the web site), with most of the cost going into the development of a high-quality content production backend that's able to crank out 400 hours of content each week to the BBC's high standards (frame-accurate in and out points; manual quality control; provision of subtitled and signed versions; guidance-labelling for stuff not suitable for children; rich metadata, etc).
That probably doesn't sound too hard, but consider this: every day, tapes for the programmes that you see on TV (the pre-recorded ones, not live events) are retrieved from our secure archive facility, delivered to our playout centre at Red Bee Media, and sequenced for playout to TV. As you've probably noticed, BBC One hardly ever goes down, so this system has been optimised over many years and is tightly run. Into that process we needed to add the transcoding of that content for our various iPlayer platforms, including PC iPlayer (e.g. the one available at www.bbc.co.uk/iplayer), TV iPlayer (available soon on Virgin Media), and now portable devices.
This means that every programme needs to be transcoded in a Flash version (for PC streaming), a WMV version (Windows PC download), MPEG2 (TV set-top box), H.264 (web browser), and a variety of other formats coming soon. To do this, we have a transcoding farm of over 50 rack-mount PCs, most of which are running really fast dual quad-core Xeon CPUs. As content arrives off tape (for pre-recorded programmes) or off-air (from our digital satellite links, for live content like news and sport), it's fed into the transcoding platform.
Those input files are encoded at over 50Mbps which makes them huge - around 25GB per hour of incoming video. With eight BBC TV channels plus 18 regional news broadcasts, that means we need to deal with up to 24 simultaneous incoming programmes, for a peak data rate of over a gigabit per second of incoming video.
We now need to transcode those source files into each supported output format. The various file formats take different amounts of time to transcode - it takes roughly twice as much CPU time to create a 1Mbps WMV files as it takes to create a 500Kbps Flash file, which is why you'll sometimes see programmes in iPlayer that are available for streaming but not (yet) for download; the downloadable version usually arrives an hour or so later.
The transcoded files are then "pushed" to streaming and p2p download head-end servers, and rights management (i.e. content encryption) applied as needed. Separately, programme metadata is delivered into our database. As soon as both metadata and the first of the available media files for a given programme have been received and are confirmed (all automatically, of course) by our system, then that programme becomes available in BBC iPlayer.
We've recently added a just in section ("Most Recent") to the bbc.co.uk BBC iPlayer homepage so you can see this in action - every few minutes, this section is updated, showing the latest content that's arrived into our system and made available in iPlayer.
Looking at the BBCiPlayer website, it all looks pretty simple - but beneath the hood, there's a lot of moving parts to deal with those real-time high-bitrate long-format incoming programmes, to process them, to QC them, and to make them available in BBC iPlayer, 24/7.
The challenge is to continuously enhance that transcoding platform to support a whole host of new formats to make BBC iPlayer available in the coming months at higher and higher display resolution and quality, and on more and more devices. Which mobile, portable or gaming device would you like to see it on next?
There's lots of exciting things to work on!
Anthony Rose is Head of Digital Media Technologies