Graduation project

Video Internet Pipeline

V.I.P. (Video Internet Pipeline)

For my graduation project, I was an intern at a company called Memoria Media and worked on the V.I.P. (video internet pipeline) project as project leader, architect and developer.

The V.I.P. framework is a framework that enables custom build logic pipelines to run on multiple computers. The framework first forms a cloud with the provided computers, after which it will distribute individual nodes from a provided pipeline on it. The distribution will be done depending on the logic that the nodes execute, and the hardware running on the individual computers in the cloud.

The main goal of the V.I.P. framework is to make digital video processing easier to distribute over multiple computers. Of course it can also be used for other purposes.

Introduction

Using a self-developed camera system, Memoria Media makes movies of funerals. These movies are edited on the spot and are streamed over the internet. After five years of using this solution, the company wants to replace this hardware system with software.

In 2010, Memoria Media already developed a prototype for this software. However, this did not conform to the functionality and the stability that was desired. Besides this, the prototype uses a library which had to be replaced by a cheaper alternative. It was the graduation assignment to research what had to be done to develop a software system that would conform to the functionality and stability norm, and which library would be best to use as a replacement for the original. After this research, a new software system had to be designed and implemented. This software system should then eventually replace the old prototype.

The biggest part of the graduation period was spend researching the best options to realize the project. This research included techniques such as DirectShow and patterns as cloud computing and the pipeline architecture. The conclusion that could be drawn from these researches was that the software system could best be distributed on multiple computers that would share their computer power to complete tasks.

To realize this, a framework was designed. Doing this, the research was used and it was designed to be reusable and extensible. For this, the “plug-in” pattern was applied multiple times. The name of the framework is V.I.P. (Video Internet Pipeline).

Eventually, an implementation of the V.I.P. framework was made. Because the research was bigger and more important than initially planned, the priority of this implementation became lower. Because of this the complete implementation of the project could not be realized in the time that was reserved for the graduation period. This made it necessary to transfer the project to the company, so they can finish it.

  Name systeem (Digital video) library
Old Old prototype Medialooks
New V.I.P Framework DirectShow

How the old prototype and library were replaced by the V.I.P. framework is made visible in the table.

What was eventually implemented was a system which could form a cloud that was able to support a pipeline. This system is able to manipulate data in a provided pattern (the pipeline) and can be controlled over a network or over the internet.

Technical details

For more technical details about the ins and outs of this project, you can download my thesis:

It is also officialy released on the HBO-Kennisbank.

V.I.P. Presentation

V.I.P. local demonstration

V.I.P. multi-computer demonstration

V.I.P. fail tolerance demonstration