grilo: enhancing the multimedia experience in meego (meego conference san francisco 2011)

Post on 18-May-2015

161 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. Session Abstract: 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.

TRANSCRIPT

Iago Toral <itoral@igalia.com>, Igalia

- Grilo -Enhancing the multimedia experience in

MeeGo

2

Index● Challenges of media content integration● Overview of Grilo● Demo● Developing media apps with Grilo● Grilo in MeeGo

3

Many content providers

4

Many multimedia devices

5

What do we want to achieve?● Provide access to media content

● Integrate content from various sources.● Consider both local and remote providers.● Gather metadata about the media content.

6

What do we want to achieve?● Consistent user experience

● Users care about the content, not the provider.● The user experience should not vary

depending on the provider delivering the content.

7

What do we want to achieve?● Scalability

● Many media providers, more will come.● Supporting new media providers needs work

and maintenance.● We want the capacity to support new

providers fast, with little work and in a consistent way.

8

What do we want to achieve?● Reduce development and maintenance

● The more services supported the more maintenance work is needed.

● As media providers grow in number, independent developers won't be able to support and maintain individual solutions.

9

What's happening today?● In-house solutions developed from scratch.● Developers dealing with lots of APIs,

protocols and technologies.● Slow and expensive development process.● Not scalable, expensive maintenance.

10

What can we do about this?● New problem, old solution.● We need software platforms, like MeeGo,

to provide developers with proper support for this new problem.● Just as platforms provide proper support for

media playback and media formats.

11

What can we do about this?● By doing so we get (I):

● Enable collaboration.● Reduce complexity.● Cut down development time and costs.● Ease achievement of consistent solutions.● Scalability.

12

What can we do about this?● By doing so we get (II):

● Reliability.● Community support.

13

Introducing Grilo● Platform-level solution.

● Bridge between apps and media providers.● LGPL.

● Single API for accessing media content.● Decouple app code from media providers.● Transparency for developers and users.

14

ApplicationApplicationApplication

Grilo Framework API

YouTube Jamendo UPnP Tracker Podcasts ...

libgupnplibtrackerlibxml libsoup libgdata

YouTube Jamendo Local Storage

UPnPServer

PodcastProvider

Application space

Platform space

Support libraries

Media & metadata providers

...

...

15

Demo

16

Developing Media SolutionsWith Grilo

- A Quick Walkthrough -

17

Use Case:

Generic Media Search

18

Grilo in MeeGo● Grilo fills a technological gap in modern

platforms.● Makes the platform more appealing to

media developers.● Developing media solutions in MeeGo would

be faster and more efficient.

19

Grilo in MeeGo● Grilo is based on GLib, which is already

part of the platform.● Developing MeeGo applications with Grilo

should be straight forward.● Example: media explorer for MeeGo Netbook.

20

Grilo in MeeGo● Qt bindings can be implemented if the

MeeGo community is interested in Grilo.● MeeGo specific plugins could also be

developed.

21

Grilo in MeeGo● MeeGo targets various kinds of devices:

Handset, Set-Top-Box / Smart TV, In-Vehicle Infotainment, Netbook, ...

● Grilo can be a useful for media developers targeting any of these devices.

22

Questions?Wiki: http://live.gnome.org/Grilo

Git repositories:

- git://git.gnome.org/grilo

- git://git.gnome.org/grilo-plugins

IRC: #grilo @ GIMPNet

Mailing list: grilo-list@gnome.org

Bugzilla: http://bugzilla.gnome.org

Come and learn more about Grilo at Igalia's

booth!

top related