Grilo is a framework focused on making media discovery and browsing easy for application developers.
More precisely, Grilo provides:
- A single, high-level API that abstracts the differences among various media content providers, allowing application developers to integrate content from various services and sources easily.
- A collection of plugins for accessing content from various media providers. Developers can share efforts and code by writing plugins for the framework that are application agnostic.
- A flexible API that allows plugin developers to write plugins of various kinds.
At this moment, Grilo has plugins supporting various services, including:
- Apple trailers
- Last.FM album art
- ...and more
Grilo is free software, licensed under the LGPL.
- Less work on the application side
- Plugin development happens in the framework, application developers can focus on making good user interfaces.
- Code reuse
- There are several media players which allow users to access media content from various services, but their solutions are application-specific and cannot be reused in other contexts or projects. Grilo provides a central point where all these developers can cooperate, share, reuse and improve one code base, instead of doing all the work from scratch on their own.
- Quick learning curve
In order to support multiple media content providers developers must learn each particular API and also all the technologies and protocols involved (YouTube, Jamendo, Tracker, UPnP, etc.). This is a significant effort, that involves a lot of learning. Grilo makes all this a lot easier for application developers, you only have to learn one API, the framework API, and you will get access to all these services through plugins.
- There are a lot of media content providers available already, and more will come! There is a limit to what individual developers can support and maintain on their own. Enabling collaboration among all interested developers is the only way to make the situation scale to support more and more services in the future.
Dec 20, 2015: Grilo-Plugins 0.2.17 released
Dec 19, 2015: Grilo 0.2.15 released
Sep 24, 2015: Grilo-Plugins 0.2.16 released
Sep 09, 2015: Grilo 0.2.14 released
Feb 18, 2015: Grilo-Plugins 0.2.14 released
Feb 17, 2015: Grilo 0.2.12 released
Aug 25, 2014: Grilo-Plugins 0.2.13 released
Aug 24, 2014: Grilo 0.2.11 released
Feb 11, 2014: Grilo-Plugins 0.2.10 released
Feb 10, 2014: Grilo 0.2.8 released
Sep 17, 2013: Grilo 0.2.7 released
Aug 25, 2013: Grilo-Plugins 0.2.9 released
May 25, 2013: Grilo-Plugins 0.2.8 released
Dec 11, 2012: Grilo-Plugins 0.2.5 released
March 13, 2010: Grilo and Grilo-Plugins 0.1.4 released
March 1, 2010: Grilo and Grilo-Plugins 0.1.3 released
February 21, 2010: Grilo and Grilo-Plugins 0.1.2 released
Check out our Planned Features if you are interested in our ideas for the future of Grilo or if you want to contribute but are looking for a list of specific tasks.
Also, take a look at the minutes of BoF in GUADEC 2012.
Grilo: Integrating Multimedia Content in Your Application. An article introducing the Grilo project and the reasons that led the developers to its conception as well as its role in the GNOME project.
An Early Expedition with Media Explorer on Linux. An article discussing media-explorer, a media center application developed by Intel and powered by Grilo.
Online Grilo documentation can be found here.
For reporting errors, enhancements or improvements, use:
The following distros provide packages for Grilo:
There is a PPA containing the packages for some Ubuntu distributions:
deb http://ppa.launchpad.net/grilo-team/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main deb-src http://ppa.launchpad.net/grilo-team/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main
There is also a OpenSUSE Build Service (OBS) containing RPM packages for different distributions:
If you are interested in packaging Grilo for your distro, let us know!
Latest release tarballs can be found at gnome.org.
To make new releases, follow these steps.
The GNOME project is kindly hosting the repositories for Grilo:
You can check out the current development snapshot using
git clone git://git.gnome.org/grilo git clone ssh://USERNAME@git.gnome.org/git/grilo
git clone git://git.gnome.org/grilo-plugins git clone ssh://USERNAME@git.gnome.org/git/grilo-plugins
Grilo in Totem
If you are interested in the code, this is the repo of the old version (will only work with very old versions of Grilo):
At the moment we are working with the Totem developers to have a Grilo plugin for Totem integrated upstream. Progress is being tracked here:
Grilo feeding Rygel
grilo-mediaserver2, implements the D-BUS interface MediaServerSpec, for exposing media content over D-Bus. Rygel can consume content using this interface. Basically, it means that by using grilo-mediaserver2 and Rygel you can expose media content provided by Grilo on the UPnP realm.
If you are interested in the source code, check out:
Other projects related to Grilo