EasyCodecInstallation

Differences between revisions 1 and 19 (spanning 18 versions)
Revision 1 as of 2005-11-02 20:29:21
Size: 1692
Editor: 209
Comment: new page
Revision 19 as of 2006-06-22 16:12:06
Size: 4273
Editor: ALagny-109-1-2-101
Comment: review notes
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo  * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/easy-codec-installation
Line 10: Line 10:
At the moment the messages about not supported formats have no indication on what codecs/packages you need to installation to be able to read the corresponding file. It would be nice to make easy for user to install the corresponding package.

== Rationale ==

The current message is not useful for users, we should make it easy to play their files rather trying to explain what they are trying to do doesn't work on a fresh installation.
Messages about unsupported gstreamer formats are currently unhelpful. This utility assists users in installing the packages needed to use those formats.
Line 18: Line 14:
 * Frederic used to use window. He has a usbkey player with mp3 files on it. He plugs it on his new Ubuntu installation, a nautilus window is opened on it which is great. He doubles clicks on one of the file as usually and get this weird window saying that totem doesn't know about "mp3". He wonders why is that happening and what he has to do to play his files.
 * Vincent who tried to play some movie trailers from the Apple website just got a window with no movie and a message saying that this format is not supported. He asks what to do to his friend Sebastien who installed the required package an they watched the videos. It should be easy to get that working without having to ask to somebody else what do to.
 * Frederic is a new Linux user on DSL. He attempts to open an mp3 file through a gstreamer application and receives an assistant to help him download and install the needed codecs.
 * Vincent, also new to Linux, is not on the internet. He attempts to open a QuickTime file and is given a different assistant with instructions on how to download the files he needs from an official Ubuntu mirror, and an offer to locate file if he already has a copy handy.
Line 23: Line 19:
 * rhythmbox
 * sound-juicer
 * totem
All gstreamer applications
Line 29: Line 23:
This assistant appears on an as-needed basis, and may also be presented by an application's first run if all supported plugins are not installed. That is, when the player encounters a codec which it is unable to play without additional packages, it will display the assistant to the user. The assistant will include a database mapping codecs to packages, so that it can find an appropriate package to install if one is available. If a package is known to provide support for a codec, but the package is not available from any known source, it should be displayed but grayed out.

If the user is not a member of the admin group, and is thus unable to install packages, the program should instead display a message indicating that attention is needed from an administrator in order to install the necessary software.

''This application requires additional plugins to use this file.''

[''Certain countries may have laws making the installation of these plugins illegal. _link_ may help in determining what steps, if any, must be taken by you to legally install these plugins in your jurisdiction.'']

|| Plugin || Install ||
|| Frobinator Audio || [checkbox] ||
|| Frobinator Video || [checkbox] ||

''[Install] [Do nothing]''

It should not be necessary to restart the application after the plugin has been installed.
Line 30: Line 40:

We must compile a database of the codecs which are supported by each package. This list is believed to be short enough that we may compile the database by hand in order to ship it with the package. It may also be feasible to automatically generate it based on the gstreamer registry.
Line 33: Line 45:
=== Data preservation and migration === There is some work being done on this upstream for Rhythmbox: See [http://bugzilla.gnome.org/show_bug.cgi?id=338308 Gnome bug 338308]. This is very similar to our approach, but we would prefer to implement it directly in gstreamer, in order to support other applications as well.

Upstream bug about that: http://bugzilla.gnome.org/show_bug.cgi?id=161922, we can use it to discuss with upstream

Guadalinex includes a program called hermes which uses dbus to request installation of software. If we use hermes for other purposes, this program will use its facility for installing packages. Otherwise, it can simply call out to synaptic.

In order for most of the interesting packages to be available, multiverse must be enabled. The matter of arranging for these packages to be installed, regardless of the apt configuration, will be addressed in [http://launchpad.net/distros/ubuntu/+spec/enabling-additional-components Enabling additional components].
Line 37: Line 55:
== BoF agenda and discussion ==
Kubuntu doesn't currently use gstreamer for its media players, so it won't benefit from this until that changes. Apparently, the issue is that they need porting to gstreamer 0.10.

== Suggestions from VideoPlaybackRoadmap ==

also see DesktopTeam/CommonInstallHook --SamTygier

== Review feedback ==

This does not parse:
 * `See [WWW] Gnome bug 338308. This is very similar to our approach, but we would prefer to implement it directly in gstreamer, in order to support other applications as well.`
 Do you mean 'prefer to NOT implement it directly...' ? -- RobertCollins

----
CategorySpec

Summary

Messages about unsupported gstreamer formats are currently unhelpful. This utility assists users in installing the packages needed to use those formats.

Use cases

  • Frederic is a new Linux user on DSL. He attempts to open an mp3 file through a gstreamer application and receives an assistant to help him download and install the needed codecs.
  • Vincent, also new to Linux, is not on the internet. He attempts to open a QuickTime file and is given a different assistant with instructions on how to download the files he needs from an official Ubuntu mirror, and an offer to locate file if he already has a copy handy.

Scope

All gstreamer applications

Design

This assistant appears on an as-needed basis, and may also be presented by an application's first run if all supported plugins are not installed. That is, when the player encounters a codec which it is unable to play without additional packages, it will display the assistant to the user. The assistant will include a database mapping codecs to packages, so that it can find an appropriate package to install if one is available. If a package is known to provide support for a codec, but the package is not available from any known source, it should be displayed but grayed out.

If the user is not a member of the admin group, and is thus unable to install packages, the program should instead display a message indicating that attention is needed from an administrator in order to install the necessary software.

This application requires additional plugins to use this file.

[Certain countries may have laws making the installation of these plugins illegal. _link_ may help in determining what steps, if any, must be taken by you to legally install these plugins in your jurisdiction.]

Plugin

Install

Frobinator Audio

[checkbox]

Frobinator Video

[checkbox]

[Install] [Do nothing]

It should not be necessary to restart the application after the plugin has been installed.

Implementation

We must compile a database of the codecs which are supported by each package. This list is believed to be short enough that we may compile the database by hand in order to ship it with the package. It may also be feasible to automatically generate it based on the gstreamer registry.

Code

There is some work being done on this upstream for Rhythmbox: See [http://bugzilla.gnome.org/show_bug.cgi?id=338308 Gnome bug 338308]. This is very similar to our approach, but we would prefer to implement it directly in gstreamer, in order to support other applications as well.

Upstream bug about that: http://bugzilla.gnome.org/show_bug.cgi?id=161922, we can use it to discuss with upstream

Guadalinex includes a program called hermes which uses dbus to request installation of software. If we use hermes for other purposes, this program will use its facility for installing packages. Otherwise, it can simply call out to synaptic.

In order for most of the interesting packages to be available, multiverse must be enabled. The matter of arranging for these packages to be installed, regardless of the apt configuration, will be addressed in [http://launchpad.net/distros/ubuntu/+spec/enabling-additional-components Enabling additional components].

Outstanding issues

Kubuntu doesn't currently use gstreamer for its media players, so it won't benefit from this until that changes. Apparently, the issue is that they need porting to gstreamer 0.10.

Suggestions from VideoPlaybackRoadmap

also see DesktopTeam/CommonInstallHook --SamTygier

Review feedback

This does not parse:

  • See [WWW] Gnome bug 338308. This is very similar to our approach, but we would prefer to implement it directly in gstreamer, in order to support other applications as well. Do you mean 'prefer to NOT implement it directly...' ? -- RobertCollins


CategorySpec

EasyCodecInstallation (last edited 2008-08-06 16:27:02 by localhost)