Main.CommunityGoals History
Hide minor edits - Show changes to markup
- show a demo of how to use DRM with WebM on the Web
- show a demo of how to secure WebM video
Community Goals
Community Goals
1. adaptive HTTP streaming:
- develop a adaptive HTTP streaming solution for Ogg and WebM
- encourage statistics API for the video element into Web browsers
- fix GStreamer to support manifest files
- make recommendations for how to implement media fragment URI support in Web browsers
3. media accessibility
- develop best practice examples for accessible media
- improve WebSRT
4. WebM
- help with uptake, in particular best practice documents
- encourage a SilverLight? WebM decoder implementation
- write many RFPs? for how to stream TV and other things WebM
- find out where Adobe is at with WebM support
- consider creating a "playwebm" movement - maybe talk to FSF
- approach public access TV producers
- implement a DVD2Cloud? tool for DVD publishing in HTML5?
- show a demo of how to use DRM with WebM on the Web
- include caption track into WebM
- spec clarifications on John Luther
5. Web applications
The FOMS participants discussed key issues that open media systems are facing in the current environment:
Breakout Group Notes
The FOMS participants discussed in breakout groups key issues that open media systems are facing in the current environment. Here are the notes of these groups:
Community Goals
- http://localhost:3000/foms2010OVC/pmwiki.php/Main/AdaptiveHTTPStreaming AdaptiveHTTPStreaming
- http://localhost:3000/foms2010OVC/pmwiki.php/Main/WebApps WebApps
We'll add this list later - for mintues, add a link at http://localhost:3000/foms2010OVC/pmwiki.php/Main/Proceedings
- **Fill in our list here...**
We'll add this list later - for mintues, add a link at http://localhost:3000/foms2010OVC/pmwiki.php/Main/Proceedings
http://localhost:3000/foms2010OVC/pmwiki.php/Main/AdaptiveHTTPStreaming AdaptiveHTTPStreaming
http://localhost:3000/foms2010OVC/pmwiki.php/Main/WebApps WebApps
- http://localhost:3000/foms2010OVC/pmwiki.php/Main/AdaptiveHTTPStreaming AdaptiveHTTPStreaming
- http://localhost:3000/foms2010OVC/pmwiki.php/Main/WebApps WebApps
We'll add this list later - for mintues, add a link at http://localhost:3000/foms2010OVC/pmwiki.php/Main/Proceedings
We'll add this list later - for mintues, add a link at http://localhost:3000/foms2010OVC/pmwiki.php/Main/Proceedings
We'll add this list later - for mintues, add a link at http://localhost:3000/foms2010OVC/pmwiki.php/Main/Proceedings
http://localhost:3000/foms2010OVC/pmwiki.php/Main/AdaptiveHTTPStreaming AdaptiveHTTPStreaming
http://localhost:3000/foms2010OVC/pmwiki.php/Main/WebApps WebApps
add link to breakout group minutes here...
- Media Fragments session
- Opera/Mozilla: will you implement the protocol in addition to the UI aspect of Media Fragment?
- Opera: we will only support video formats that are seekable, which have an index. Consequently, the UA (browser) knows how to map a time range into byte ranges. We will not support legacy old formats which are not seekable.
- What about tracks? According to Philip, this imposes to build a very specific demuxer (which knows about the holes). Consequently, track dimension will most likely be managed by the query only and not the fragment
- Difference between query and fragment: the later might contain a Link header pointing to the original resource that the UA might decide to use
- Temporal fragments can be used to control the buffering, or more generally better control the preload of the video resource
- Opera hacked live an implementation of the spec!
- How to render a spatial fragment: pixels versus percent. Percent is easy but which pixels?
- Ideally, the fragment should be style-able with CSS
- Opaque is nice, but people will want to change the opaque colors, put borders, etc.
- Cropping? Supported through javascript
- Permalink to streaming media will most likely the query parameter
- Media fragments URI parsing vs validity: ongoing discussion on whether any name=value pairs will be acceptable to be a media fragment URI or not
- http://localhost:3000/foms2010OVC/pmwiki.php/Main/AdaptiveHTTPStreaming Adaptive HTTP Streaming
We'll add this list later - for mintues, add a link at http://localhost:3000/foms2010OVC/pmwiki.php/Main/Proceedings
- Media Fragments session
- Opera/Mozilla: will you implement the protocol in addition to the UI aspect of Media Fragment?
- Opera: we will only support video formats that are seekable, which have an index. Consequently, the UA (browser) knows how to map a time range into byte ranges. We will not support legacy old formats which are not seekable.
- What about tracks? According to Philip, this imposes to build a very specific demuxer (which knows about the holes). Consequently, track dimension will most likely be managed by the query only and not the fragment
- Difference between query and fragment: the later might contain a Link header pointing to the original resource that the UA might decide to use
- Temporal fragments can be used to control the buffering, or more generally better control the preload of the video resource
- Opera hacked live an implementation of the spec!
- How to render a spatial fragment: pixels versus percent. Percent is easy but which pixels?
- Ideally, the fragment should be style-able with CSS
- Opaque is nice, but people will want to change the opaque colors, put borders, etc.
- Cropping? Supported through javascript
- Permalink to streaming media will most likely the query parameter
- Media fragments URI parsing vs validity: ongoing discussion on whether any name=value pairs will be acceptable to be a media fragment URI or not
add link to breakout group minutes here...
add link to breakout group minutes here...
- http://localhost:3000/foms2010OVC/pmwiki.php/Main/AdaptiveHTTPStreaming Adaptive HTTP Streaming
- **Fill in our list here...**
- **Fill in our list here...**
add link to breakout group minutes here...
- *Fill in our list here...*
- **Fill in our list here...**
- OggIndex
- Xiph Process
- URI media fragments
- Ogg Adaptive Streaming
- libsydneyaudio
- liboggplay
- ROE and resource description for HTML5
- Handling Ogg Chaining
- HTML5 media accessibility
- Ogg ActiveX control
- Ogg and mobile
- YUV to RGB conversion and scaling for Ogg Theora
- GStreamer issues
The following goals were agreed on:
1. OggIndex
Short-term:
- bump up version number to 3.2 and make the following changes
- unsigned fields rather than signed
- add a fishead field with byte offset to first data page
- add a field for Dirac into Skeleton
- experiment with storing of difference values rather than absolute byte offsets in the index to save space (similar to the lacing values in Ogg) - which could become version 3.3
- note that HTML5 video element may receive a prebuffer attribute which can specify no prebuffering in addition to minimal prebuffering of the headers in preparation for playback and full progressive buffering
- extend oggz-validate with index-validator
- extend oggz-chop with re-index
- update the skeleton RFC to include the new index
- possibly create libskeleton
Long-term:
- get other projects to support OggIndex, including browsers
- create a wiki page with a list of all the necessary changes in players and transcoding tools OggIndex-Migration
2. Xiph Process and Tools
Short-term:
- Validation
- oggz-validate should report all the errors that ogginfo reports
- Transcoding
- add FirefOgg encoding to Tools->Create Oggfile in Firefox menu when FirefOgg is installed to turn it more into a "desktop app"
- include a function into both, libtheora and libvorbis, to configure your codebooks based on another existing file such that related files can be encoded with the same parameters
- Bug tracker
- merge annodex and xiph bug tracking
- set up a launchpad account & import only active bugs from both
- Releases
- make more point releases, preferably after every applied patch to relieve distributions from having to manage patch sets in addition to releases
- Server move at Xiph
- Wiki: fix xiph wiki password reset
- tun off MF III
- create virtual server for validator after updating validator code
- move annodex.net and turn off anxen3
Long-term:
- create a fully automated testsuite for Xiph software, using either buildbot to hudson
- includes creation of a collection of test files with descriptions of what they test
- media.xiph.org, which currently only holds files for transcoding tests, could be extended to hold test files for xiph software
- there might need to be a public and a private collection
- the description of what the test files are for should be in the scripts
3. URI Media Fragments
Short-term:
- Separate out the spec into "versions" that are easy to implement
- version 1 should be focused on only client-side temporal url addressing with URI fragments and should be published soon, since it's simple to implement
- sort through other temporal fragmentation approaches in version 1.1
- temporal URI fragments (#t=a,b) should mean "focus attention" and we recommend implementing it such that the fragment is played back, then paused, and a "reload" button will replay this fragment - pressing "play" will continue playback at the play position
Long-term:
- approach non-temporal fragmentation - in particular tracks sound important
- Get an implementation into the browsers ( firefox, opera seem keen to support url fragments)
4. Ogg Adaptive Streaming
Short-term:
- Start a concept for a format that allows switching between different bitrates
- Hack up a C version of adaptive streaming with simple live stream switching
Long-term:
- Support HTTP Ogg Adaptive Streaming in Firefox and all browsers
- implemented for both, live streams and static files
5. libsydneyaudio
Short-term:
- libsydneyaudio needs to be replaced with a callback-based library and a new API for use in Firefox
- new library will be created at Xiph under the BSD
Long-term:
- new library also needs dynamic switching of backend
6. liboggplay
Short-term:
- current liboggplay doesn't allow separate handling of tracks and synchronising to a specific track - needs redesign
Long-term:
- develop a more complete example player with liboggplay and package it separately:
- seeking
- buffering
- HTTP reads
- media fragment URIs
- chaining support
- use the example player for the testing framework
7. ROE and resource description for HTML5
Short-term:
- experiment with ROE and other resource description formats for:
- cross-site resource description
- adaptive streaming
- in-line embed syntax consistency
- multitrack and accessibility
Long-term:
- achieve a cross-site standard way of sharing resource descriptions - ROE is a potential format
8. Handling Ogg Chaining
Short-term:
- use cases of chaining: radio streaming & ad insertion - neither really are a playlist
- instead we need to regard a Ogg chain as a single video or audio resource and calculate the combined duration - use OggIndex for seeking and duration calculation
- Note: delta encoded seek points will make it easier to seek
- patch Firefox with Content-Duration HTTP header patch, including Ogg chain duration
- publish an RFC on Content-Duration HTTP header
Long-term:
- roll out chaining support in Firefox
- oggz-info should provide entire chain duration
- oggz-info could have a json option so its output can be included in scripts
9. HTML5 media accessibility
Short-term:
- Specify roles & track relationship in multitrack Ogg files in skeleton, e.g. using a "provides", "conflicts with" type approach and describing roles, language and other attributes
- experiment more with multitrack files that are either composed within Ogg or through external reference in HTML5
- suggestion to implement a "save as" function into Firefox which encapsulates all externally referenced tracks into a Ogg file for sharing
- progress external caption & textual audio description specification in HTML5 standard
Long-term:
- test synchronising external audio files with a main video file using javascript to learn about synchronisation issues, e.g. for audio descriptions
- Implement multitrack Ogg track description in skeleton
- develop an alternative to DFXP that is more attuned to the Web
10. Ogg ActiveX control
Short-term:
- Design an ActiveX control for IE that ultimately provides the full HTML5 media API support, subtitles, and URI media fragments
Long-term:
- Implement a first ActiveX control for IE8 that provides basic playback, UI, seeking and basic javascript API support
11. Ogg and mobile
Short-term:
- Firefox for Android
- investigate extending the existing Wikipedia app for iPhone with a ogg player
Long-term:
- all phones support Ogg Theora and Vorbis
12. YUV to RGB conversion and scaling for Ogg Theora
Short-term:
- make Firefox aware that there will be YUV support in Cairo
Long-term:
- continue developing optimised colour conversion backends
- have access to the HW backends on all platforms (incl mobile)
13. GStreamer issues
Short-term:
- create Ogg Index in Skeleton 3.2 support for gstreamer
Long-term:
- chaining support in gstreamer
- *Fill in our list here...*
- create a wiki page with a list of all the necessary changes in players and transcoding tools, e.g.
- ffmpeg2theora: trial commandline param
- GStreamer: skeleton bug
- FFmpeg support? - best to create patches and submit
- VLC support? - best to create patches and submit
- oggcodecs
- XiphQT
- create a wiki page with a list of all the necessary changes in players and transcoding tools OggIndex-Migration
- create Ogg Index in Skeleton 3.2 support for gstreamer
- add a field for Dirac into Skeleton
- media.xiph.org, which currently only holds files for transcoding tests, could be extended to hold test files for xiph software
- there might need to be a public and a private collection
- the description of what the test files are for should be in the scripts
- Separate out the spec into "profiles" or "versions" that are easy to implement. With version 1 being only temporal url addressing, and version 1.1 supporting the more complex stuff.
- Highlight difference between url types: ? generating new resource vs # seeking or focusing attention within a given resource
- Separate out the spec into "versions" that are easy to implement
- version 1 should be focused on only client-side temporal url addressing with URI fragments and should be published soon, since it's simple to implement
- sort through other temporal fragmentation approaches in version 1.1
- temporal URI fragments (#t=a,b) should mean "focus attention" and we recommend implementing it such that the fragment is played back, then paused, and a "reload" button will replay this fragment - pressing "play" will continue playback at the play position
- approach non-temporal fragmentation - in particular tracks sound important
- implemented for both, live and CMS style approach
- implemented for both, live streams and static files
- patch Firefox with Content-Duration HTTP header patch, including Ogg chain duration.
- patch Firefox with Content-Duration HTTP header patch, including Ogg chain duration
- publish an RFC on Content-Duration HTTP header
- investigate Wikipedia app for iPhone
- investigate extending the existing Wikipedia app for iPhone with a ogg player
- make Firefox aware that there will be YUV support in Cairo
- continue developing optimised colour conversion backends
- have access to the HW backends on all platforms (incl mobile)
- chaining support in gstreamer
- move annodex.net and turn off anxen1
- move annodex.net and turn off anxen3
- Implement a first ActiveX control for IE8 that provides basic playback, UI, seeking and basic javascript API support
- instead we need to regard a Ogg chain as a single video or audio resource and calculate the combined duration - use OggIndex for seeking and duration calculation
- Design an ActiveX control for IE that ultimately provides the full HTML5 media API support, subtitles, and URI media fragments
- experiment more with multitrack files that are either composed within Ogg or through external reference in HTML5
- progress external caption & textual audio description specification in HTML5 standard
- Create a specification for a format that allows switching between different bitrates
- Start a concept for a format that allows switching between different bitrates
- implemented for both, live and CMS style approach
- Create a specification for a format that allows switching between different bitrate
- Create a specification for a format that allows switching between different bitrates
- Hack up a C version of adaptive streaming with simple live stream switching
Long-term:
- Support HTTP Ogg Adaptive Streaming in Firefox and all browsers
- GStreamer issues
- GStreamer issues
Short-Term:
Short-term:
Long-Term:
Long-term:
Short-term goals:
Short-term:
Long-term goal:
Long-term:
Short-term goals:
Short-term:
Long-term goal:
- Get an implementation into the browsers. ( firefox, opera seem keen to support url fragments)
Long-term:
- Get an implementation into the browsers ( firefox, opera seem keen to support url fragments)
Short-term goals:
Short-term:
- Create a specification for a format that allows switching between different bitrate
Short-term goals:
Short-term:
- Marcin to help with Windows work, Matthew to become maintainer
Long-term goals:
Long-term:
Short-term goals:
Short-term:
Long-term goals:
Long-term:
Short-term goals:
Short-term:
Long-term goals:
Long-term:
Short-term goals:
Short-term:
Long-term goals:
Long-term:
9. HTML5 media accessibility
Short-term:
- Specify roles & track relationship in multitrack Ogg files in skeleton, e.g. using a "provides", "conflicts with" type approach and describing roles, language and other attributes
- experiment more with multitrack files that are either composed within Ogg or through external reference in HTML5?
- suggestion to implement a "save as" function into Firefox which encapsulates all externally referenced tracks into a Ogg file for sharing
- progress external caption & textual audio description specification in HTML5? standard
Long-term:
- test synchronising external audio files with a main video file using javascript to learn about synchronisation issues, e.g. for audio descriptions
- Implement multitrack Ogg track description in skeleton
- develop an alternative to DFXP that is more attuned to the Web
10. Ogg ActiveX control
Short-term:
- Design an ActiveX? control for IE that ultimately provides the full HTML5? media API support, subtitles, and URI media fragments
Long-term:
- Implement a first ActiveX? control for IE8? that provides basic playback, UI, seeking and basic javascript API support
11. Ogg and mobile
Short-term:
- Firefox for Android
- investigate Wikipedia app for iPhone
Long-term:
- all phones support Ogg Theora and Vorbis
12. YUV to RGB conversion and scaling for Ogg Theora
Short-term:
Long-term:
13. GStreamer issues
Short-term:
Long-term:
- Handling Ogg Multitrack and Chaining
- Handling Ogg Chaining
- media fragment URIs
7. ROE and resource description for HTML5
Short-term goals:
- experiment with ROE and other resource description formats for:
- cross-site resource description
- adaptive streaming
- in-line embed syntax consistency
- multitrack and accessibility
Long-term goals:
- achieve a cross-site standard way of sharing resource descriptions - ROE is a potential format
8. Handling Ogg Chaining
Short-term goals:
- use cases of chaining: radio streaming & ad insertion - neither really are a playlist
- instead we need to regard a Ogg chain as a single video or audio resource and calculate the combined duration - use OggIndex? for seeking and duration calculation
- Note: delta encoded seek points will make it easier to seek
- patch Firefox with Content-Duration HTTP header patch, including Ogg chain duration.
Long-term goals:
- roll out chaining support in Firefox
- oggz-info should provide entire chain duration
- oggz-info could have a json option so its output can be included in scripts
- libsydneyaudio & liboggplay
- libsydneyaudio
- liboggplay
- HTML5 audio rendering
5. libsydneyaudio
Short-term goals:
- libsydneyaudio needs to be replaced with a callback-based library and a new API for use in Firefox
- new library will be created at Xiph under the BSD
- Marcin to help with Windows work, Matthew to become maintainer
Long-term goals:
- new library also needs dynamic switching of backend
6. liboggplay
Short-term goals:
- current liboggplay doesn't allow separate handling of tracks and synchronising to a specific track - needs redesign
Long-term goals:
- Separate out the spec into "profiles" or "versions" that are easy to implement. With version 1 being only temporal url addressing, and version 1.1 supporting the more complex stuff.
- Highlight difference between url types: ? generating new resource vs # seeking or focusing attention within a given resource
Long-term goal:
- Get an implementation into the browsers. ( firefox, opera seem keen to support url fragments)
3. URI Media Fragments
Short-term goals:
4. Ogg Adaptive Streaming
Short-term goals:
- add FirefOgg encoding to Tools->Create Oggfile in Firefox menu when FirefOgg is installed to turn it more into a "desktop app"
1. OggIndex
1. OggIndex
2. Xiph Process and Tools
Short-term goals:
- Validation
- oggz-validate should report all the errors that ogginfo reports
- Transcoding
- add FirefOgg? encoding to Tools->Create Oggfile in Firefox menu when FirefOgg? is installed to turn it more into a "desktop app"
- include a function into both, libtheora and libvorbis, to configure your codebooks based on another existing file such that related files can be encoded with the same parameters
- Bug tracker
- merge annodex and xiph bug tracking
- set up a launchpad account & import only active bugs from both
- Releases
- make more point releases, preferably after every applied patch to relieve distributions from having to manage patch sets in addition to releases
- Server move at Xiph
- Wiki: fix xiph wiki password reset
- tun off MF III
- create virtual server for validator after updating validator code
- move annodex.net and turn off anxen1
Long-term goal:
- create a fully automated testsuite for Xiph software, using either buildbot to hudson
- includes creation of a collection of test files with descriptions of what they test
- ROE and resource description for HTML5
- add a fishead filed with byte offset to first data page
- add a fishead field with byte offset to first data page
- note that HTML5 video element may receive a prebuffer attribute which can specify no prebuffering in addition to minimal prebuffering of the headers in preparation for playback and full progressive buffering
- possibly create ibskeleton
- possibly create libskeleton
- get other projects to support OggIndex, including browsers
- GStreamer: skeleton bug
- FFmpeg support? - best to create patches and submit
- VLC support? - best to create patches and submit
- XiphQT
= Community Goals =
Community Goals
2. Xiph Process
3. URI media fragments
4. Ogg Adaptive Streaming
5. libsydneyaudio & liboggplay
6. ROE and resource description for HTML5?
7. Handling Ogg Multitrack and Chaining
12. Ogg and mobile
13. YUV to RGB conversion and scaling for Ogg Theora
- OggIndex
- Xiph Process
- URI media fragments
- Ogg Adaptive Streaming
- libsydneyaudio & liboggplay
- ROE and resource description for HTML5?
- Handling Ogg Multitrack and Chaining
- HTML5 audio rendering
- HTML5 media accessibility
- Ogg ActiveX control
- GStreamer issues
- Ogg and mobile
- YUV to RGB conversion and scaling for Ogg Theora
The following goals were agreed on:
1. OggIndex
Short-Term:
- bump up version number to 3.2 and make the following changes
- unsigned fields rather than signed
- add a fishead filed with byte offset to first data page
- experiment with storing of difference values rather than absolute byte offsets in the index to save space (similar to the lacing values in Ogg) - which could become version 3.3
- note that HTML5? video element may receive a prebuffer attribute which can specify no prebuffering in addition to minimal prebuffering of the headers in preparation for playback and full progressive buffering
- extend oggz-validate with index-validator
- extend oggz-chop with re-index
- update the skeleton RFC to include the new index
- possibly create ibskeleton
Long-Term:
= Community Goals =
The FOMS participants discussed key issues that open media systems are facing in the current environment:
2. Xiph Process
3. URI media fragments
4. Ogg Adaptive Streaming
5. libsydneyaudio & liboggplay
6. ROE and resource description for HTML5?
7. Handling Ogg Multitrack and Chaining
12. Ogg and mobile
13. YUV to RGB conversion and scaling for Ogg Theora