What is MIME type "video/matroska"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

video/matroska is a container format that holds video, audio, and subtitle streams in one file. It is designed to store multiple media types together. This makes it ideal for high-definition video content.


The format is open and adaptable. It supports features like chapter points, multiple audio tracks, and subtitle embedding. This flexibility is why many media players and streaming services use it.



The primary file used is the MKV format. Other related files include the MKS (for additional media), MKA (for audio-only content), and MK3D (for 3D video).
For more technical details, visit the Matroska Official Site.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: video/matroska    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="video/matroska">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'video/matroska');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Does the HTML5 video tag support video/matroska?

Support is inconsistent across modern browsers. While Chromium-based browsers (Chrome, Edge) may play MKV files if they contain compatible codecs like VP9 or AV1, video/matroska is not universally supported like video/mp4. For maximum web compatibility, it is recommended to convert files to MP4 (H.264) or WebM.

How do I configure Apache to serve MKV files correctly?

You must ensure the correct MIME type is associated with the .mkv extension in your .htaccess or server configuration file. Add the following line: AddType video/matroska .mkv. This ensures browsers and players identify the stream as a Matroska video container.

What is the Nginx configuration for video/matroska?

In your Nginx mime.types file or within a specific server block, map the extension to the MIME type. Use the directive: types { video/matroska mkv mk3d; }. Restart Nginx to apply the changes.

Why won't my MKV file play even if the server headers are correct?

Matroska is a container format, meaning it can hold various video and audio compression formats (codecs) inside. If the user's browser or media player does not support the specific codec inside the container (e.g., HEVC or AC3), the file will not play, even if the MIME type video/matroska is correctly delivered.

What is the difference between video/matroska and video/webm?

WebM is actually a restricted subset of the Matroska standard. While video/matroska supports virtually any codec (including proprietary ones), video/webm is designed strictly for the web and only supports specific open codecs like VP8, VP9, and Vorbis. If you are targeting web browsers, WebM is generally preferred.

Which file extensions usually use the video/matroska MIME type?

The most common extension is MKV, which stands for Matroska Video. It is also used for MK3D (stereoscopic 3D video). While MKA files exist, they typically use the audio/matroska MIME type instead, as they contain only audio tracks.

Is video/matroska safer to use than AVI or MP4?

From a security perspective, Matroska is an open standard with active development, making it robust, but no file format is immune to vulnerabilities in the media player software itself. However, because video/matroska supports complex features like embedded fonts and menus, it presents a slightly larger attack surface for parsing bugs than simpler containers.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.