Contents
Grilo
Core |
Overview
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:
YouTube
- Jamendo
- Flickr
- Vimeo
- Apple trailers
- Podcasts
- UPnP/DLNA
- Last.FM album art
- ...and more
Grilo is free software, licensed under the LGPL.
Advantages
- 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.
- Scalability
- 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.
News
- Jul 17, 2019: Grilio 0.3.9
- Jul 15, 2019: Grilio 0.3.8
- Nov 19, 2018: Grilio 0.3.7
- Jul 26, 2018: Grilio 0.3.6
- Jul 17, 2018: Grilio 0.3.5
- Aug 24, 2017: Grilio 0.3.4
Feb 14, 2017: Grilo 0.3.3 and Grilo-Plugins 0.3.4 released
Sep 10, 2016: Grilo 0.3.2 and Grilo-Plugins 0.3.3 released
Jun 16, 2016: Grilo 0.3.1 released and Grilo-Plugins 0.3.2 released
Dec 20, 2015: Grilo-Plugins 0.2.17 released
Dec 19, 2015: Grilo 0.2.15 released
Dec 16, 2015: Grilo 0.3.0 and Grilo-Plugins 0.3.0 released
Sep 24, 2015: Grilo-Plugins 0.2.16 released
Sep 09, 2015: Grilo 0.2.14 released
Sep 07, 2015: Grilo 0.2.13 and Grilo-Plugins 0.2.15 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
Mar 19, 2014: Grilo 0.2.10 and Grilo-Plugins 0.2.12 released
Feb 18, 2014: Grilo 0.2.9 and Grilo-Plugins 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
May 16, 2013: Grilo 0.2.6 and Grilo-Plugins 0.2.7 released
Mar 19, 2013: Grilo 0.2.5 and Grilo-Plugins 0.2.6 released
Dec 11, 2012: Grilo-Plugins 0.2.5 released
Nov 30, 2012: Grilo and Grilo-Plugins 0.2.4 released
Nov 08, 2012: Grilo and Grilo-Plugins 0.2.3 released
Oct 05, 2012: Grilo and Grilo-Plugins 0.2.2 released
Oct 03, 2012: Grilo and Grilo-Plugins 0.2.1 released
Aug 13, 2012: Grilo and Grilo-Plugins 0.2.0 released
Aug 10, 2012: Grilo and Grilo-Plugins 0.1.20 released
May 24, 2012: Grilo and Grilo-Plugins 0.1.19 released
Dec 09, 2011: Grilo and Grilo-Plugins 0.1.18 released
Sep 05, 2011: Grilo and Grilo-Plugins 0.1.17 released
Jul 08, 2011: Grilo and Grilo-Plugins 0.1.16 released
Apr 20, 2011: Grilo and Grilo-Plugins 0.1.15 released
Apr 13, 2011: Grilo and Grilo-Plugins 0.1.14 released
Apr 06, 2011: Grilo and Grilo-Plugins 0.1.13 released
Mar 30, 2011: Grilo and Grilo-Plugins 0.1.12 released
Mar 18, 2011: Grilo and Grilo-Plugins 0.1.11 released
Mar 04, 2011: Grilo and Grilo-Plugins 0.1.10 released
Feb 10, 2011: Grilo and Grilo-Plugins 0.1.9 released
Jan 27, 2011: Grilo and Grilo-Plugins 0.1.8 released
Jan 10, 2011: Grilo and Grilo-Plugins 0.1.7 released
Aug 26, 2010: Grilo and Grilo-Plugins 0.1.6 released
May 8, 2010: Grilo and Grilo-Plugins 0.1.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
Future Ideas
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.
Articles
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.
Videos
Grilo: Enhancing the multimedia experience in MeeGo (MeeGo Conference San Francisco 2011) (video) (slides)
Grilo: Feeding applications with multimedia content (GUADEC 2010) (video) (slides)
Grilo: Integrating Multimedia Content in Applications (ELCE 2010) (video) (slides)
Documentation
Online Grilo documentation can be found here.
Bugzilla
For reporting errors, enhancements or improvements, use:
https://gitlab.gnome.org/GNOME/grilo/issues
Download
Distros
The following distros provide packages for Grilo:
- Debian
Fedora >15
- Gentoo
- Ubuntu
There is a PPA containing the packages for some Ubuntu distributions:
https://launchpad.net/~grilo-team/+archive/ppa
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:
https://build.opensuse.org/project/show?project=home:jsuarezr:Grilo
If you are interested in packaging Grilo for your distro, let us know!
Release Tarballs
Latest release tarballs can be found at gnome.org.
https://download.gnome.org/sources/grilo/0.2/
https://download.gnome.org/sources/grilo-plugins/0.2/
To make new releases, follow these steps.
Git repository
The GNOME project is kindly hosting the repositories for Grilo:
http://git.gnome.org/browse/grilo
http://git.gnome.org/browse/grilo-plugins
You can check out the current development snapshot using
Grilo Framework
git clone git://git.gnome.org/grilo git clone ssh://USERNAME@git.gnome.org/git/grilo
Grilo Plugins
git clone git://git.gnome.org/grilo-plugins git clone ssh://USERNAME@git.gnome.org/git/grilo-plugins
There is also an updated copy in Gitorious and in Github.
Side projects
Grilo in Totem
As a proof of concept, Iago cooked a Totem plugin based on grilo. You can see a screencast (OGV) about it.
If you are interested in the code, this is the repo of the old version (will only work with very old versions of Grilo):
http://gitorious.org/itoral-totem-grilo
Another version of the plugin based on the GNOME MediaServerSpec was developed by Juan Suarez. You can find the code here:
http://gitorious.org/mediaserver2-plugins/totem-mediaserver2
At the moment we are working with the Totem developers to have a Grilo plugin for Totem integrated upstream. Progress is being tracked here:
https://bugzilla.gnome.org/show_bug.cgi?id=628648
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:
http://git.gnome.org/browse/grilo-mediaserver2
git://git.gnome.org/grilo-mediaserver2 ssh://USERNAME@git.gnome.org/git/grilo-mediaserver2
Other projects related to Grilo
Follow Grilo
Mailing list: http://mail.gnome.org/mailman/listinfo/grilo-list
- IRC: #grilo on GIMPNet