MPEG-4 vs AVC/H.264 vs MP4. What is the difference?
MPEG-4 video, AVC/H.264, MP4 are all parts of the MPEG-4 group of standards which explains the confusion between them.
- MPEG-4 Part 2 Visual (ISO/IEC 14496–2) is a video coding standard released in 1999 as MPEG-4 video codec;
- MPEG-4 Part 10 Advanced Video Coding (ISO/IEC 14496–10) is a video coding standard released in 2003 as AVC/H.264 video codec;
- MPEG-4 Part 14 (ISO/IEC 14496–14): MP4 file format is a media container. It determines a method of storage rather than a compression algorithm.
AVC/H.264 codec took the best from MPEG-4 Visual, but these video formats are not backward compatible! MPEG-4 codec was pushed out of the market because AVC/H.264 provided a higher compression ratio. AVC/H.264 is the most popular format worldwide to this date.
Video codecs are algorithms for encoding and decoding video data. Encoder compresses video streams, which reduces the amount of data for storage and transmission. Decoder reverses conversion for playout or editing a video stream.
Container is a data storage. It can include video and audio sequences, subtitles, service information and metadata.
The main difference is that a codec (video format) is an algorithm for encoding/decoding video data, and a container (file format) is a package in which a compressed video sequence is stored.
Examples of video codecs and media containers:
H.261, H.263, VC-1, MPEG-1, MPEG-2, MPEG-4, AVS1, AVS2, AVS3, VP8, VP9, AV1, AVC/H.264, HEVC/H.265, VVC/H.266, EVC, LCEVC
MPEG-1 System Stream, MPEG-2 Program Stream, MPEG-2 Transport Stream, MP4, MOV, MKV, WebM, AVI, FLV, IVF, MXF, HEIC
History of video codecs developments:
- H.261–1990 by VCEG
- MPEG-1–1991 by MPEG
- H.263–1995 by VCEG
- MPEG-2–1996 by MPEG
- MPEG-4 part 2–1999 by MPEG
- AVC — 2003 by JVET (MPEG+VCEG)
- VC-1–2003 by Microsoft
- AVS1–2006 by Audio and Video coding standard workgroup of China
- VP8–2008 by Google
- VP9–2013 by Google
- HEVC — 2013 by JVET
- AVS2–2016 by Audio and Video coding standard workgroup of China
- AV1–2018 by Alliance for open media (Google, IBM, Amazon, Intel, Netflix, Cisco, Mozilla, etc.)
- AVS3 part 1–2019 by Audio and Video coding standard workgroup of China
- VVC/H.266–2020 by JVET
- EVC — 2020 by MPEG
- LCEVC — 2020 by MPEG
- AVS3 part 2–2022 by Audio and Video coding standard workgroup of China
Author: Alexander Kruglov is a leading engineer at Elecard. He has been working in video analysis since 2018. Alexander is in charge of support of the Elecard’s largest clients, such as Netflix, Cisco, Walt Disney Studios, etc.