What is MIME type "audio/x-m4b"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
audio/x-m4b is a MIME type for audio files that use the Advanced Audio Coding (AAC) format.It is commonly used for audiobooks because it supports features like chapter markers and bookmarks. This means you can pause and resume playback easily and navigate between chapters.
The format is container-based, similar to other types that use AAC. It is related to formats such as MP4 and M4A, though it often provides additional features for spoken-word content.
Other files using AAC include formats like 3GP, AAC, and M4P. However, M4B is specifically tailored for audiobook use.
- Primarily used for audiobooks with chapter and bookmarking support.
- Based on the AAC standard for efficient audio compression.
- Utilizes a container format similar to MP4 to embed rich metadata.
- Compatible with many modern media players and audiobook apps.
Associated file extensions
.mp4, .m4a, .3gp, .aac, .m4b, .m4p
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: audio/x-m4b
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="audio/x-m4b">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', 'audio/x-m4b');
res.end('Content here');
}).listen(3000);
Associated file extensions
.mp4, .m4a, .3gp, .aac, .m4b, .m4p
FAQs
What is the primary use case for the audio/x-m4b MIME type?
The audio/x-m4b MIME type is specifically designed for audiobooks and spoken-word content. Unlike standard music files, this format supports metadata for chapters and bookmarks, allowing listeners to pause playback and resume exactly where they left off or navigate between sections easily.
How does audio/x-m4b differ from audio/mp4 or .m4a files?
Technically, both formats use the MPEG-4 container and AAC compression. The main difference is usage: files served as audio/x-m4b (using the .m4b extension) signal media players—particularly Apple devices—to treat the file as an audiobook, enabling features like variable playback speed and remembering the playback position.
How do I configure my web server to serve .m4b files correctly?
To ensure browsers and media players recognize the file correctly, you must add the MIME type to your server configuration.
Apache: Add AddType audio/x-m4b .m4b to your .htaccess or config file.
Nginx: Add audio/x-m4b m4b; inside the types { } block in mime.types or nginx.conf.
Why does the MIME type start with 'x-'?
The x- prefix indicates that audio/x-m4b is a non-standard MIME type, rather than one officially registered with the IANA. Despite this, it is the de facto standard used by Apple iTunes and many other applications to identify audiobook files distinct from standard .mp4 audio.
Can HTML5 browsers play audio/x-m4b files directly?
Most modern browsers (Chrome, Safari, Firefox) can play the underlying AAC audio content found in these files. However, because audio/x-m4b is not a standard web type, some browsers might default to downloading the file rather than streaming it. For web playback, ensure your <audio> tag specifies the correct type or consider serving as audio/mp4 if compatibility issues arise.
Can I simply rename an .m4a file to .m4b to change its behavior?
Yes, in many cases, simply renaming the file extension from .m4a to .m4b is enough for software like iTunes to recognize it as an audiobook. This prompts the software to apply the audio/x-m4b logic, enabling bookmarking without requiring you to re-encode the audio stream.
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.