VideoPlaybackRoadmap

Differences between revisions 23 and 33 (spanning 10 versions)
Revision 23 as of 2005-10-31 17:16:00
Size: 4283
Editor: 187_220_103_66-WIFI_HOTSPOTS
Comment:
Revision 33 as of 2008-08-06 16:27:55
Size: 2825
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from VideoPlaybackRoadmap
Line 6: Line 5:
 * '''Created''': [[Date(2005-10-27T19:52:17Z)]] by JaneWeideman
 * '''Contributors''': JaneWeideman, SebastienBacher
 * '''Created:''' <<Date(2005-04-23T10:35:15Z)>> by MattZimmerman
 * '''Contributors''': JaneWeideman, SebastienBacher, MattZimmerman
Line 9: Line 8:

== Old Metadata ==

  * Created: [[Date(2005-04-23T10:35:15Z)]] by MattZimmerman[[BR]]
  * Priority: HighPriority[[BR]]
  * People: SebastienBacherLead, DanielStoneSecond[[BR]]
  * Contributors: MattZimmerman[[BR]]
  * Interested: MatthewPaulThomas, CharlesMajola[[BR]]
  * Status: BreezyGoal, DistroSpecification, EditedSpec, MattZimmermanQueue[[BR]]
  * Branch: [[BR]]
  * Malone Bug: [[BR]]
  * Packages: [[BR]]
  * Depends: [[BR]]
  * UduSessions: 0
Line 28: Line 13:
This topic is NOT related to support for particular codecs, but to the general infrastructure needed to support all kinds of video playback. This topic is '''not''' related to support for particular codecs, but to the general infrastructure needed to support all kinds of video playback.
Line 35: Line 20:
== Scope and Use Cases == == Use Cases ==
Line 37: Line 22:
 * 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
 * Vincent was not at GUADEC last year and he heard that there was interesting talks. Nice videos (ogg) of those have been made. He happily downloaded and started to watch them but quickly noticed that the sound was shifted from the video. He had to install a player from universe and thinks that should just work with the default player.
 * Daniel wants to be able to play the movie trailers he finds on the web from his browser just by clicking on them
Line 100: Line 28:
 * 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)
 * All gstreamer apps that have already been ported to 0.10 will be built against it - SebastienBacher
 * Split xine such that only the Xiph codecs (and perhaps additional, unencumbered ones) are supported in main, the others will be shipped in universe -- unassigned
 * If totem-gstreamer (built against 0.10) doesn't play at least theora/vorbis files correctly (with no lag and a good a/v sync) we will switch to totem-xine
Line 107: Line 34:
=== Suggestions === === Packages using gstreamer ===
Line 109: Line 36:
(This would be nice to have but not a part of the current specification) Those are the desktop packages that need to be ported to gstreamer0.10 for dapper:
Line 111: Line 38:
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 :
 * gnome-applets: upstream will do it for GNOME 2.14
 * gnome-control-center: upstream will do it for GNOME 2.14
 * gnome-media: easy to do according to upstream, they will do it
 * rhythmbox: upstream has a patch ready for it
 * serpentine: upstream has a patch ready for it
 * sound-juicer: ross is going to do this work for GNOME 2.14
 * totem: upstream has a patch ready for it, CVS has just branched and should get the patch soon
Line 114: Line 46:
- 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)
== Suggestions ==
Line 118: Line 48:
Another way is to have a standalone application that manage gstreamer plugins  * moved to EasyCodecInstallation
----
CategorySpec

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.

Use Cases

  • Vincent was not at GUADEC last year and he heard that there was interesting talks. Nice videos (ogg) of those have been made. He happily downloaded and started to watch them but quickly noticed that the sound was shifted from the video. He had to install a player from universe and thinks that should just work with the default player.
  • Daniel wants to be able to play the movie trailers he finds on the web from his browser just by clicking on them

Implementation Plan

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

  • All gstreamer apps that have already been ported to 0.10 will be built against it - SebastienBacher

  • Split xine such that only the Xiph codecs (and perhaps additional, unencumbered ones) are supported in main, the others will be shipped in universe -- unassigned
  • If totem-gstreamer (built against 0.10) doesn't play at least theora/vorbis files correctly (with no lag and a good a/v sync) we will switch to 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.

Packages using gstreamer

Those are the desktop packages that need to be ported to gstreamer0.10 for dapper:

  • gnome-applets: upstream will do it for GNOME 2.14
  • gnome-control-center: upstream will do it for GNOME 2.14
  • gnome-media: easy to do according to upstream, they will do it
  • rhythmbox: upstream has a patch ready for it
  • serpentine: upstream has a patch ready for it
  • sound-juicer: ross is going to do this work for GNOME 2.14
  • totem: upstream has a patch ready for it, CVS has just branched and should get the patch soon

Suggestions


CategorySpec

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