For Opera presentation mode select "Full Screen".
Matroska and Web Streaming
W3C - 8th February 2011
Steve Lhomme
Matroska Chairman
www.matroska.org
Summary
What is Matroska?
Matroska and WebM
Hardware/Software Support
File Streaming
Live Streaming
New features for the Web
Standardization
What is Matroska ?
Audio/Video interleaved container
Developped with technical inputs from many people online
Completely open and royalty-free
Initial specifications 8 years old
Based on EBML, a binary XML (extensible and space efficient)
More feature packed and efficient than MP4, AVI, MPEG TS, Ogg
Used a lot for HD and subtitled content
OSS Sources for about any language available (incl. JavaScript)
Matroska and WebM
WebM
is a web specific profile of Matroska
Like XHML Strict and Transitional (header change)
Allows only VP8 (video) and Vorbis (audio) codec
Missing chapters, metadata/tags, attachments, signature/encryption
Can peek mature features of Matroska at any time
Hardware/Software support
.mkv playback is widespread in the industry
Usually H.264/DivX with AC-3/DTS/AAC/Vorbis/MP3
We have a validation tool for better compliancy
In all computer video players internally or via free plugins
WebM in Chrome, FireFox, Opera
In connected TVs and Bluray players (Samsung, Sony, etc)
In home media streamers (PopCorn Hour, WD TV, Roku, etc)
In some cellphones (DivX certified or WebM in Android 2.3)
Editing in open-source video editors
Stream Modes
2 modes read using the same parsers
Fixed streams with a known end (MOV, AVI, MPG)
Continuous streams with an unknown end (MPEG TS, Ogg)
Fixed files (HTTP, FTP or local)
One of the design goals was to make a format suitable for file streaming
Very small header required before playback can start (< 1 KB)
With the index at the front (< 25 KB for full movie) or No index
Similar or smaller size as 3GPP/MP4 on codecs they support
Much lower overhead than Ogg, MPEG TS, AVI
Error resilient in case of transmission error
Extensive Tags help the semantic web (like EXIF data on photo sites)
Live Streaming
Unlike XML it can have opened elements with no known end (infinite size)
<cluster>data...
</cluster>
<cluster>
Allows sending data before the end of the 'chunk' is known
Perfect for low latency streaming
Demonstrated with WebM by
Flumotion at GUADEC
in July 2010
Independent chunks of data allow for multicasting
Chain segments for streaming reconfiguration (16x9 to 4x3)
New features for the Web
The video world is moving to the web and at the same time adding new technologies
Adaptive Streaming: key to mobile video & fluid on desktop
Live Streaming: needs an adequate container (MPEG TS is feature limited and bandwidth hungry)
Stereoscopic 3D: needs markers in the container (YouTube + WebM + NVIDIA + FireFox 4)
DRM: remains intact after 3rd party remuxing
Transparency: for better integration in the page design (planned for WebM)
Standardization
There is already an IETF like
RFC for EBML
Already a de facto standard with all the industry support
We need a more formal standardization of the specifications endorsed by a recognized organization for broader industry use
The current
specifications
and
specification notes
should cover each field in detail and leave no room for misinterpretation
All work now supervised by a non profit organisation based in France
Questions