[whatwg] Video with MIME type application/octet-stream

Philip Jägenstedt philipj at opera.com
Mon Sep 6 01:14:32 PDT 2010

On Sun, 05 Sep 2010 21:59:09 +0200, Aryeh Gregor  
<Simetrical+w3c at gmail.com> wrote:

> On Fri, Sep 3, 2010 at 11:48 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote:
>> Is this a reasonable supposition?  What are these byte sequences for the
>> container formats at hand?  (Say WebM's restricted Matroska container,
>> whatever container format is supported for H.264 by IE and Chrome, and  
>> Ogg;
>> we'll ignore the generic Matroska weirdness for now.)
> I don't know, which is why I'm considering a hypothetical.  If someone
> who knows better could step up with this piece of info, that would be
> helpful.

The Ogg page begins with the 4 bytes "OggS", which is what Opera  
(GStreamer) checks for. For additional safety, one could also check for  
the trailing version indicator, which ought to be a NULL byte for current  
Ogg. [1] [2]

For WebM, the first 4 bytes are the EBML header: the bytes 0x1A, 0x45,  
0xDF, 0xA3. [3] The EBML DocType in the header must be "webm". Since  
parsing the EBML header is a little bit complicated, Opera (GStreamer)  
simply checks for the string "webm" somewhere in the header. I've heard  
rumors that WebM files are allowed to contain arbitrary garbage before the  
EBML header, but this is something we happily ignore, i.e., such files  
would fail to play in Opera, regardless of MIME type. I haven't  
encountered any such files yet, and think that browsers should not support  
this "feature".

[1] http://www.xiph.org/ogg/doc/framing.html#page_header
[2] http://www.xiph.org/ogg/doc/rfc3533.txt
[3] http://ebml.sourceforge.net/specs/

Philip Jägenstedt
Core Developer
Opera Software

More information about the whatwg mailing list