What is MIME type "application/x-pn-mpg"?

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

The MIME type application/x-pn-mpg identifies files encoded with the MPEG-2 standard. It is a legacy type used to mark video files. It tells the system that the file uses an older, experimental classification.

This type often appears with files like MPG and MPEG. It directs media players to treat the file as containing compressed video content.

Learn more about MPEG and MIME types for further details.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/x-pn-mpg    
  

HTML

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


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

Associated file extensions

FAQs

What is the difference between application/x-pn-mpg and video/mpeg?

video/mpeg is the standard, IANA-registered MIME type for MPEG video files and is supported natively by modern HTML5 browsers. application/x-pn-mpg is a legacy, non-standard type historically associated with Progressive Networks (RealNetworks) for streaming to RealPlayer.

Why is my browser downloading the MPG file instead of playing it?

Browsers generally do not recognize application/x-pn-mpg as native video content. They treat application/* types as generic files to be saved or opened by an external plugin. To enable in-browser playback, configure your server to use the standard video/mpeg MIME type.

How do I configure Apache to serve this legacy type?

If a specific legacy application requires this header, you can add it to your .htaccess or httpd.conf file. Use the directive: AddType application/x-pn-mpg .mpg .mpeg. Be aware this may break playback in modern web browsers.

What does the 'x-pn' prefix stand for?

The x- prefix indicates an experimental or non-standard type, while pn stands for Progressive Networks, the company that became RealNetworks. This indicates the type was designed for RealPlayer's specific handling of MPEG streams.

Can I use application/x-pn-mpg for HTML5 video tags?

No, it is not recommended. HTML5 <video> elements expect standard video MIME types like video/mp4, video/webm, or video/mpeg. Using application/x-pn-mpg will likely result in a "format not supported" error in the browser console.

How do I add this MIME type to Nginx?

Open your mime.types file (usually located in /etc/nginx/) and add the line: application/x-pn-mpg mpg mpeg;. Reload Nginx with sudo service nginx reload to apply the changes.

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.