Although it’s not a secret, the world of video technology looms largely in the shadows of back-end development. In this shadowy realm, there is a constant battle amongst developers to find and implement the highest quality and lowest file size video format container. In this post, we cover the history, definitions, and outlook of these fierce container combatants, and hopefully – “stream” away with a better understanding of each and how we can best utilize them to deliver top quality video content.
What is MP4?
MPEG-4 was initially created by the Moving Pictures Experts Group (MPEG) as a standardized video coding format in late 1998. Although there are over 20 different MPEG standards, MP4 is still the most used format within the video developer community
MPEG-4 Part 14, otherwise known as MP4 or MPEG 4, is one of the most commonly used container formats and often has a .mp4 file ending (or.m4s for segments). It is used for Dynamic Adaptive Streaming over HTTP (DASH) and can also be used for Apple’s HLS streaming. MP4 is based on the ISO Base Media File Format (MPEG-4 Part 12), which is based on the QuickTime File Format. The MP4 container format supports a wide range of codecs, most commonly: H.264 or H.265 (HEVC) for video and Advanced Audio Coding (AAC) for audio.
Due to its versatility in application, MP4 is one of the most used video containers as it capable of delivering the top two streaming protocols of 2019 (according to our Video Developer report), HLS and MPEG-DASH.
What is MKV?
MKV – Otherwise known as Matroska, was created in 2002 by independent (but soon-to-be Google) developer, Steve Lhomme, as a binary, free, and open-standard container format. Matroska is usually found as an .MKV file (Matroska video), .MKA files (Matroska audio) and .MKS files (subtitles) and .MK3D files (stereoscopic/3D video). It is also the basis for .webm (WebM) files. WebM files are a major subset of Matroska.
MKV, an Extensible Binary Meta Language, was developed as a means to provide a free and open alternative to MP4. Given its origin as an open standard, Matroska was built in a manner that could be adapted to support virtually any codec, however, one of the main goals was to support Google’s (also free and open) codecs like VP8 & VP9 or Opus & Vorbis. Although Matroska is highly adaptable, many video distributors avoid implementation due to device incompatibility.
The long battle: MKV vs MP4
So you may ask yourself – what’s the actual difference between MP4 and MKV? They’re both container formats and designed for versatile web video distribution (for both VOD & Live-Stream). The reality is, both container formats have a very diverse (but similar) set of applications but are ultimately limited by protocols. For example, MPEG-DASH is used more frequently by MP4 than MKV and HLS doesn’t even support MKV. MPEG-4 (MP4) offers better compatibility with more devices and browsers.
Take-Aways: Bitmovin and Container Formats
Bitmovin supports both of these container formats but utilizes MP4 with more overall frequency as it’s applied at the input, output, and player level.
Both formats were created by respected thought and standards leaders in the video industry. MP4 by the Moving Picture Experts Group, who are at the forefront of standards development, pooling in experts from hundreds of organizations with the singular goal of improving a consumer digital video experience. MKV by Matroska an open-standard format created by a passionate video developer and improved upon by the general development community. We encourage all users and/or developers to try both formats to determine what’s best for their video-stack needs, so ultimately there is no clear cut “winner” between these container formats, but MP4 is being used at a higher frequency.
Did you enjoy this post? We cover all of this information and more in our free eBook: The Ultimate Guide to Container Formats
If you want to share this article you can tweet about it here.
Other interesting content:
- Get Ready for a Multi-Codec World [Blog]
- Multi-Codec DASH Dataset: An Evaluation of AV1, AVC, HEVC and VP9 [Blog]
- Assessing Video Quality: Methods, Measurements, and Best Practices [Webinar]