SoftwareSpecs

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This specification describes the Ubuntu Media Center Software (aka UMC).

This effort, which is supported by the Ubuntu Media Center Team, will try to bring the Ubuntu paradigm (easy to install / use / update, beautiful artwork, feature rich and complete, ...) to this area.

It will only address the software part, that is to say an Ubuntu'ished software installable on any Ubuntu based system. Another Spec will address the creation of a distribution, like GeexBox, but based upon Ubuntu for the system and the present specification for the software.

This specification also supersed the UMC previous attempt done by Sébastien Gripon. This one is still kept for the comments.

Rationale

One of the crucial stakes of future computing is its ability to bring the convergence for all media available, in a simple yet powerful way for home users.

Ubuntu currently lacks a Media Center in its "offering". Such a software allows to easily use a multimedia PC, generally remote controlled, to display various content, while being sat on a sofa.

The features are:

  • easy to install / use / update,
  • nice graphical effects (through options or autodetection of the hardware capabilities) and artwork. The expected result strangely resemble to Apple's Front Row and Time Machine

  • automatic detection of hardware, and features enabling / disabling (ie if there is no TV tuner, there is no need for a TV entry in the menu),
  • out-of-the-box support for the more possible remotes,

  • bundled support for numerous A/V codecs (including an option for proprietary and commercials codecs, like Fluendo's ?),

  • TV watching, including time shifting and program scheduling / recording (PVR), and EPG support,

  • movies, music and pictures (from HDD, DVD, or network sources) display,
  • Radio, News (RSS...), Weather,
  • Video / Music on Demand,
  • Video conferencing and Instant Messaging,
  • easy burning to CD / DVD of the recorded programs (PVR),
  • geographic localization of the best data sources such as EPG, RSS feeds, ...
  • TV show auto indexing from all sources
  • Support of X10 technology (house control)
  • Remote access
  • "Follow Me" Media, each family member's media follows him/her through the house (from LinuxMCE)

  • <... to be completed ...>

All of this possibly completed by a "Powered by Ubuntu" remote control, or even a complete UMC preloaded box.

This is an essential step for Ubuntu to be present in every house.

Use cases

  • Mark has a laptop with media center features, such as a DVD drive, a TV tuner, a and a remote. He is using this laptop primarily as a desktop system with Ubuntu installed. But he also want to use it as a media center with a remote, when taking a rest from development in the evening.
  • Michael has bought a new PC to replace his old Ubuntu box. Since he doesn't want to trash it, he is thinking about switching it to Ubuntu Media Center, and make it his PVR.
  • Other use cases either belongs to the Distribution side (installation on dedicated systems) or to UMC Box (pre loaded system including hardware and UMC software).

  • TOM has installed a command line system. He does have a tv connected to his computer. He presses a define key that launches a LMC gui on his TV. He browses his media library. using a joystick connected to his command line system and then launch a webtv.
  • Nadia takes her remote controller, press a define key that launches a LMC gui on her computer’ screen. She navigates through her media database and launch a film.
  • Math is blind. He just came home from work. He says a defined keyword and gets a vocal answer.
    • Math : LMC
    • Computer : LMC activated
    • Math : Play Beethoven ... all
    • Computer : Any order ?
    • Math : Random
    • Computer : Starting
      • The music starts playing with the default sound volume. 30 seconds after, after no recognized vocal input, computer listener is deactivated. Math has set an option so that the computer tells him.
    • Computer : deactivating listener

Scope

Design

UMC will be based upon the Elisa media center software.

Though it is not yet complete, it is quickly evolving and very promising. Moreover, it best fits our needs, as show in the State of the Art document, and the UMC and Elisa teams are now working closely.

The development will follow these steps:

Implementation

The implementation milestones are under definition...

Milestone 1 (possible target: Feisty+1)

Milestone 2 (possible target: ?)

  • Missing plugins (for features) creation,

    <...>

Code

Data preservation and migration

Unresolved issues

  • easy installation and update of proprietary and most of all commercials codecs (like Fluendo's). Such things are needed to enable a wide range of supported media, and also for legal DVD CSS playback.

    A mini spec has been initialized to track this point.

BoF agenda and discussion

  • OuattaraAziz : Some of the essential question consists in knowing the model of development we will use. Most of the State of Art MCs are in a plug in model. Then between thos model, there is some that specify a way to develop plug in and others that wrap existing apps into plug in. Anyway there is most of the time a kernel which is delegated for some jobs (to define). That leads to one important question : what is the core job of a Media Center ?

    • OuattaraAziz : To me, the core job of a Media Center, more than playing media, is to manage them. The Media Center should know what media I have on my computer or connected to my computer. It can then propose me a set of operations concerning that media library: search inside, sort them, create a playlist ...

      Secondly it can propose me to view a media. which leads to a notion of player. Do people really care which player is used ? People might just want their media to be well played. So what they usually do is to select, for a certain media, the player they know that can manage it. A Media Center should save them that work, and choose the player itself. So the Media Center can be also seen like a player manager.

      A Media Center should be controllable by anything that can have a mapping to its control Interface ( Remote Control, Joystick, Voice Recognition ... ). The effects on those control actions is visible on the UI. Actually, most of the time, the controlers are bind to the UI, but that is a limit. Every time we would want to implement a support for a new controler, we'll have to modify the UI code. Why not defining a controler Interface that the UI can use, and that each controler would implement ? That'll result in a separation between UI and Controler. And the core would manage the communication between the two type of component. The same principle can be applied to players. So there comes another core job of a Media Center, make the communication between different components (UI, Players, Controlers ...).

UbuntuMediaCenter

Media_Center_Artwork

State Of Art

Ubuntu Media Center distribution

Ubuntu Media Center software

Media_Center_kernel

Media Center UI Specs

Ubuntu Media Center Players modules Specs

Ubuntu Media Center Controller modules Specs

UbuntuMediaCenterTeam


CategorySpec UbuntuMediaCenterTeam CategoryUbuntuMediaCenter

MediaCenter/SoftwareSpecs (last edited 2008-08-06 16:59:57 by localhost)