Video file format
A video file normally consists of a container format (e.g. Matroska) containing video data in a video coding format (e.g. VP9) alongside audio data in an audio coding format (e.g. Opus). The container format can also contain synchronization information, subtitles, and metadata such as title etc.. A standardized (or in some cases de facto standard) video file type such as .webm is a profile specified by a restriction on which container format and which video and audio compression formats are allowed.
The coded video and audio inside a video file container (i.e. not headers, footers and metadata) is called the essence. A program (or hardware) which can decode video or audio is called a codec; playing or encoding a video file will sometimes require the user to install a codec library corresponding to the type of video and audio coding used in the file.
Good design normally dictates that a file extension enables the user to derive which program will open the file from the file extension. That is the case with some video file formats, such as WebM (.webm), Windows Media Video (.wmv), and Ogg Video (.ogv), each of which can only contain a few well-defined subtypes of video and audio coding formats, making it relatively easy to know which codec will play the file. In contrast to that, some very general-purpose container types like AVI (.avi) and Quicktime (.mov) can contain video and audio in almost any format, and have file extensions named after the container type, making it very hard for the end user to use the file extension to derive which codec or program to use to play the files.
The free software ffmpeg project's libraries have very wide support for encoding and decoding video file formats. For example, Google uses ffmpeg to support a wide range of upload video formats for YouTube. One widely used media player using the ffmpeg libraries is the free software VLC media player, which can play most video files that end users will encounter.
List of video file formats
|Name||File extension(s)||Container||Video coding format(s)||Audio coding format(s)||Notes|
|WebM||.webm||Matroska||VP8, VP9||Vorbis, Opus||Free and libre format created for HTML5 video.
|Flash Video (FLV)||.flv||FLV||VP6, Sorenson Spark, Screen video, Screen video 2, H.264||MP3, ADPCM, Nellymoser, Speex, AAC||Use of the H.264 and AAC compression formats in the FLV file format has some limitations and authors of Flash Player strongly encourage everyone to embrace the new standard F4V file format. De facto standard for web-based streaming video (over RTMP).|
|F4V||.flv||MPEG-4 Part 12||H.264||MP3, AAC||Replacement for FLV.|
|Ogg Video||.ogv, .ogg||Ogg||Theora, Dirac||Vorbis, FLAC||Open source|
|Multiple-image Network Graphics||.mng||N/A||N/A||none||Inefficient, not widely used.|
|QuickTime File Format||.mov, .qt||Quicktime||Many||AAC, MP3, others|
|Windows Media Video||.wmv||ASF||Windows Media Video, Windows Media Video Screen, Windows Media Video Image||Windows Media Audio, Sipro ACELP.net|
|Raw video format||.yuv||Further documentation needed||Doesn't apply||Doesn't apply||Supports all resolutions, sampling structures, and frame rates|
|RealMedia (RM)||.rm||RealMedia||RealVideo||RealAudio||Made for RealPlayer|
|RealMedia Variable Bitrate (RMVB)||.rmvb||RealMedia Variable Bitrate||RealVideo||RealAudio||Made for RealPlayer|
|Advanced Systems Format (ASF)||.asf||ASF||any||any|
|MPEG-4 Part 14 (MP4)||.mp4, .m4p (with DRM), .m4v||MPEG-4 Part 12||H.264, MPEG-4 Part 2, MPEG-2, MPEG-1||Advanced Audio Coding, MP3, others|
|MPEG-1||.mpg, .mp2, .mpeg, .mpe, .mpv||MPEG-1 part 1||MPEG-1 part 2||MPEG-1 Audio Layer I, MPEG-1 Audio Layer I, MPEG-1 Audio Layer III (MP3)||Old, but very widely used due to installed base.|
|MPEG-2 – Video||.mpg, .mpeg, .m2v||?||H.262||AAC, MP3, MPEG-2 Part 3, others|
|M4V – (file format for videos for iPods and PlayStation Portables developed by Apple)||.m4v||MPEG-4 Part 12||H.264||AAC, Dolby Digital||Developed by Apple, used in iTunes. Very similar to MP4 format, but may optionally have DRM.|
|SVI||.svi||?||?||?||Samsung video format for portable players|
|3GPP||.3gp||MPEG-4 Part 12||MPEG-4 Part 2, H.263, H.264||AMR-NB, AMR-WB, AMR-WB+, AAC-LC, HE-AAC v1 or Enhanced aacPlus (HE-AAC v2)||Common video format for cell phones|
|3GPP2||.3g2||MPEG-4 Part 12||MPEG-4 Part 2, H.263, H.264||AMR-NB, AMR-WB, AMR-WB+, AAC-LC, HE-AAC v1 or Enhanced aacPlus (HE-AAC v2), EVRC, EVRC-B, EVRC-WB, 13K (QCELP), SMV or VMR-WB||Common video format for cell phones|
|Material Exchange Format (MXF)||.mxf||MXF||?||?|
|ROQ||.roq||?||?||?||used by Quake 3|
|Nullsoft Streaming Video (NSV)||.nsv||NSV||?||?||For streaming video content over the Internet|
- Kaourantin.net (31 October 2007) Tinic Uro New File Extensions and MIME Types, Retrieved on 2009-08-03