MediaPlayer

Differences between revisions 6 and 7
Revision 6 as of 2007-08-23 16:54:52
Size: 6796
Editor: jffwpr01
Comment:
Revision 7 as of 2007-08-23 17:26:44
Size: 7047
Editor: jffwpr04
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
1. Content Management on the PC  1. Content Management on the PC
Line 29: Line 29:
There are a few choices for music management on the PC (Windows Media Player, ITunes, Banshee). It might be nice to use these and write a plugin for sync'ing with the media viewer. For movie and photo management often the filesystem is used directly. Eventually a new "MID Content Manager" could be written.  (Currently not planned)
 
There are a few choices for music management on the PC (Windows Media Player, ITunes, Banshee). It might be nice to use these and write a plugin for sync'ing with the media viewer. For movie and photo management, users often use the filesystem directly. Eventually a new "MID Content Manager" application could be written.
Line 31: Line 32:
2. Getting content to the device  1.#2 Getting content to the device
Line 33: Line 34:
 2.1 Syncing
 * Auto-sync with an application that manages content on the PC. This involves writing a new plugin or application that pushes the content from one of the following applications to the MID when the MID is plugged in via USB.
   * Only sync down (all content is pushed to MID. Any MID content changes are lost
   * Sync in both directions: content is merged on PC and MID. Conflicts are resolved by asking user for preference.
   * Auto-sync with a file directory on the PC (just file system). Application registered when MID is plugged in to USB to auto-sync contents.
 * Manual-sync: Plug MID into USB port. MID file system exposed to PC. User drags/drops files from PC to the MID file system.
  2.1 Syncing
   * Auto-sync with an application that manages content on the PC. This involves writing a new plugin or application that pushes the content from one of the following applications to the MID when the MID is plugged in via USB.
    * Only sync down (all content is pushed to MID. Any MID content changes are lost
  * Sync in both directions: content is merged on PC and MID. Conflicts are resolved by asking user for preference.
  * Auto-sync with a file directory on the PC (just file system). Application registered when MID is plugged in to USB to auto-sync contents.
   * Manual-sync: Plug MID into USB port. MID file system exposed to PC. User drags/drops files from PC to the MID file system.
Line 40: Line 41:
 2.2 Sharing
 * Auto-detect other MIDs in area via bluetooth. Connect. Display shared content from each MID on other MID. User can download content to their MID.
 * Receive email with content. Save content to MID filesystem.
  2.2 Sharing
   * Auto-detect other MIDs in area via bluetooth. Connect. Display shared content from each MID on other MID. User can download content to their MID.
   * Receive email with content. Save content to MID filesystem.
Line 44: Line 45:
 2.3 Manual
 * Download content from internet via the browser
 * Download content from wired or wireless connection to remote filesystem over network
  2.3 Manual
   * On MID, download content from internet via the browser
   * On MID, download/upload content from wired or wireless connection to remote filesystem over network
   * On PC, connect MID via USB, see MID filesystem, add/remove content using file explorer.
Line 48: Line 50:
3. Content Management on MID

User can:
 * View content name, artist, album, length, genre, music type, rating, times played, last played date/time
 * View content as list
 * View content as thumbnails (album art for music, cover-art for movies or frame from movie, small image for photos)
 * View content as resizable thumbnails
 * View 3D-flipping album art
 * Select content
 * Select multiple files at the same time
 * Organize content folders, create new folders, name folders, move content between folders
 * Assign content metadata: Name, Artist, Album, genre, rating, cover art
 * Auto-lookup music metadata online from CDDC: Name, artist, album, cover art
 * Create, delete, edit playlists
 * Rate content
 * Sort music by: Name, Date, length, Artist, Album, genre, type (mp3, wav, etc), rating
 1.#3 Content Management on MID
 User can:
  * View content name, artist, album, length, genre, music type, rating, times played, last played date/time
  * View content as list
  * View content as thumbnails (album art for music, cover-art for movies or frame from movie, small image for photos)
  * View content as resizable thumbnails
  * View 3D-flipping album art
  * Select content
  * Select multiple files at the same time
  * Organize content folders, create new folders, name folders, move content between folders
  * Assign content metadata: Name, Artist, Album, genre, rating, cover art
  * Auto-lookup music metadata online from CDDC: Name, artist, album, cover art
  * Create, delete, edit playlists
  * Rate content
  * Sort music by: Name, Date, length, Artist, Album, genre, type (mp3, wav, etc), rating
Line 66: Line 67:
 * Create a slideshow of photos
 * Assign a music file to play when slideshow is started
 * Assign a music playlist to play when slideshow is started
 * Set the time delay between photo transitions
 * Set transition effect between pictures (fade, slide, etc)
  * Create a slideshow of photos
  * Assign a music file to play when slideshow is started
  * Assign a music playlist to play when slideshow is started
  * Set the time delay between photo transitions
  * Set transition effect between pictures (fade, slide, etc)
Line 72: Line 73:
4. Content Playback on MID  1.#4 Content Playback on MID
Line 74: Line 75:
User can:
 * Play content
 * Pause content
 * Play content at double speed forward and backward
 * Play content at variable speed forward and backward
 * Jump to beginning of content
 * Jump to end of content
 * Stop content
 * View progress of content playback
 * View time content has been playing
 * Jump to location within the content by moving the progress thumb to a new location
 User can:
  * Play content
  * Pause content
  * Play content at double speed forward and backward
  * Play content at variable speed forward and backward
  * Jump to beginning of content
  * Jump to end of content
  * Stop content
  * View progress of content playback
  * View time content has been playing
  * Jump to location within the content by moving the progress thumb to a new location
Line 87: Line 88:
 * Play full screen video
 * Pause and restart full screen video without leaving full screen Audio
 * Show visualizations while playing audio
 * Show visualizations full screen while playing audio
 * Start audio and play it in the background while performing other tasks
 * Easily pause audio that is playing in the background
  * Play full screen video
  * Pause and restart full screen video without leaving full screen Audio
  * Show visualizations while playing audio
  * Show visualizations full screen while playing audio
  * Start audio and play it in the background while performing other tasks
  * Easily pause audio that is playing in the background  
Line 94: Line 96:
 * Show photos full screen.
 * Navigate to next and previous photos
 * Play slideshow
 * Pause full screen slideshow and restart without leaving full screen
  * Show photos full screen.
  * Navigate to next and previous photos
  * Play slideshow
  * Pause full screen slideshow and restart without leaving full screen
Line 99: Line 101:
5. Internet Radio  1.#5 Internet Radio
Line 101: Line 103:
User can:
 * Create, edit, and delete internet radio stations
 * Select a station and listen to streaming audio
 * Add a new internet radio station from inside the browser.
 User can:
  * Create, edit, and delete internet radio stations
  * Select a station and listen to streaming audio
  * Add a new internet radio station from inside the browser.
Line 106: Line 108:
6. Content
 * Media viewer will support mechanism for applications to register for certain content types and show buttons to launch these applications when the content of the registered type is selected. Plugin applications will be started with the paths to all the content as command-line parameters. Examples include internet upload, email, or any application to manipulate content.
 1.#6 Content
  * Media viewer will support mechanism for applications to register for certain content types and show buttons to launch these applications when the content of the registered type is selected. Plugin applications will be started with the paths to all the content as command-line parameters. Examples include internet upload, email, or any application to manipulate content.
Line 109: Line 111:
7. Theme / Skin
 * Media viewer will use the system theme for all standard Hildon and GTK controls such as buttons, scrollbars, and dialogs.
 * User can change the skin of the MID media viewer
 1.#7 Theme / Skin
  * Media viewer will use the system theme for all standard Hildon and GTK controls such as buttons, scrollbars, and dialogs.
  * User can change the skin of the MID media viewer
Line 113: Line 115:
8. Media Engine
 * Media viewer will be capable of using gstreamer or helix media playback engines
 * User can select which media engine to use first, or exclusively
 * Media viewer will dynamically discover what content types each media engine supports and attempt to playback content on the correct engine
 * Media viewer will show a symbol on content that is not supported by any media engines
 1.#8 Media Engine
  * Media viewer will be capable of using gstreamer or helix media playback engines
  * User can select which media engine to use first, or exclusively
  * Media viewer will dynamically discover what content types each media engine supports and attempt to playback content on the correct engine
  * Media viewer will show a symbol on content that is not supported by any media engines

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

The media viewer application for mobile devices. This is not the spec for the underlying engine (e.g. gstreamer, helix, etc). The media player for UME will have a finger-navigable UI capable of viewing photos, playing music and videos, and using either the gstreamer or helix media engines with a common interface to them. The UI will follow the recommendations in the [https://wiki.ubuntu.com/MobileAndEmbedded/UIStyleGuide UI Style Guide]

Rationale

There are some existing media applications but none seem to cover all of the features needed and be tailored for a MID, so a new UI is being written. The goal is to simplify the media management on the MID and provide a single place for viewing and listening to media.

Gstreamer and Helix media engines will be supported with dynamic discovery of the content types supported by whichever engine is present at runtime. Helix support is being included primarily for DRM solutions.

The entire scope of media management is large, from the first time a user obtains some content to consuming it on the device. The following section describes the full spectrum with the ones outside the scope of this application shown in light-gray. Additional functionality may be added as time and resources permit.

Comments welcome.

Functional Specification

PC = non-mobile device, such as a Linux or Windows desktopBR MID = Mobile Internet Device.BR Content = music files (mp3, etc), movies (.mpg, etc), photos (.jpg, etc)BR Media viewer = Multimedia application on MIDBR

  1. Content Management on the PC (Currently not planned) There are a few choices for music management on the PC (Windows Media Player, ITunes, Banshee). It might be nice to use these and write a plugin for sync'ing with the media viewer. For movie and photo management, users often use the filesystem directly. Eventually a new "MID Content Manager" application could be written.
  2. Getting content to the device
    • 2.1 Syncing
      • Auto-sync with an application that manages content on the PC. This involves writing a new plugin or application that pushes the content from one of the following applications to the MID when the MID is plugged in via USB.
        • Only sync down (all content is pushed to MID. Any MID content changes are lost
        • Sync in both directions: content is merged on PC and MID. Conflicts are resolved by asking user for preference.
        • Auto-sync with a file directory on the PC (just file system). Application registered when MID is plugged in to USB to auto-sync contents.
      • Manual-sync: Plug MID into USB port. MID file system exposed to PC. User drags/drops files from PC to the MID file system.
      2.2 Sharing
      • Auto-detect other MIDs in area via bluetooth. Connect. Display shared content from each MID on other MID. User can download content to their MID.
      • Receive email with content. Save content to MID filesystem.
      2.3 Manual
      • On MID, download content from internet via the browser
      • On MID, download/upload content from wired or wireless connection to remote filesystem over network
      • On PC, connect MID via USB, see MID filesystem, add/remove content using file explorer.
  3. Content Management on MID User can:
    • View content name, artist, album, length, genre, music type, rating, times played, last played date/time
    • View content as list
    • View content as thumbnails (album art for music, cover-art for movies or frame from movie, small image for photos)
    • View content as resizable thumbnails
    • View 3D-flipping album art
    • Select content
    • Select multiple files at the same time
    • Organize content folders, create new folders, name folders, move content between folders
    • Assign content metadata: Name, Artist, Album, genre, rating, cover art
    • Auto-lookup music metadata online from CDDC: Name, artist, album, cover art
    • Create, delete, edit playlists
    • Rate content
    • Sort music by: Name, Date, length, Artist, Album, genre, type (mp3, wav, etc), rating

    Slideshow

    • Create a slideshow of photos
    • Assign a music file to play when slideshow is started
    • Assign a music playlist to play when slideshow is started
    • Set the time delay between photo transitions
    • Set transition effect between pictures (fade, slide, etc)
  4. Content Playback on MID User can:
    • Play content
    • Pause content
    • Play content at double speed forward and backward
    • Play content at variable speed forward and backward
    • Jump to beginning of content
    • Jump to end of content
    • Stop content
    • View progress of content playback
    • View time content has been playing
    • Jump to location within the content by moving the progress thumb to a new location

    Video

    • Play full screen video
    • Pause and restart full screen video without leaving full screen Audio
    • Show visualizations while playing audio
    • Show visualizations full screen while playing audio
    • Start audio and play it in the background while performing other tasks
    • Easily pause audio that is playing in the background

    Photo

    • Show photos full screen.
    • Navigate to next and previous photos
    • Play slideshow
    • Pause full screen slideshow and restart without leaving full screen
  5. Internet Radio User can:
    • Create, edit, and delete internet radio stations
    • Select a station and listen to streaming audio
    • Add a new internet radio station from inside the browser.
  6. Content
    • Media viewer will support mechanism for applications to register for certain content types and show buttons to launch these applications when the content of the registered type is selected. Plugin applications will be started with the paths to all the content as command-line parameters. Examples include internet upload, email, or any application to manipulate content.
  7. Theme / Skin
    • Media viewer will use the system theme for all standard Hildon and GTK controls such as buttons, scrollbars, and dialogs.
    • User can change the skin of the MID media viewer
  8. Media Engine
    • Media viewer will be capable of using gstreamer or helix media playback engines
    • User can select which media engine to use first, or exclusively
    • Media viewer will dynamically discover what content types each media engine supports and attempt to playback content on the correct engine
    • Media viewer will show a symbol on content that is not supported by any media engines

Use Cases

Scope

Design

Implementation

Outstanding Issues

BoF agenda and discussion


CategorySpec

MobileAndEmbedded/MediaPlayer (last edited 2008-08-06 16:30:48 by localhost)