Be the first to like this
By Iago Toral Quiroga.
Users all over the world consume massive amounts of media content every day: enjoying personal media collections, watching videos on Youtube, listening to music from services like Jamendo, Shoutcast or Last FM, or being up-to-date by subscribing to podcast services are just a few examples of this trend. Unfortunately, existing platforms don't provide developers with proper tools to manage this situation and application developers interested in integrating multimedia content from these services are in for a lot of hard work: learning about the different APIs, protocols and technologies involved and coding application specific solutions for each individual service. Grilo is a new project which aim is to provide a solution for this problem, providing a framework capable of abstracting the differences among media providers and hiding them from application developers, easing remarkably the effort required on the application side to integrate media content from various sources.
Grilo was born with the aim of being a generic solution for the problem of media integration, filling a technological gap present in modern platforms.
Traditionally, multimedia was focused mostly on providing solutions for application developers to deal with the various media formats and codecs available: ogg, mp3, avi, matroska, theora, vorbis, mpeg, h264, etc. That was the main target behind projects like the GStreamer framework.
However, due to the growth of the Internet and technological progress in general, a new problem is rising: there are lots of different media content providers and people all over the world are regular users of many of them. This changes the way application developers face the development of multimedia software today, it is all about content integration: youtube, jamendo, flickr, podcasts, internet radio,... users want all of this, well integrated and exposed in an homogeneous way, so they can interact and consume all this content seamlessly, enjoying the same user experience no matter the service they consume the content from and the device they use to consume it: personal computers, smartphones, connected TVs, Set-Top-Boxes, etc.
Unfortunately, modern platforms do not provide tools or technology aimed at solving this issue. As a result, the whole media integration problem must be solved by application developers on their own, who must design, code and maintain application specific solutions for each individual media provider. This is the situation of many well known open source media applications like Totem, Rhythmbox, Amarok, XBMC and many others.
The Grilo project addresses this problem by exposing a single, high level API for application developers that hides the differences among all these different media providers.
Using Grilo application developers don't need to worry about how the media providers work and they can code generic solutions once, that work for all of them.