Testing

MPEG-4: Browser Support, Features, Known Issues

MPEG-4 H.264 video plays in Chrome 4+, Edge 12+, Safari 3.2+, Firefox 35+, Opera 25+, and IE 9+. Learn MPEG-4 browser support, features, and known issues.

Author

Prince Dewani

May 6, 2026

MPEG-4 is a family of audio, video, and container standards from the ISO/IEC Moving Picture Experts Group, published as ISO/IEC 14496. Web browsers play MPEG-4 H.264 video from Chrome 4, Edge 12, Safari 3.2, Firefox 35, Opera 25, IE 9, and Samsung Internet 4 on, while Opera Mini never added support.

This guide covers what MPEG-4 is, the browsers that support it, the key features, the difference between MPEG-4 and MP4, the use cases, and the known issues.

What is MPEG-4?

MPEG-4 is a family of audio, video, and container standards from the ISO/IEC Moving Picture Experts Group, published as ISO/IEC 14496. The standard has more than 30 parts. The most used in web browsers are Part 10 (H.264 video), Part 3 (AAC audio), and Part 14 (the MP4 container).

Which browsers does MPEG-4 support?

Almost every modern browser plays MPEG-4 H.264 video. Chrome, Edge, Safari, Firefox, Opera, Samsung Internet, Android Browser, and Internet Explorer 9 and later all decode it through the HTML5 video element, while Opera Mini never added support.

Loading browser compatibility data...

MPEG-4 compatibility in Chrome

Chrome plays MPEG-4 H.264 video from Chrome 4 on Windows, macOS, Linux, and ChromeOS. Chrome on Android plays it from Chrome 4 on, with hardware decoding on most devices. Chrome bundles the FFmpeg-based libavcodec decoder, so the same H.264 pipeline works on every platform without extra OS plugins. AAC audio inside the MP4 container plays through the same decoder.

MPEG-4 compatibility in Edge

Microsoft Edge plays MPEG-4 H.264 video from Edge 12 on. Both the legacy EdgeHTML build and the modern Chromium-based Edge use the Media Foundation H.264 decoder on Windows and the bundled FFmpeg decoder on macOS and Linux. Hardware-accelerated playback is on by default when the GPU exposes a Direct3D 11 H.264 decoder.

MPEG-4 compatibility in Firefox

Firefox plays MPEG-4 H.264 from Firefox 35 on Windows, macOS, and Android. Firefox 21 to 34 had partial support tied to Windows 7 and later. Firefox 2 to 20 did not decode H.264 at all. On Linux, Firefox calls the system FFmpeg or GStreamer libraries, so distributions without those packages cannot play MPEG-4 video. Mozilla picked this path to avoid bundling licensed H.264 code in the browser binary.

MPEG-4 compatibility in Safari

Safari plays MPEG-4 H.264 from Safari 3.2 on macOS, and Safari on iOS plays it from iOS 3.2 on. Apple ships the H.264 decoder as part of macOS and iOS, so MPEG-4 video plays in Safari, Safari View Controller, and WKWebView without extra plugins. Hardware decoding runs on every Mac and iPhone made since the iPhone 4.

MPEG-4 compatibility in Opera

Opera plays MPEG-4 H.264 from Opera 25 on Windows, macOS, and Linux. Opera 9 to 24 did not decode H.264. Opera Mobile plays it from Opera Mobile 11 on. Opera Mini never added support, because the proxied rendering pipeline does not run a video decoder on the device, so MPEG-4 video falls back to the source URL.

MPEG-4 compatibility in Samsung Internet

Samsung Internet plays MPEG-4 H.264 from Samsung Internet 4 on. The browser uses the Android MediaCodec API to hand decoding to the device's hardware H.264 block, which ships on every Galaxy phone and tablet. AAC audio inside the MP4 container plays through the same MediaCodec path.

MPEG-4 compatibility in Android Browser

Chrome for Android plays MPEG-4 H.264 from Chrome 4 on. The legacy stock Android Browser added full support in Android 4.4 KitKat. Android 2.1 to 4.3 had partial support tied to the device's hardware decoder, with playback breaking on phones whose chipsets only handled the baseline profile. Firefox for Android picked up MPEG-4 from Firefox 17 on.

MPEG-4 compatibility in Internet Explorer

