Platform/MediaSourceExtensions: Difference between revisions

 
(17 intermediate revisions by the same user not shown)
Line 7: Line 7:


Tasks:
Tasks:
* Support multiple SourceBuffers with one decoder per SourceBuffer (multiple decoders per SourceBuffer requires container demuxing support)
* {{done|Support multiple SourceBuffers with one decoder per SourceBuffer (multiple decoders per SourceBuffer requires container demuxing support)}}
 
At this point we don't support sending new initialisation segments to a decoder.
 
==2013 Q4==
 
===Adaptive streaming for MP4 and SourceBuffer restarting===
Reseting a SourceBuffer at the end of a logical stream requires information that is not available without a container parser. Being able to play multiple streams could be worked around by appending to a new SourceBuffer instead. In order to support fMP4 on some platforms (e.g. Windows 7, Vista) we also need a container parser.
 
Tasks:
* Extend nestegg parser for webm to support sourcebuffer reset
* {{done|Container parser with fragmented mp4 support}} – Chris Pearce
* {{done|MP4 playback on Windows Vista, 7 and 8}}
* {{done|VP9 support on all platforms}}
 
==2014 Q1 proposed==


==2013 Q4 proposed==
===Memory management===
===Memory management===
Requesting of content through the JavaScript application is required for supporting both seeking and re-requesting of discarded time ranges. Discarding unneeded compressed data is needed to avoid wasting vast amounts of memory.
Requesting of content through the JavaScript application is required for supporting both seeking and re-requesting of discarded time ranges. Discarding unneeded compressed data is needed to avoid wasting vast amounts of memory.
Line 17: Line 31:
* Discarding of used coded frames [SourceBuffer.buffered]
* Discarding of used coded frames [SourceBuffer.buffered]


===Ad insertion (dynamic triggering approach)===
===YouTube integration===
Timeline management is needed for sequencing adverts using the dynamic triggering approach.
Testing and debugging YouTube playback.


Tasks:
Tasks:
* Support segments mode [SourceBuffer.mode = AppendMode.segments]
* Bug fixing in MSE implementation
* Timeline management [SourceBuffer.buffered]
* Evangelism/upstreaming fixes


==2014 Q1 suggested==
===MP4 platform support===
===Adaptive streaming for MP4 and SourceBuffer restarting===
* MP4 playback on Firefox OS
Reseting a SourceBuffer at the end of a logical stream requires information that is not available without a container parser. Being able to play multiple streams could be worked around by appending to a new SourceBuffer instead. In order to support fMP4 on some platforms (e.g. Windows 7, Vista) we also need a container parser.
 
Tasks:
* Extend nestegg parser for webm to support sourcebuffer reset
* Container parser with fragmented mp4 support – Chris Pearce


==2014 Q2 proposed==
===Seamless audio adaption===
===Seamless audio adaption===
Implement audio cross fade to avoid noise when switching from one audio quality to another.
Implement audio cross fade to avoid noise when switching from one audio quality to another.
Line 37: Line 47:
Tasks:
Tasks:
* Audio cross fading
* Audio cross fading
===Ad insertion (dynamic triggering approach)===
Timeline management is needed for sequencing adverts using the dynamic triggering approach.
Tasks:
* Support segments mode [SourceBuffer.mode = AppendMode.segments]
* Timeline management [SourceBuffer.buffered]
===MP4 platform support===
* MP4 software decoding through OpenH264 - pending availability, high profile and AAC support
==2014 Q3 suggested==
===MP4 platform support===
* Hardware accelerated playback on Mac OSX
* Hardware accelerated playback on Android


==Backlog==
==Backlog==
Line 45: Line 70:
===HTTP Live Streaming===
===HTTP Live Streaming===
It  would be possible to support HLS in Javascript in terms on MSE although  MSE is not specifically designed to enable this. We are not intending  to support MPEG2-TS. Without this we would need to write also need t  write a remuxer in Javascript.
It  would be possible to support HLS in Javascript in terms on MSE although  MSE is not specifically designed to enable this. We are not intending  to support MPEG2-TS. Without this we would need to write also need t  write a remuxer in Javascript.
===MP4 platform support===
* Hardware accelerated playback on Linux
Confirmed users
77

edits