Video-on-Demand system for IPTV

Introduction


Nowadays, millions of users have access to digital contents through many applications that did not exist a couple of years ago. Both on the internet as well as in digital television, the viewer transported himself from a passive usage to a place where he can access any type of contents and information. The revolution of IPTV brought thousands of new possibilities, from choosing the camera view in a football match, to selecting the favorite shows, series, or a selection of movies without the need to wait for the scheduled time.

Video-on-demand (VOD) has become very popular over the years, for example, Youtube has more than 3 billion views per day. In one year Youtube had a growth of 50% in its traffic [5]. One important aspect is that broadband access has seen a tremendous growth in speed and infrastructures. Coaxial cables are being switched to fiber optic cables, delivering over 1Gbps of speed to any domestic environment. This exponential growth shows us that delivering high quality streaming over IP networks is possible, as we see already in broadcast media. Nowadays, Content Delivery Networks (CDN) provide scalability, with many servers distributed across the Internet "closer" to costumers (see fig.). This broadband requirements, widespread deployment and popularity proves to be a costly service to provide.


Within the television market, where Video-on-Demand has faced a stronger development, the choices are dictated by the Service Providers and each service has an associated cost. Normally the user needs to rent a Set-top Box (STB) to be able to get the most out of these services, which a basic set-up doesn’t provide. Thus, UK TV networks came up with an ideia of a free-to-air collection of services for the Digital Terrestrial Television (DTT). There is no need for a subscription or contract, and all that the user needs is a TV or apparatus capable of receiving DTT services. Their motivation is "Buy today, watch today, free forever". They called it the Freeview and already spread to other countries like New Zealand and Australia.

On the Internet these type of services are also starting to grow together with the expansion of broadband access. Still, most of these applications are paid, because digital contents also means copyright contents. In most of the cases the specific software for this type of applications is proprietary, which means you either buy a license to use an available software or pay to create your own software.

The most famous examples on the Internet today are Netflix [6] and Amazon Prime [7]. In both these services a user can have an account for a minimum of $7,99 a month or $79 the annual fee. TV episodes and movies are available, and some even deliver unlimited DVDs for just $2 a month. The movies and series availability is the only thing that can distinguish any service. People usually arrive home after a day’s work, missing their favourite shows. The only thing they would want from such a service is for that specific show to be available after it is broadcast. The same thing happens with movies. After a few months in the theaters they are sold as DVDs, and should be available online as well. Netflix counts over 23 millions members today, being probably the best online solution available.

Motivation


The internet world is always evolving and Video-on-Demand is gaining more and more users everyday. However technology hasn’t evolved as expected. It is difficult to find an application where the user can watch a movie or a series, like he was playing from its own DVD. Trick mode operations, such as seeking to the middle of the movie to start from the last viewed point, fast forward to skip undesired parts, pause for a quick break are functionalities that are not easily found. Video-on-Demand requires even more than what simple television broadcast requires, because each streaming session is a private session that the server needs to handle. At present, there is no software complete enough and available as open source to provide us with a sufficiently good solution.

By taking advantage of the Internet’s potential it is possible to make things even more interesting. Companies like Facebook, Ebay, Google, Amazon, Flickr, Twitter and many others provide special interfaces (i.e. Web Services) for developers, other than their own, to make use of their services in other applications. This is a way to give the power to other people to create new applications using their own services, taking a tremendous load out of their hands. Probably every mobile application that accesses any of the mentioned services, use some of these tools.

Objectives


The goal of this dissertation is to develop a tool that can offer the above referred desired functionality, allowing users to access and consume videos and other contents in an IPTV environment. Users should be able to visualize the information of all available contents and access them inside the same application. Content should be retrieved from a server, which also exposes metadata associated to the audiovisual content, collected from the appropriate websites. Users should be able to browse metadata, obtaining descriptive information about the available A/V contents and only then, select and start receiving a specific movie. The application should provide the user major trick mode functionalities, offering the same experience a user would have with a normal household media player.

The server should have the capacity to serve several users and at the same time be able to be configured through a web-based administration interface. The supported video formats and network protocols should be the ones used in today’s industry, to provide full support and interoperability. This application should also provide the specific tools for others to create applications using our services.

There are several open source software (OSS) tools capable of streaming and receiving contents on the internet but they are just a mere startup point for this project, because they don’t fulfil the basic requisites of the application we are looking for. The solution is to use this existing tools and start building up our application.

Methodology

The main question that is posed before start developing the proposed system is the following:

Is it possible to develop an open source Video-on-Demand Application fully capable, reliable, scalable and ready for IPTV?

The main objective of this thesis is to build an application, meaning that development will be the first priority. However, a big research should be involved when looking for the right tools to help achieve every defined goal. There are a lot of options that can help leverage some of the functionalities we want, leaving us with the task of bringing them all together into one application. These tools must be stable and fully tested. The main concern must be to create a reliable application, providing enough evidence and references that everything will work as expected.

We will start by researching the protocols, specifications and applications used in the current multimedia environment. A Software Requirements Specification will also be produced with some of the basic guidelines, which aims at creating a system that works the way that was originally designed. We will analyse the users perspective to acquire all their basic needs, and identify the administration’s necessities in order to create a tool able to provide total access and control.

The major foreseen problem concerns the time needed for each task. A complete Videoon- Demand system requests background knowledge in multiple domains, and sufficient time to develop each part of the system. During each task, the right tool needs to be chosen, otherwise precious time will be spent trying to figure out where things went wrong.