Allowable video formats
1. MPEG files
MPEG files come in different guises:
- MPG: This is the most basic form of the
MPEG file formats. It contains MPEG-1 video, and MP2 (MPEG-1 layer 2) or
rarely MP1 audio.
- DAT: This is the very same format as MPG with a different extension. It is
used on Video CDs. Due to the way VCDs are
created and Linux is designed, the DAT files cannot be played nor copied from
VCDs as regular files. You have to use vcd:// to play a
Video CD.
- VOB: This is the MPEG file format on DVDs.
It is the same as MPG, plus the capability to contain subtitles or non-MPEG
(AC3) audio. It contains encoded MPEG-2 video and usually AC3 audio, but DTS,
MP2 and uncompressed LPCM are allowed, too.
- TY: This is a TiVo MPEG stream. It contains MPEG PES data for audio and
video streams, as well as extra information like closed captions. The
container is not an MPEG program stream, but a closed format created by TiVo.
For more information on TiVo stream format, please refer to the TyStudio page.
Series of frames form independent groups in MPEG files. This means that you
can cut/join an MPEG file with standard file tools (like dd, cut),
and it remains completely functional.
2. AVI files
Designed by Microsoft, AVI (Audio Video
Interleaved) is a widespread multipurpose format currently used
mostly for MPEG-4 (DivX and DivX4) video. It has many known drawbacks and
shortcomings (for example in streaming). It supports one video stream and 0 to
99 audio streams and can be as big as 2GB, but there exists an extension
allowing bigger files called OpenDML. Microsoft
currently strongly discourages its use and encourages ASF/WMV. Not that anybody
cares.
Note: DV cameras create raw DV streams that DV grabbing utilities convert to two
different types of AVI files. The AVI will then contain either separate audio
and video streams that
we can play or the
raw DV stream for which support is under development.
We supports two kinds of timings for AVI
files:
- bps-based: It is based on the
bitrate/samplerate of the video/audio stream. This method is used by most
players, including avifile
and Windows Media Player. Files with broken
headers, and files created with VBR audio but not VBR-compliant encoder will
result in A/V desync with this method (mostly at seeking).
- interleaving-based: It does not use the
bitrate value of the header, instead it uses the relative position of
interleaved audio and video chunks, making badly encoded files with VBR audio
playable.
Any audio and video codec is allowed, but note that VBR audio is not well
supported by most players. The file format makes it possible to use VBR audio,
but most players expect CBR audio, thus they fail with VBR. VBR is uncommon and
Microsoft's AVI specs only describe CBR audio. We also noticed that most AVI
encoders/multiplexers create bad files when using VBR audio.
3. ASF/WMV files
ASF (Active Streaming Format) comes from Microsoft. They developed two
variants of ASF, v1.0 and v2.0. v1.0 is used by their media tools (Windows Media Player and Windows Media Encoder) and is very secret. v2.0 is
published and patented :). Of course they differ, there is no compatibility at
all (it is just another legal game). We
supports only v1.0, as nobody has ever seen v2.0 files :). Note that ASF files
nowadays come with the extension .WMA or .WMV.
4. QuickTime/MOV files
These formats were designed by Apple and can contain any codec, CBR or VBR.
They usually have a .QT or .MOV
extension. Note that since the MPEG-4 group chose QuickTime as the recommended
file format for MPEG-4, their MOV files come with a .MPG
or .MP4 extension (Interestingly the video and audio
streams in these files are real MPG and AAC files. You can even extract them
with the -dumpvideo and -dumpaudio
options.).
Note: Most new QuickTime files use
Sorenson video
and QDesign Music audio. See our codecs
Sorenson
section.
5. VIVO files
We happily demuxes VIVO file formats. The
biggest disadvantage of the format is that it has no index block, nor a fixed
packet size or sync bytes and most files lack even keyframes, so forget seeking!
The video codec of VIVO/1.0 files is standard h.263. The video codec of VIVO/2.0 files is a modified,
nonstandard h.263v2. The audio is the same, it
may be g.723 (standard), or Vivo Siren.
See the VIVO video
codec and VIVO audio
codec sections for installation instructions.
6. FLI files
FLI is a very old file format used by Autodesk
Animator, but it is a common file format for short animations on the net. We demuxes and decodes FLI movies and is even able
to seek within them (useful when looping with the -loop
option). FLI files do not have keyframes, so the picture will be messy for a
short time after seeking.
7. RealMedia (RM)
files
Yes, we can read (demux) RealMedia (.rm) files. Here are the lists of the supported RealVideo
and RealAudio
codecs.
8. NuppelVideo
files
NuppelVideo is a TV grabber tool (AFAIK:). We can read its .NUV files
(only NuppelVideo 5.0). Those files can contain uncompressed YV12, YV12+RTJpeg
compressed, YV12 RTJpeg+lzo compressed, and YV12+lzo compressed frames. We decodes them all. Seeking
works.
9. yuv4mpeg files
yuv4mpeg / yuv4mpeg2 is a file
format used by the mjpegtools
programs. You can grab, produce, filter or encode video in this format using
these tools. The file format is really a sequence of uncompressed YUV 4:2:0
images.
10. FILM files
This format is used on old Sega Saturn CD-ROM games.
11. RoQ files
RoQ files are multimedia files used in some ID games such as Quake III and
Return to Castle Wolfenstein.
12. OGG/OGM files
This is a new fileformat from Xiphophorus. It can contain any video or audio codec, CBR or
VBR.
13. PVA files
PVA is an MPEG-like format used by DVB TV boards' software (e.g.: MultiDec, WinTV under
Windows).
14. NSV files
NSV (NullSoft Video) is the file format used by the Winamp player to stream audio and video. Video is VP3,
VP5 or VP6, audio is MP3, AAC or VLB. The audio only version of NSV has the .nsa extension. We can
play both NSV streams and files. Please note that most files from the Winamp site use VLB audio, that
can't be decoded yet. Moreover streams from that site need an extra
depacketization layer that still has to be implemented (those files are
unplayable anyway because they use VLB audio).