What does Matroska have which WebM doesn't, that made the differentiation necessary?

necessitated "christening" a new format rather than just saying "WebM = Matroska with a restricted set of codecs used"?

That's really exactly what WebM is – not a new format, just a subset of Matroska. But the name is an important part as well.


Matroska is a container. (A very flexible container at that.) Having a .mkv file tells you nothing about what it contains: it might have VP9 video, or H.264 video, or MPEG-2 video, no video, or indeed multiple kinds of video at once. It can carry many different audio codecs, different subtitle types, links to external chapters, and file attachments (such as fonts for SSA subtitles).

Most MKV files contain the same usual formats, but some people are creative and others will just accidentally make MKV's which half their visitors cannot play. Slides and video from a Vimeo developer's talk about the horrors their users have uploaded.

(In comparison, MP4 containers are somewhat more limited in what audio/video codecs they can carry, and in practice usually have some kind of MPEG-4 video.)

So the point of WebM is to define a few "standard" combinations, which will then have a very good chance of being supported by any web browser (and standalone player).


So back to the name. If you have a .webm file (and if the source claims it's a valid WebM file), you can tell just by looking at its name that it promises to contain something understandable by any WebM player, as required by the WebM spec.

But if it were just a plain old limited Matroska profile, you'd still have a .mkv and you wouldn't know what's in it, nor whether it's usable for <video> tags and such.

You don't need to convert WebM files to Matroska; they are valid Matroska files so it's enough to rename them to .mkv.


For clarity, simplicity and standardization. Matroska supports hundreds of codecs. WebM supports 1 video and 1 audio (or is there more now?). So if I (or a computer program) ask “can you play webm” you can give a yes or no answer. If I ask “can you play matroska” you can’t give an easy answer that is useful. So saying webm is a sub set, yes you are correct. But its usage communicates way more information and can guarantee support.