Video Containers and Codecs

Digital video contains many different components but two of the main things when encoding are the container that is used and the codec that the video is encoded with. A video container is a specification on how data elements exist in a computer file. The container contains the components of a video, the images, sound, track information, etc. The codec is the algorithm used to encode and decode the audio and video stream. For a full list of current container formats please refer to:
http://en.wikipedia.org/wiki/Comparison_of_container_formats
For our purposes the containers and codecs to look at are:

Container

Video formats Supported

MPEG (.mpg, .mpeg)

MPEG‐1, MPEG‐2

Advanced Systems Format (.asf, .wmv, .wma)

All VFW Codecs, H.264, Windows Media Video, VC‐

1

AVI

All VFW Codecs,

MP4

MPEG‐2, MPEG‐4, H.263, H.264, VC‐1, Dirac

The MPEG container has been around since 1993 and supports the MPEG‐1 and MPEG‐2 codec formats. http://en.wikipedia.org/wiki/MPEG_program_stream
The AVI Container was created by Microsoft in 1992, with its second release in 1996 as the default container format for windows. It can hold Full Frame Video, MJPEG, VFW codecs, and MPEG‐4 video.
http://en.wikipedia.org/wiki/Audio_Video_Interleave
The ASF was the next container Microsoft released and is the default container for all windows media video (WMV). This container and codec plays on almost all Microsoft OS computers by default.
http://en.wikipedia.org/wiki/Advanced_Systems_Format
The MP4 container was developed by the MPEG group and can contain MPEG‐2 and MPEG‐4 codecs as well as others.
http://en.wikipedia.org/wiki/MPEG‐4_Part_14

There are many other container formats. Some are open source many are proprietary and patent encumbered. For use in POSM we by default encode all of our files into WMV8 video allowing it to play default on systems going back to Windows 2000. Other options we include are MPEG‐1 in a MPEG container and MPEG4 (MPEG-4 ASP hardware encoded, XVID when compressed or re-encoded) in an AVI container. We have just recently added H264 options as our hardware encoder now supports hardware H264 encoding. The H264 options may change as we develop its usage further. There are

many different containers and codecs for video, most require a codec to be installed to a computer before they can be played.