VideoPlaybackRoadmap

Differences between revisions 1 and 23 (spanning 22 versions)
Revision 1 as of 2005-04-23 10:35:15
Size: 1114
Editor: intern146
Comment:
Revision 23 as of 2005-10-31 17:16:00
Size: 4283
Editor: 187_220_103_66-WIFI_HOTSPOTS
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from VideoPlaybackRoadmap
## page was renamed from VideoPlayback
Line 3: Line 5:
= VideoPlayback =  * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/video-playback
 * '''Created''': [[Date(2005-10-27T19:52:17Z)]] by JaneWeideman
 * '''Contributors''': JaneWeideman, SebastienBacher
 * '''Packages affected''':
Line 5: Line 10:
== Status == == Old Metadata ==
Line 9: Line 14:
  * People: NeedsLead, NeedsSecond[[BR]]   * People: SebastienBacherLead, DanielStoneSecond[[BR]]
Line 11: Line 16:
  * Interested: [[BR]]
  * Status: BrainDump, BreezyGoal, UduBof, DistroSpecification[[BR]]
  * Interested: MatthewPaulThomas, CharlesMajola[[BR]]
  * Status: BreezyGoal, DistroSpecification, EditedSpec, MattZimmermanQueue[[BR]]
Line 17: Line 22:
  * UduSessions: 1, 4, 8, etc [[BR]]   * UduSessions: 0
Line 21: Line 26:
Video playback in Ubuntu is currently somewhat clunky. We should provide the best available video playback experience by default. Video playback in Ubuntu is currently somewhat clunky. We should provide the best available video playback experience by default.  In order to make the right decisions, we need to survey the available solutions, evaluate them against our requirements and use cases, and decide on a strategy for DapperDrake.
Line 27: Line 32:
Video is a killer app we need to support to maximize our appeal.

Line 29: Line 37:
 * Good A/V sync is essential  * Good Audio/Visual (AV) sync is essential
 * Must integrate cleanly with the desktop
  * User interface
  * Audio device sharing

 
Options:

 * gstreamer
  * Bad AV sync
  * best long time
  * DLL loader
  * Firefox integration

 * xine
  * not much covery
  * need to split the codecs (should not be too hard)
  * DLL loader
  * player only
  * just works
   * Broken on amd64??????????? (JohnMoser has tried like 5 clean re-installs, predicts that it has something to do with Xine codecs not being NX aware and thus . . . well.)
  * Firefox integration

 * VLC
  * similar to xine
  * generally works
  * Firefox integration

 * helix
  * hicky

 * mplayer
  * hostile upstream
  * application, not platform
  * not easy to split the codes

Codecs:

 * Good:
  * dirac
  * flac
  * MPEG1
  * speex
  * theora
  * vorbis
 * Evil
  * AAC
  * MPEG 2/4
  * realaudio
  * WMV
 * Evilish
  * MP3

Methods:
 * ffmpeg
 * DLL loader
 * fluendo (easy licence)

We can have different version of xine for main and universe
Line 33: Line 99:
=== Data Preservation and Migration ===  * Track gstreamer 0.10 (due December) through the DapperDrake process - SebastienBacher
 * All gstreamer apps that have already been ported to 0.9 will be built against it - unassigned
 * Split xine such that only the Xiph codecs (and perhaps additional, unencumbered ones) are supported in main, the others will be shipped in universe
 * If totem-gstreamer (built against 0.9) does not satisfy the requirements above, we will switch to totem-xine
 * Also, if the applications built against gstreamer0.10 do not work well enough, we will switch back to gstreamer0.8 (and totem-xine)
Line 35: Line 105:
=== Packages Affected ===  * JeffWaugh has talked to BenCollins about increasing /proc/sys/dev/rtc/max-user-freq (perhaps to 1024) for better response times for audio/video apps, and reduced CPU. Ben will determine whether it's a safe change to make across the board.
Line 37: Line 107:
=== User Interface Requirements === === Suggestions ===
Line 39: Line 109:
== Outstanding Issues == (This would be nice to have but not a part of the current specification)
Line 41: Line 111:
=== UDU BOF Agenda === 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 :
Line 43: Line 114:
 * gstreamer vs. xine vs. ??? - 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)
Line 45: Line 118:
=== UDU Pre-Work === Another way is to have a standalone application that manage gstreamer plugins

Old Metadata

Introduction

Video playback in Ubuntu is currently somewhat clunky. We should provide the best available video playback experience by default. In order to make the right decisions, we need to survey the available solutions, evaluate them against our requirements and use cases, and decide on a strategy for DapperDrake.

This topic is NOT related to support for particular codecs, but to the general infrastructure needed to support all kinds of video playback.

Rationale

Video is a killer app we need to support to maximize our appeal.

Scope and Use Cases

  • Good Audio/Visual (AV) sync is essential
  • Must integrate cleanly with the desktop
    • User interface
    • Audio device sharing

Options:

  • gstreamer
    • Bad AV sync
    • best long time
    • DLL loader
    • Firefox integration
  • xine
    • not much covery
    • need to split the codecs (should not be too hard)
    • DLL loader
    • player only
    • just works
      • Broken on amd64??????????? (JohnMoser has tried like 5 clean re-installs, predicts that it has something to do with Xine codecs not being NX aware and thus . . . well.)

    • Firefox integration
  • VLC
    • similar to xine
    • generally works
    • Firefox integration
  • helix
    • hicky
  • mplayer
    • hostile upstream
    • application, not platform
    • not easy to split the codes

Codecs:

  • Good:
    • dirac
    • flac
    • MPEG1
    • speex
    • theora
    • vorbis
  • Evil
    • AAC
    • MPEG 2/4
    • realaudio
    • WMV
  • Evilish
    • MP3

Methods:

  • ffmpeg
  • DLL loader
  • fluendo (easy licence)

We can have different version of xine for main and universe

Implementation Plan

  • Track gstreamer 0.10 (due December) through the DapperDrake process - SebastienBacher

  • All gstreamer apps that have already been ported to 0.9 will be built against it - unassigned
  • Split xine such that only the Xiph codecs (and perhaps additional, unencumbered ones) are supported in main, the others will be shipped in universe
  • If totem-gstreamer (built against 0.9) does not satisfy the requirements above, we will switch to totem-xine
  • Also, if the applications built against gstreamer0.10 do not work well enough, we will switch back to gstreamer0.8 (and totem-xine)
  • JeffWaugh has talked to BenCollins about increasing /proc/sys/dev/rtc/max-user-freq (perhaps to 1024) for better response times for audio/video apps, and reduced CPU. Ben will determine whether it's a safe change to make across the board.

Suggestions

(This would be nice to have but not a part of the current specification)

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)

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

VideoPlaybackRoadmap (last edited 2008-08-06 16:27:55 by localhost)