EasyCodecInstallation

Differences between revisions 12 and 13
Revision 12 as of 2006-06-19 12:59:07
Size: 5604
Editor: ALagny-109-1-2-23
Comment:
Revision 13 as of 2006-06-19 14:17:08
Size: 5747
Editor: ddsl-66-161-158-74
Comment: Comment in regard to what should be done for non-admin users
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
 - The user should ''at least'' be informed that he will need to "contact his administrator" to install additional codecs, no? -- ChrisWagner

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 behave as normal and display an error (not launch the assistant).

  • - The user should at least be informed that he will need to "contact his administrator" to install additional codecs, no? -- ChrisWagner

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.

Guadalinex includes a program called hermes which uses dbus to request installation of software. We may be able to reuse this code.

Outstanding issues

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 a separate spec (marked as a dependency of this one).

We must examine hermes from Guadalinex and determine whether it will meet our needs. There was an older Ubuntu spec which described a very similar idea, but we can't find it just now.

Suggestions from VideoPlaybackRoadmap

ATM, when you try to play an unhandled video with totem, it tells you that he cannot found the corresponding plugin. What I suggest he must do is :

- Tell you what format you are trying to view and what plugin you need. - If available with apt-get, it must suggest "Install this plugin now", so you can install the corresponding plugin in one click. - If not available via apt-get for known issues (patents), it must explain why it is not avalaible and offer a "click here to know more" that send you to a page on this wiki (or on the website), telling you how to install w32codecs, libdvdcss, ... (it can perhaps download and install it automatically after asking you if you are in a country with software patents)

  • The web (or wiki) page is fine for me IF AND ONLY IF this solution implicates an easy localization & translation of the installation instructions. IMHO, this solution is not a solution if the non-English user needs to read English instructions about installing weird things like w32codecs, libdvdcss... -- RicardoPérezLópez

Another way is to have a standalone application that manage gstreamer plugins

- What about developing "dummy" plugins which somehow trigger the display of a message explaining the problem? It could be possible to have fake libraries which either play beck an audio clip or video clip (these things are either decoding audio, video, or both) with directions as to what the problem is, and the individual plugin packages could simply obsolete the dummy plugins / libraries... It seems reasonable to assume that the user will have sound support if he's trying to play back a sound file, and video support if he's trying to play back a video file.

  • This would cause some fairly large issues with many GStreamer-based applications that do more than simple playback. It would (for example) confuse music players that require users to "import" tracks before they can be played. -- JamesLivingston

also see DesktopTeam/CommonInstallHook --SamTygier


CategorySpec

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