Internet Explorer plays MPEG-4 H.264 from IE 9 on Windows 7 and later. IE 5.5 to 8 did not decode H.264, since the HTML5 video element itself only landed in IE 9. Microsoft has retired Internet Explorer as a supported browser, so any project still on IE should plan a fallback through a server-side transcoder or a polyfill player such as JW Player.

Note

Note: MPEG-4 playback breaks across older Firefox builds, Linux distros without FFmpeg, and Opera Mini. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!

What are the key features of MPEG-4?

MPEG-4 bundles a video codec, an audio codec, a container, and a streaming model into one standard. The features below decide whether MPEG-4 is the right pick for a web video pipeline.

  • ISO/IEC 14496 standard: MPEG-4 is the umbrella standard from ISO/IEC and the Moving Picture Experts Group, with more than 30 parts that cover video, audio, scene description, file format, and content protection.
  • Part 10 (H.264 AVC) video: The most widely used MPEG-4 video codec. Every modern browser, smartphone, smart TV, and Blu-ray player can decode it, and most ship a hardware decoder for low-CPU playback.
  • Part 2 visual codec: MPEG-4 Visual is the older video codec inside DivX and Xvid files. It plays on most desktop media players but does not play in any browser through the HTML5 video element.
  • Part 14 MP4 container: The .mp4 file that packs H.264 video, AAC audio, subtitles, and chapter markers into one file. The same container also holds H.265, AV1, and Opus when the player supports them.
  • Part 3 audio codecs: MPEG-4 Audio defines AAC-LC, HE-AAC, AAC-LD, and ALS. AAC-LC at 128 to 192 kbps is the default audio track for MP4 video on the web.
  • Hardware decode support: Every Intel, AMD, Qualcomm, Apple, and Samsung GPU ships a fixed-function H.264 decoder. This is why MPEG-4 video runs at low CPU cost on every laptop and phone.
  • Adaptive streaming friendly: MPEG-4 fragments fit the MPEG-DASH and HLS streaming protocols, which is why YouTube, Netflix, and Disney+ deliver MPEG-4 fragments to browser clients.
  • DRM-ready through CENC: MPEG-4 Common Encryption integrates with the Encrypted Media Extensions API, which Widevine, PlayReady, and FairPlay use to lock paid video to the browser.
...

What is the difference between MPEG-4 and MP4?

MPEG-4 and MP4 sound interchangeable but describe different layers of the same standard. MPEG-4 is the family of compression standards. MP4 is the container format defined inside that family as Part 14. The table below maps the differences side by side.

DimensionMPEG-4MP4
DefinitionFamily of audio, video, and container standardsSpecific container file inside MPEG-4 Part 14
Standard IDISO/IEC 14496 (umbrella)ISO/IEC 14496-14
What it coversVideo (Part 10), audio (Part 3), container (Part 14), DRM, scene descriptionOne file that wraps video, audio, subtitles, chapters, and metadata
File extensionNone directly. Parts use their own extensions..mp4, .m4v, .m4a, .m4b, .m4p, .m4r
Codec insideDefines codecs such as H.264, AAC, ALS, MPEG-4 VisualHolds H.264, H.265, AV1, AAC, Opus, AC-3 streams
Browser playbackWeb browsers play MPEG-4 only through the H.264 + AAC profile inside an MP4 file.Plays in Chrome 4+, Edge 12+, Safari 3.2+, Firefox 35+, Opera 25+, and IE 9+.
Patent licensingCodec parts (H.264, AAC) need a Via LA license for paid use.Container itself is royalty-free; only the codec inside triggers fees.
Best fitTerm used in standards docs and codec discussions.Default video file for the web, mobile, and consumer hardware.

What are the use cases of MPEG-4?

MPEG-4 is the default video format on the web, mobile devices, and consumer electronics. The list below covers where it shows up in production.

  • HTML5 video on the web: MPEG-4 H.264 + AAC is the lowest-friction way to deliver video that plays in every browser. Sites like YouTube, Vimeo, and Twitter use MPEG-4 fragments as the baseline track.
  • Adaptive streaming: MPEG-DASH and HLS slice MPEG-4 video into 2 to 10 second fragments, which the browser pulls based on bandwidth. Netflix, Disney+, and Hulu all rely on MPEG-4 fragments inside DASH.
  • WebRTC video calls: WebRTC requires every endpoint to support either VP8 or H.264. Most enterprise video tools, including Zoom and Microsoft Teams, pick H.264 for hardware-accelerated calls.
  • Mobile video capture: iPhone, iPad, and most Android phones save camera video as MPEG-4 H.264 inside an .mp4 file by default, so user uploads come through as MPEG-4.
  • Broadcast and OTT: Apple TV, Roku, Amazon Fire TV, Chromecast, and Smart TVs all decode MPEG-4 H.264 in hardware. OTT apps target it as the safe-fallback codec.
  • Audio-only delivery: Apple Music, podcasts, and audiobooks ship as .m4a or .m4b files, which are MPEG-4 Part 14 containers carrying AAC or ALAC audio without a video track.

