What is MIME type "video/x-msvideo"?

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

video/x-msvideo is the MIME type for the Audio Video Interleave format. It indicates that a file contains both video and audio data that play together.

Files with this MIME type are best known by their AVI extension. This format is common on PCs, especially those running Windows.

This MIME type helps software identify the correct file handling process. It ensures users get proper playback and editing functions. For more details, check the MIME Types documentation on MDN.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: video/x-msvideo    
  

HTML

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


    <a href="file.dat" type="video/x-msvideo">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/x-msvideo');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Does the HTML5 <video> tag support video/x-msvideo?

Generally, no. Most modern web browsers do not natively support the AVI format or the video/x-msvideo MIME type within the HTML5 <video> element. To ensure video plays across all browsers (Chrome, Firefox, Safari), it is recommended to convert the file to a web-standard format like MP4 or WebM.

How do I configure Apache to serve AVI files correctly?

You can enable the correct MIME type association by adding a directive to your .htaccess file or main configuration. Add the line AddType video/x-msvideo .avi to ensure the server sends the correct header to the client.

What is the difference between video/x-msvideo and video/avi?

video/x-msvideo is the most widely recognized and compatible MIME type for Audio Video Interleave files. While you might occasionally see video/avi or video/msvideo used, video/x-msvideo is the standard convention established by Microsoft and is preferred for server configurations to avoid download errors.

How do I add support for AVI files in Nginx?

To serve files with the .avi extension using the correct content type in Nginx, locate your mime.types file. Ensure it includes the entry video/x-msvideo avi;. If it is missing, add it inside the types { ... } block and reload the server.

Is video/x-msvideo a good choice for web streaming?

No, this format is typically not optimized for web streaming due to large file sizes and a lack of native browser support. It is better suited for local storage or downloading. For streaming, use formats with high compression efficiency like H.264 (MP4) or VP9 (WebM).

Why does my browser download the AVI file instead of playing it?

If a browser encounters content labeled video/x-msvideo that it cannot decode natively, its default behavior is to download the file. Since AVI is a container format that can hold various unsupported codecs, browsers often treat it as a generic binary file meant for a local media player rather than inline playback.

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.