Monday 31 January 2011

Delivering Live Mobile Video

Mobile video is a difficult subject, and mobile live video is even more difficult. The range of devices, networks and supported protocols are immense.

The first thing to do is to be pragmatic. Outside of very good 3G coverage, which is sparse, and 4G networks, which are rare outside of Asia and some American conurbations, WiFi and WiMax are really basic requirements for delivering any kind of reliable video to mobile devices.

Another basic problem with mobile phones is that they are, er..., mobile, and reliably handing over data services from cell to cell (or from one WiFI connection to the next) is a tough thing to do. So, the second things is to be stationary.

So, presuming you're standing still with a decent connection, the next thing to worry about is the device you're holding in your hand. If it's more than a couple of years old, and isn't a 'smartphone', then you should again probably give up. There is a very steep diminishing law of returns in trying to reach all mobile devices.

Older handsets primarily used the rtsp protocol and a format called 3GP, or H.263. The rtsp protocol isn't good at high data rates and the 3GP codec means you have to support yet another format. (You can stream H.264 over rtsp, but the devices often have no means of playing this back).

So, let's move back into the modern age.

Today there are five broad platforms you need to support:
  • iOS - the Apple operating system used on iPads and iPhones
  • Android - the wildly popular open source platform from Android
  • Symbian - the underlying OS used by Nokia (and certain other manufacturers)
  • Windows Mobile 9 - the Microsoft mobile OS used by a variety of manufacturers
  • Blackberry OS - the platform for the eponymous devices favoured by businessmen and texters alike
Unfortunately, each one of these devices requires a slightly different approach for delivering live video, which ostensibly means taking a live feed or simulcast and encoding it into a number of formats and then delivering it over a number of different networks. Then comes the really tough bit - scaling the solution. Finally, there are the issues of detecting the device being used and providing a playout environment - a player, navigation and associated functions and applications such as voting, tweeting and sharing.

Over the coming weeks we're going to cover delivery to each of these device platforms, as well as looking at on demand delivery of video.


Sunday 23 January 2011

Codec Roundup

Perhaps the most confusing aspect of online video is the formats to use.

Here is a quick roundup of those currently available:

H.264 - also called 'MPEG4 and 'MP4'. This is a very long standing standard that has recently become de facto for the delivery of on demand content over the internet. It is a codec (MP4 is a 'wrapper' or 'format' and can also be played in other formats such as .FLV, MOV and even .WMV), and has good encoding, especially at high data rates. There are other advantages: this is the only format Google currently indexes (although they have recently announced that they will not play this format in future releases of their Chrome browser in order to favour their own 'WebM' codec). This format plays on iPads and iPhones and can be made to play on Android devices. It is also now largely supported by IPTV devices such as set top boxes. Overall, it is by far and away the best codec to use if you want widespread distribution. The downside is that it is 'owned' by a consortium of very large companies, although they recently agreed to make it freely available to all but the largest commercial users.

H.263, also called 3GP, is a codec that was developed for mobile devices. It is still used on older phones and on platforms supported by Blackberry and Nokia.

Ogg Theora - is a very old and largely unloved codec that is 'open source'. The quality is poor and support is patchy at best.

WebM - In 2009 Google purchased a company called On2, who were responsible for the codec at the core of the delivery of most Flash video (FLV). These codecs carry the VPx lable and VP6 and VP7 are what you will largely find as the formats of most current videos on the web. However, these are quickly being deprecated to H.264 (see above) and to VP8, or WebM, which is a codec that Google has ostensibly 'open sourced', but which is almost totally unsupported at the moment by anyone else.

VPx - On2 was the company that developed the core codecs used by Adobe Flash and as such has had a core role in the development of video over the internet. On2 was acquired by Google in 2009 and its codecs are no longer supported, although widely used.

VC1 - this is the core codec developed by Microsoft, and was, for a long time very popular since it was the only codec that came with a digital rights management specification. When Microsoft went on to develop the Silverlight development platform it deprecated VC1 and now sees H.264 as its core codec.

There are a number of other, largely proprietary, codecs available, for example those from Move Networks, whose assets were recently sold EchoStar, but none have achieved mainstream adoption.


Welcome to About Internet TV

This blog, or wiki, has been set up to provide a source of advice for anyone involved in setting up, using, or managing TV or video services over the internet.

The team at About Internet TV come from a broadcasting background, and we've been involved in delivering video over the internet since technology first made this possible in the nineties.

As a result we have a wealth of experience, and we hope that this will be of benefit to you.