SoftwareSpecs

Differences between revisions 18 and 27 (spanning 9 versions)
Revision 18 as of 2007-03-12 03:05:11
Size: 6270
Editor: ool-4351bc6d
Comment: Found the talk page, Sorry for the spam
Revision 27 as of 2008-08-06 16:59:57
Size: 10867
Editor: localhost
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; background-repeat: no-repeat; background-position: 98% 0.5ex; margin: 0 0 1em 1em; padding: 0.5em;"><<TableOfContents>>||
Line 7: Line 9:
 * '''Created''': [[Date(2007-02-15T13:12:15Z)]] by ArnaudQuette  * '''Created''': <<Date(2007-02-15T13:12:15Z)>> by ArnaudQuette
Line 10: Line 12:
 * '''Packages affected''':   * '''Packages affected''':
Line 16: Line 18:
This effort, which is supported by the [https://wiki.ubuntu.com/UbuntuMediaCenterTeam 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. This effort, which is supported by the [[https://wiki.ubuntu.com/UbuntuMediaCenterTeam|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.
Line 18: Line 20:
It will only address the software part, that is to say an Ubuntu'ished software installable on any Ubuntu based system. Another [https://wiki.ubuntu.com/MediaCenter/DistroSpecs Spec] will address the creation of a distribution, like [http://www.geexbox.org/ GeexBox], but based upon Ubuntu for the system and the present specification for the software. It will only address the software part, that is to say an Ubuntu'ished software installable on any Ubuntu based system. Another [[https://wiki.ubuntu.com/MediaCenter/DistroSpecs|Spec]] will address the creation of a distribution, like [[http://www.geexbox.org/|GeexBox]], but based upon Ubuntu for the system and the present specification for the software.
Line 20: Line 22:
This specification also supersed the [https://wiki.ubuntu.com/UbuntuMediaCenter UMC previous attempt] done by Sébastien Gripon. This one is still kept for the comments. This specification also supersed the [[https://wiki.ubuntu.com/UbuntuMediaCenter|UMC previous attempt]] done by Sébastien Gripon. This one is still kept for the comments.
Line 30: Line 32:
 * nice graphical effects (through options or autodetection of the hardware capabilities) and artwork. The expected result strangely resemble to Apple's [http://youtube.com/watch?v=nryeEYK7jmA&mode=related&search= Front Row] and [http://www.apple.com/macosx/leopard/timemachine.html Time Machine]  * nice graphical effects (through options or autodetection of the hardware capabilities) and artwork. The expected result strangely resemble to Apple's [[http://youtube.com/watch?v=nryeEYK7jmA&mode=related&search=|Front Row]] and [[http://www.apple.com/macosx/leopard/timemachine.html|Time Machine]]
Line 32: Line 34:
 * out-of-the-box support for the more possible [https://wiki.ubuntu.com/MediaCenter/RemoteSupport remotes],
 * bundled support for numerous A/V codecs (including an option for proprietary and commercials codecs, like [https://shop.fluendo.com/ Fluendo's] ?),
 * TV watching, including time shifting and program scheduling / recording (PVR), and [http://en.wikipedia.org/wiki/Electronic_Program_Guide EPG] support,
 * out-of-the-box support for the more possible [[https://wiki.ubuntu.com/MediaCenter/RemoteSupport|remotes]],
 * bundled support for numerous A/V codecs (including an option for proprietary and commercials codecs, like [[https://shop.fluendo.com/|Fluendo's]] ?),
 * TV watching, including time shifting and program scheduling / recording (PVR), and [[http://en.wikipedia.org/wiki/Electronic_Program_Guide|EPG]] support,
Line 36: Line 38:
 * Radio, News (RSS...), Weather,   * Radio, News (RSS...), Weather,
Line 40: Line 42:
 * localization for the data sources such as EPG, RSS feeds, ...  * 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 [[http://linuxmce.com/|LinuxMCE]])
Line 42: Line 48:
  All of this possibly completed by a "Powered by Ubuntu" [https://wiki.ubuntu.com/MediaCenter/RemoteSupport remote control], or even a [[https://wiki.ubuntu.com/MediaCenter/BoxSpecs complete UMC preloaded box].
Line 45: Line 49:
This is an essential step for Ubuntu to be present in every house. All of this possibly completed by a "Powered by Ubuntu" [[https://wiki.ubuntu.com/MediaCenter/RemoteSupport|remote control]], or even a [[[https://wiki.ubuntu.com/MediaCenter/BoxSpecs|complete UMC preloaded box]].

This is an essential step for Ubuntu to be present in every house.
Line 52: Line 58:
   * Other use cases either belongs to the [https://wiki.ubuntu.com/MediaCenter/DistroSpecs Distribution] side (installation on dedicated systems) or to [https://wiki.ubuntu.com/MediaCenter/BoxSpecs UMC Box] (pre loaded system including hardware and UMC software).
 * Other use cases either belongs to the [[https://wiki.ubuntu.com/MediaCenter/DistroSpecs|Distribution]] side (installation on dedicated systems) or to [[https://wiki.ubuntu.com/MediaCenter/BoxSpecs|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
Line 59: Line 77:
UMC will be developed using an existing media center software([http://www.fluendo.com/elisa/index.php elisa] seems to best meet our needs, though not yet complete). UMC will be based upon the [[http://elisa.fluendo.com/|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 [[https://wiki.ubuntu.com/MediaCenter/StateOfTheArtSpecs|State of the Art]] document, and the UMC and Elisa teams are now working closely.
Line 64: Line 84:
 * [https://wiki.ubuntu.com/MediaCenter/UISpecs Specification and sketching of the User Interface],
 * [https://wiki.ubuntu.com/Media_Center_Artwork Artwork] and ressources (effects plugins, sample media, ...) definition and creation,
 * [[https://core.fluendo.com/elisa/trac/wiki/Rewrite-1/DevelopersDocumentation|Architecture specification]]
 * [
[https://wiki.ubuntu.com/MediaCenter/UISpecs|Specification and sketching of the User Interface]],
 * [[https://wiki.ubuntu.com/Media_Center_Artwork|Artwork]] and ressources (effects plugins, sample media, ...) definition and creation,
Line 77: Line 98:
   * [https://wiki.ubuntu.com/RemoteControls Improved support for Remote Controls] Milestone 1,
   * [https://wiki.ubuntu.com/MediaCenter/CodecSupport Codecs support]
 * [https://wiki.ubuntu.com/MediaCenter/UISpecs Specification and sketching of the User Interface],
 * [https://wiki.ubuntu.com/Media_Center_Artwork Artwork] and ressources (effects plugins, sample media, ...) definition and creation,
   * [[https://wiki.ubuntu.com/RemoteControls|Improved support for Remote Controls]] Milestone 1,
   * [[https://wiki.ubuntu.com/MediaCenter/CodecSupport|Codecs support]]
 * Specification and implementation of the [[https://core.fluendo.com/elisa/trac/wiki/Rewrite-1/DevelopersDocumentation|Software Architecture]],
 * [
[https://wiki.ubuntu.com/MediaCenter/UISpecs|Specification and sketching of the User Interface]],
 * [[https://wiki.ubuntu.com/Media_Center_Artwork|Artwork]] and ressources (effects plugins, sample media, ...) definition and creation,
Line 95: Line 117:
 * easy installation and update of proprietary and most of all commercials codecs (like [https://shop.fluendo.com/ Fluendo's]). Such things are needed to enable a wide range of supported media, and also for legal DVD CSS playback.  * easy installation and update of proprietary and most of all commercials codecs (like [[https://shop.fluendo.com/|Fluendo's]]). Such things are needed to enable a wide range of supported media, and also for legal DVD CSS playback.
Line 97: Line 119:
 A [https://wiki.ubuntu.com/MediaCenter/CodecSupport mini spec] has been initialized to track this point.  A [[https://wiki.ubuntu.com/MediaCenter/CodecSupport|mini spec]] has been initialized to track this point.
Line 100: Line 122:
 * 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 ...).

== Related Specs Links ==

UbuntuMediaCenter

[[Media_Center_Artwork]]

[[https://wiki.ubuntu.com/MediaCenter/StateOfTheArtSpecs|State Of Art]]

[[https://wiki.ubuntu.com/MediaCenter/DistroSpecs|Ubuntu Media Center distribution]]

[[https://wiki.ubuntu.com/MediaCenter/SoftwareSpecs|Ubuntu Media Center software]]

[[Media_Center_kernel]]

[[https://wiki.ubuntu.com/MediaCenter/UISpecs|Media Center UI Specs]]

[[https://wiki.ubuntu.com/MediaCenter/PlayerSpecs|Ubuntu Media Center Players modules Specs ]]

[[https://wiki.ubuntu.com/MediaCenter/ControllerSpecs|Ubuntu Media Center Controller modules Specs ]]

UbuntuMediaCenterTeam

Line 101: Line 153:
CategorySpec CategorySpec UbuntuMediaCenterTeam CategoryUbuntuMediaCenter

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)