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. 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
||It has been suggested that this section be merged into Comparison of video container formats. (Discuss) Proposed since December 2016.|
|Name||File extension(s)||Container||Video coding format(s)||Audio coding format(s)||Notes|
|WebM||.webm||Matroska||VP8, VP9||Vorbis, Opus||Royalty-free 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.|
|Vob||.vob||VOB||H.262/MPEG-2 Part 2 or MPEG-1 Part 2||PCM, DTS, MPEG-1, Audio Layer II (MP2), or Dolby Digital (AC-3)||Files in VOB format have .vob filename extension and are typically stored in the VIDEO_TS folder at the root of a DVD. The VOB format is based on the MPEG program stream format.|
|Ogg Video||.ogv, .ogg||Ogg||Theora, Dirac||Vorbis, FLAC|
|GIF||.gif||N/A||N/A||none||Simple animation, inefficient compression, no sound, widely supported|
|Video alternative to GIF||.gifv||HTML||Any||none||Not standardized, and not a real video file in the classical meaning since it merely references the real video file (e.g. a .webm file), which has to exist separately elsewhere. A .gifv "file" is simply a HTML webpage which includes a HTML5 video tag, where the video has no sound. As there were large communities online which create art using the medium of short soundless videos in GIF format, GIFV was created as a functionally similar replacement with vastly smaller filesizes than the inefficient GIF format.|
|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|
|AMV video format||.amv||Modified version of AVI||Variant of Motion JPEG||Variant of IMA, ADPCM||Proprietary video file format produced for MP4 players and S1 MP3 players with video playback|
|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, 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|
|Flash Video (FLV)||.flv .f4v .f4p .f4a .f4b||Audio, video, text, data||Adobe Flash Platform||SWF, F4V, ISO base media file format||Developed by the Adobe Flash Platform|
- "Google's YouTube Uses FFmpeg | Breaking Eggs And Making Omelettes". multimedia.cx.
- Kaourantin.net (31 October 2007) Tinic Uro New File Extensions and MIME Types, Retrieved on 2009-08-03
- "QuickTime File Format". www.digitalpreservation.gov. 2013-02-14.
- "Google Code Archive - Long-term storage for Google Code Project Hosting.". code.google.com.
- "RoQ - MultimediaWiki". wiki.multimedia.cx.