A typical MPEG-4 video element looks like the snippet below. The codecs string locks the browser to H.264 baseline plus AAC-LC, so only browsers that can decode both ever request the file:

<!-- Play an MPEG-4 H.264 file in the HTML5 video element.
     The codecs string locks the browser to H.264 baseline plus
     AAC-LC audio, so it can pick the file up only if it can decode
     both. The webm source is the fallback for older Firefox builds. -->
<video controls width="800" height="450" preload="metadata">
  <source src="trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
  <source src="trailer.webm" type="video/webm" />
  <p>Your browser cannot play MPEG-4 video.
     <a href="trailer.mp4">Download the file</a> instead.</p>
</video>

What are the known issues with MPEG-4?

MPEG-4 plays almost everywhere, but the long tail still trips up real projects. The list below covers the failures that surface in production logs and bug trackers.

  • Linux Firefox needs system codecs: Firefox on Linux calls the system FFmpeg or GStreamer libraries to decode H.264. A minimal Debian or Alpine container without those packages cannot play MPEG-4 video, even on the latest Firefox build.
  • MPEG-4 Part 2 does not play in browsers: DivX and Xvid files use MPEG-4 Part 2 (Visual), which Chrome, Firefox, Edge, and Safari never added. Files saved from older camcorders or P2P video need a transcode to H.264 before they play in HTML5 video.
  • Patent licensing for paid streams: H.264 patents are pooled at Via LA. Free-to-viewer streaming (YouTube, Vimeo) is exempt. Subscription services and hardware sellers pay per-unit royalties, which is one reason AV1 is gaining ground.
  • Profile and level mismatches: A baseline-only mobile decoder cannot play a high-profile 4K MPEG-4 file. The browser shows a black frame or throws a MEDIA_ERR_DECODE error if the codecs string in the source tag does not match the device.
  • Opera Mini cannot decode video: Opera Mini renders pages on Opera's servers and ships compressed images to the device. There is no video decoder on the phone, so MPEG-4 sources fall through to a download link.
  • Older Android partial support: Android 2.1 to 4.3 played MPEG-4 only when the device's chipset shipped a baseline H.264 decoder. Some early budget phones from that era can stream MPEG-4 audio but show a black video frame.
  • iOS quirks around inline playback: Safari on iOS 9 and earlier always played MPEG-4 video full-screen. Inline playback needs the playsinline attribute added in iOS 10. Sites that miss the attribute see the player jump to full-screen on tap.
  • AAC-HE not supported everywhere: The High-Efficiency AAC profile (HE-AAC v2) is part of MPEG-4 Audio, but Safari does not decode it inside the HTML5 audio element. AAC-LC is the safe pick for cross-browser audio tracks.
  • Internet Explorer is retired: IE 9 to 11 played MPEG-4, but Microsoft has retired the browser. Anyone still on IE needs a fallback through a polyfill player or a server-side transcode to a different format.

In my experience, the most painful MPEG-4 bug shows up on Linux CI runners. A test hits a Firefox container, the container ships without ffmpeg, and the playback test fails with a silent MEDIA_ERR_SRC_NOT_SUPPORTED. The fix is small (apt install ffmpeg or libavcodec-extra), but the failure looks like a code regression until someone checks the container packages.

...

Citations

All MPEG-4 version numbers and platform notes in this guide come from these primary sources:

Author

Prince Dewani is a Community Contributor at TestMu AI, where he manages content strategies around software testing, QA, and test automation. He is certified in Selenium, Cypress, Playwright, Appium, Automation Testing, and KaneAI. Prince has also presented academic research at the international conference PBCON-01. He further specializes in on-page SEO, bridging marketing with core testing technologies. On LinkedIn, he is followed by 4,300+ QA engineers, developers, DevOps experts, tech leaders, and AI-focused practitioners in the global testing community.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests