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

22
Iago Toral <[email protected]>, Igalia - Grilo - Enhancing the multimedia experience in MeeGo

Upload: igalia

Post on 18-May-2015

161 views

Category:

Technology


2 download

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

Page 1: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

Iago Toral <[email protected]>, Igalia

- Grilo -Enhancing the multimedia experience in

MeeGo

Page 2: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

2

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

Page 3: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

3

Many content providers

Page 4: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

4

Many multimedia devices

Page 5: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 6: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 7: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 8: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 9: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 10: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 11: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 12: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

12

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

● Reliability.● Community support.

Page 13: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 14: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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

...

...

Page 15: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

15

Demo

Page 16: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

16

Developing Media SolutionsWith Grilo

- A Quick Walkthrough -

Page 17: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

17

Use Case:

Generic Media Search

Page 18: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 19: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 20: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

20

Grilo in MeeGo● Qt bindings can be implemented if the

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

developed.

Page 21: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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.

Page 22: Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011)

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: [email protected]

Bugzilla: http://bugzilla.gnome.org

Come and learn more about Grilo at Igalia's

booth!