Essentials:

Overview of Video for Windows


file-video-avi-iconAVI Overview

                      (c) 1996-1997, John F. McGowan

What is in this Overview?

               - Overview of Video for Windows, ActiveMovie, and AVI
               PROGRAMMING/TECHNICAL TOPICS
               - Video for Windows
               - AVI file format
               - Video for Windows compressors and decompressors
               - Microsoft Four Character Codes (FOURCC)
               - ActiveMovie
               - DirectDraw
               - ActiveX
               - Playing an AVI file within a Windows Application
               - Reading and Writing an AVI file within a Windows Application
               UTILITIES, SYSTEM ADMINISTRATION, AUTHORING, ETC.
               - How to play an AVI file?
                             - DOS
                             - Windows
                             - MacIntosh
                             - Unix
                             - VAX/VMS

               - How to convert AVI to various audio/video formats.
                        - MPEG
                        - QuickTime .MOV (.MooV)
                        - Animated GIFs (GIF89a)
                        - Microsoft ASF
                        - Sequence of Still Images in Separate Files
               - How to give AVI files a different extension in Windows 3.1
               - How to convert other audio/video formats to AVI
                        - QuickTime .MOV (.MooV)
                        - Sequence of Still Images in Separate Files
                        - Autodesk Animation (FLI or FLC)
                        - MPEG
                        - Animated GIF

               - How to create AVI files from analog video
               - How to edit AVI files
               - Editing and converting WAV files
               - How to output AVI files to videotape
               - How to embed an AVI file in a Web page
               - MIME type of AVI
               - How to embed an AVI file in a Microsoft Word Document
               - Size limits on AVI files
               - Bibliography of sources of information on Video for Windows and AVI
               - Answers to miscellaneous other frequently asked questions about AVI 
               ABOUT THE AUTHOR
               - John McGowan is a software engineer with experience in
digital audio and video on PC/Windows, Unix/X Windows, and PowerMacintosh
platforms.  He has developed commerical MPEG-1 and MPEG-2 player software.
He has a Ph.D. in physics from the University of Illinois at Urbana-Champaign
and a B.S. in physics from the California Institute of Technology.
               - John McGowan's Home Page

What is AVI?

AVI stands for Audio Video Interleave.  It is a special case
of the RIFF (Resource Interchange File Format).  AVI is defined by
Microsoft.  AVI is the most common format for audio/video data on the
PC.
Return to Top

Video for Windows

Video for Windows is an entire system for handling video
in Microsoft Windows.  It was part of MS Windows 3.1  The
original Video for Windows is a collection of 16 bit
windows utilities, dynamic link libraries, and other
components.
The AVI file and file format is a central part of Video
for Windows.
Microsoft has provided a 32 bit version of Video for Windows
for Windows 95, while threatening to replace Video for Windows with
ActiveMovie.
Return to Top

What is the AVI File Format?

AVI Files are a special case of RIFF files.  RIFF is
the Resource Interchange File Format.
   RIFF files are built from
 (1) RIFF Form Header
              'RIFF' (4 byte file size) 'xxxx'
                  where 'xxxx' identifies the specialization (or form)
                  of RIFF.  'AVI ' is an example.
 (2) A Chunk
  (4 byte ident) (4 byte chunk size) (data)
 (3) A List
  'LIST' (4 byte list size) (4 byte list ident) (data)

   where the data is comprised of LISTS or CHUNKS.
 AVI is a specialization or "form" of RIFF, described below.

'RIFF' (4 byte file length) 'AVI '   // file header
'LIST' (4 byte list length) 'hdrl'   // list of headers for AVI file
'avih' (4 byte chunk size)  (data)   // AVI header
'LIST' (4 byte list length) 'strl'   // stream list
'strh' (4 byte chunk size)  (data)   // video stream header
'strf' (4 byte chunk size)  (data)   // video stream format
'LIST' (4 byte list length) 'strl'   // stream list
'strh' (4 byte chunk size)  (data)   // audio stream header
'strf' (4 byte chunk size)  (data)   // audio stream format
(optional junk chunk to align on 2K byte boundary)
'LIST' (4 byte list length) 'movi'   // list of movie data
 one or more ...
 'LIST' (4 byte list length) 'rec '
 '##wb' (4 byte chunk size)  (data)  // sound data
 '##dc' (4 byte chunk size)  (data)  // video data
 optional index
 'idx1' (4 byte chunk size) (index data) // index into movie

  Each 'rec ' list contains the sound data and video data for a single
frame in the sound data chunk and the video data chunk.
  The sound data is typically 8 or 16 bit PCM, stereo or mono,
sampled at 11, 22, or 44.1 KHz.  The sound is typically uncompressed.
Return to Top

What compressors does AVI support?

The video data in an AVI file can be formatted and compressed in
a variety of ways.  Video for Windows comes with several
compressors:
Intel Indeo (version 3.2)
Microsoft Video 1
Microsoft RLE (Run Length Encoding)
CinePak

AVI is not restricted to these compressors.  They
are the compressors provided with Video for Windows.

How to determine which Video for Windows decompressors are installed on a PC?
In the SYSTEM.INI file, there is a section [drivers] which will contain
some lines as follows:
[drivers]
VIDC.MSVC=msvidc.drv
VIDC.YVU9=isvy.drv
VIDC.IV31=indeor3.drv
VIDC.RT21=indeo.drv
VIDC.CVID=iccvid.drv
VIDC.MRLE=msrle.drv
AVI files contain a four character code (such as 'IV31' or 'CVID')
in the stream header for the video stream.  This four character
code identifies the video compressor used for the video stream.
For example, 'CVID' is the identifier for CinePak (formerly Compact
Video) compression.
Video for Windows prefixes the four character code with VIDC. and
uses it to look up the video decompressor driver in SYSTEM.INI
iccvid.drv is the driver for CinePak in the example above.
Note: These are 16-bit drivers.  Windows 95 adds a section [drivers32]
for 32 bit drivers.  There are 32 bit versions of the Video for
Windows drivers.  See below (and notice that the 32 bit drivers have
different names from the 16 bit drivers).
[drivers32]
vidc.cvid=iccvid.dll          ; Cinepak for Windows 32
vidc.iv31=ir32_32.dll
vidc.iv32=ir32_32.dll
vidc.msvc=msvidc32.dll
vidc.mrle=msrle32.dll

What is Indeo Video Interactive?

Indeo Video Interactive, Indeo 4.1, is a new version of Indeo
from Intel based on a hybrid wavelet algorithm.  This is a
different compression algorithm than Indeo 3.2 which is included
with Video for Windows.
Indeo Video Interactive can be installed as a Video for Windows
codec or in the new ActiveMovie environment from Microsoft.
For further information on Indeo Video Interactive

http://www.intel.com/pc-supp/multimed/indeo/index.htm

How to identify an AVI file that uses Indeo Video Interactive
for the video compressor?
Video for Windows identifies different video compressors through
four character codes.  For example, 'cvid' is the four character
code for the widely used CinePak compressor.  The four character
code is found in the video stream header 'strh' in the AVI file.
Indeo Video Interactive (Indeo 4.1) uses the four character code
'iv41'
If Indeo Video Interactive is not installed installed Video for
Windows will report an error, indicating that it cannot find the
compressor for 'iv41'.  The specific message appears to be:
"Video not available, cannot find 'vids:iv41' decompressor."

Which compressor is best?

CinePak is the most widely used.  CinePak reportedly provides the fastest
playback of video.  While Indeo 3.2 provides similar or slightly
superior image quality for same compression, Indeo decompression is
much more CPU intensive than CinePak.  CinePak was originally
developed for the Mac and licensed to Apple by SuperMac.  It is now
free with Video for Windows.  It is also free with Apple's QuickTime.
There are at least two CinePak codecs in existence:
             CinePak by SuperMac  (the original)
             CinePak by Radius    (newer, better?)
Peter Plantec's Caligari TrueSpace2 Bible strongly recommends using the Radius
codec for superior results when generating AVI files from TrueSpace.
Return to Top

Microsoft Four Character Codes (FOURCC)

A Four Character Code or FOURCC is a four byte code defined by
Microsoft as part of Video for Windows to identify various types
of video data.
Microsoft defined FOURCC's to uniquely identify pixel layouts and
video compressor types in Video for Windows.  For example, the FOURCC
'CVID' identifies the CinePak (formerly Compact Video) video
compressor.  AVI files contain the FOURCC for the video compressor in the
video stream header.
In addition to codecs, Four Character Codes identify the pixel layouts
used in uncompressed images and video.  For example, codes such as
'YUY2' identify layouts of pixels in YUV space (as opposed to RGB).
These codes are used in interfacing with graphics cards.  For example,
the S3 ViRGE/VX chip supports the YUY2 pixel layout. YUY2 is popular
because it refers to the 4:2:2 format used in CCIR-601 (D1) digital
video.
Video for Windows, Display Control Interface (DCI), and Direct Draw
all use FOURCC's.
Extensive information on Microsoft's Four Character Codes (FOURCC) may be
found at
Dave Wilson's The Almost Definitive FOURCC Definition List

Return to Top

ActiveMovie

ActiveMovie is a new multimedia architecture for Windows 95 and
Windows NT (4.0 and after).  ActiveMovie includes support for
playing AVI, Quicktime (.MOV), and MPEG files.  ActiveMovie is
apparently intended to supersede Video for Windows.
ActiveMovie ships with the OEM Service Release 2 (OSR2) of Windows 95.
It did not ship with prior releases of Windows 95 but was available
separately through the ActiveMovie SDK.
ActiveMovie provides at least three different programming
interfaces:
               - The ActiveMovie ActiveX Control
               - ActiveMovie Component Object Model (COM) interfaces
               - The OM-1 MPEG MCI (Media Control Interface) command set
Amongst other things, the ActiveMovie ActiveX Control can be embedded
in HTML Web pages and programmed via VBScript or JavaScript.  It can also
be programmed using Visual C++ or Visual Basic as part of applications.
The ActiveMovie COM interaces can be accessed through Visual C++ or
Visual Basic.
ActiveMovie supports a subset of the Media Control Interface (MCI)
commands familiar to Video for Windows programmers.  These commands can
be accessed through the mciSendCommand(...) and mciSendString(...)
functions in C/C++.
Extensive information on ActiveX and ActiveMovie is available at the
Microsoft Web site.
Return to Top

DirectDraw

DirectDraw, one of the components of DirectX, is a new API that is
part of Windows 95.  DirectDraw allows programs to directly access
video memory and other hardware features in video display cards.
In the Windows 3.1 Graphic Device Interface (GDI), an application
program never writes directly to the memory in a display card.  It
writes to a buffer in main memory within Windows.  GDI invokes a GDI
video device driver and copies the image from main memory to the video
memory of the video card.  This multiple copying of the image
inevitably slows down the display.
The DirectDraw API provides a mechanism allowing appliation programs
to write directly into the video card's memory.  It also provides a
mechanism to access various special features in video cards such as
color space conversion, hardware scaling, z-buffering, alpha blending,
and so forth.
Video card manufacturers must provide a DirectDraw driver for DirectDraw
to work with their card.
Microsoft's ActiveMovie uses DirectDraw to achieve faster playback of
AVI, Quicktime, and MPEG files.
There is extensive information on the DirectDraw and DirectX API's at the
Microsoft Web site.

Versions of DirectX
   - DirectX 1
   - DirectX 2
   - DirectX 3
   - DirectX 3A (latest as of 2/18/97)
Return to Top

ActiveX

NOTE: ActiveX is NOT ActiveMovie.  There is an ActiveMovie ActiveX
control, but ActiveX is far more than this.
ActiveX is a stripped down version of OLE (Object Linking and
Embedding) targetted for the World Wide Web.  An ActiveX component or
control is a software component written in Visual Basic, Visual C++, or
Java that conforms to the ActiveX API.  This API is a variant of
OLE, designed to create small objects that can be dowloaded over the
Internet.
An ActiveX object or control may reside on a Web page to be downloaded
and run when Microsoft's Internet Explorer views the page.  An ActiveX
control can be the ActiveMovie ActiveX control which plays AVI and other
video formats supported by ActiveMovie.  An ActiveX control can be an
entertaining animation, a game like tic tac toe, anything.  In this
sense, ActiveX objects are similar to Java applets.
Unlike Java applets, once an ActiveX control has been downloaded once
it remains on the downloading machine and can be used again without
being dowloaded again.
Also unlike Java, ActiveX controls are tied to a particular
architecture, Windows 95 or Windows NT.  It is not clear how much
support Microsoft will give for ActiveX on non-Windows platforms.
Java applets are compiled to a Java bytecode that will run on any
platform with a Java virtual machine implemented.  Java applets will
run on Windows 3.1, Windows 95, Windows NT, PowerMacintosh, Linux,
Sun, and various other Unix platforms.
There is extensive information on ActiveX at the Microsoft Web site.

Netscape Fans:
ScriptActive is a Netscape Plug-In that adds support for ActiveX to
Netscape.
ScriptActive Web Site

Return to Top

Playing an AVI File within a Windows Application

Programmers can play an AVI File within a Windows application by
several means.  The simplest traditional way is to use the
Media Control Interface (MCI).  Video for Windows includes an
MCI driver mciavi.drv for AVI files.
Within the Windows API, programmers can use two C language API
functions, mciSendString(...) and mciSendCommand(...), to communicate with
the MCI driver.  mciSendString(...) sends MCI command strings such as
"play from 0 to 100" to the MCI driver.  mciSendCommand(...) sends MCI
command messages, a straight C type interface, to the MCI driver.
The syntax for mciSendString is:
MCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString,
    UINT cchReturn, HANDLE hwndCallback);

The pointer lpszCommand points to the MCI command string such as
"play from 0 to 100".  Consult the Microsoft SDK documentation for
more details.
The syntax for mciSendCommand is:
MCIERROR mciSendCommand(MCIDEVICEID IDDevice, UINT uMsg,
    DWORD fdwCommand, DWORD dwParam);

where uMsg is an MCI command message such as MCI_PLAY defined in an
include file.  Consult the Microsoft SDK documentation for more
details on MCI command messages.
mciSendString(...) and mciSendCommand(...) are essentially equivalent.
The MCI driver should convert the MCI command string to an MCI command
message internally.  The MCI command strings provide a more English like
interface to MCI.
For C++ programmers, Microsoft provides a window class MCIWnd to wrap
the MCI operations.  Quoting the Microsoft SDK documentation:
Microsoft sayeth....
MCIWnd is a window class for controlling multimedia devices. A library
of functions, messages, and macros associated with MCIWnd provides a
simple method to add multimedia playback or recording capabilities to
your applications.
Using a single function, your application can create a control that
plays devices such as video, CD audio, waveform audio, MIDI (Musical
Instrument Digital Interface), or any device that uses the Media
Control Interface (MCI). Automating playback is also quick and
easy. Using a function and two macros, an application can create an
MCIWnd window with the appropriate media device, play the device, and
close both the device and the window when the content has finished
playing.
... end Microsoft sayeth.

Consult the Microsoft documentation for more details on MCIWnd.
ActiveMovie appears intended to supersede MCI.  ActiveMovie includes
a restricted subset of MCI for (partial) backward compatibility.
However, Microsoft appears to want developers to switch over to
new API's such as ActiveX and ActiveMovie, built on top of Microsoft's
Component Object Model (COM) object oriented framework.
Return to Top

Reading and Writing an AVI file within a Windows Application

The Microsoft Windows Win32 SDK (Windows NT and Windows 95) includes a
set of functions and macros known as AVIFile for reading, writing, and
manipulating RIFF files including AVI files within a Windows program.
These functions are contained within a Dynamic Link Library
avifile.dll.
The AVIFile functions include:
AVIFileInit(...)
AVIFileOpen(...)
AVIFileReadData(...)
AVIFileWriteData(...)
AVIFileExit(...)
and many many others.  Consult Microsoft documentation for details.
Return to Top

Miscellaneous Questions about AVI and Video for Windows

What is most recent version of Video for Windows?
Most recent version of Video for Windows for Windows 3.1 appears to
be Video for Windows 1.1e.  (10/2/96)

Where can I get the Video for Windows 1.1e runtime?
>From Microsoft,
ftp://ftp.microsoft.com/softlib/mslfiles/WV1160.EXE
(Note the file name is all upper case)
Return to Top

How to give AVI files a different extension in Windows

It is possible to give an AVI file a different file extension, for
example VID.  Microsoft Windows can be configured so that Windows
treats this file the same as a file with the AVI extension.  For
example, double clicking on a .VID file in File Manager will play the
.VID file just the same as a .AVI file.
In Windows 3.x, edit the WIN.INI file, usually in the WINDOWS
directory.  There is a section [Extensions] which associates
file extensions with applications.  For example, this section
will typically include a line such as:
[Extensions]
AVI=mplayer.exe /play /close ^AVI
which causes Media Player (mplayer.exe) to be invoked when the user double
clicks on a file with extension AVI.  For VID, add a line
VID=mplayer.exe /play /close ^VID
Media Player is an MCI (Media Control Interface) application.  It will
attempt to play the .VID file through MCI.  At this point however, MCI
would not recognize VID although Media Player would be invoked.

There is also a section [mci extensions] which contains lines such as:
[mci extensions]
AVI=AVIVideo  ( tells MCI to use the MCI driver refered to as AVIVideo for files with the extension AVI)
For the VID example, add
VID=AVIVideo
to the [mci extensions] section in WIN.INI
The WIN.INI file is used mainly for configuring the higher levels
of Windows: the graphical user interface and the desktop.  Many applications
install their configuration or installation information in sections within
WIN.INI

Names such as AVIVideo are defined in the [mci] section in the SYSTEM.INI
file, also usually in the WINDOWS directory.  SYSTEM.INI is used
mainly for configuring the lower levels of Windows: the device
drivers, VxD's, and so forth.
[mci]
AVIVideo=mciavi.drv ( where mciavi.drv is the AVI MCI Driver )
Thus, many file extensions can refer to AVIVideo which in turn refers to
the MCI Driver for AVI files.  The MCI Driver processes MCI commands and
may in turn invoke other drivers or DLL's such as the Video for Windows
decompressors.
Return to Top

How can I play an AVI file?

MS DOS

On DOS, the shareware program QuickView by Wolfgang Hesseler can
play AVI files (including sound).  QuickView 1.03 is available
through the simtel sites such as
ftp://info.nic.surfnet.nl/mirror-archive/software/simtel-msdos/graphics/qv103.zip
You can get the latest version of QuickView (2.11 on 1/10/97) from
Wolfgang Hesseler's Home Page

Microsoft Windows

On Windows, use the Microsoft application Media Player (MPLAYER.EXE).
Be warned that there are many different versions of Media Player.

Power Macintosh

On the MacIntosh, Microsoft's Internet Explorer (Web Browser) can play
AVI files directly.  There is also an application AVI->QuickTime that
can convert AVI files to QuickTime .MooV files on the MacIntosh.
MacZilla is an inexpensive shareware Netscape Navigator Plug-In for
the MacIntosh that plays QuickTime .MOV, Video for Windows AVI, and
MPEG-1 files.  MacZilla can also play Sun Audio .AU, Microsoft
.WAV, and MPEG Layer 2 Audio .MP2 files.  If you pay the
fee, MacZilla will send you a STANDALONE player (not a Netscape
Plug-In) for the MacIntosh.  The MacZilla URL is:
http://maczilla.com

Unix

On Unix, XAnim Revision 2.68.3 reportedly can play AVI files using
Microsoft Video 1 compression, SuperMac Cinepak compression, uncompressed
8 bit video, and run length encoded 8 bit video.

Mark Podlipec writes:
Below is some up-to-date information about XAnim, the unix X11 AVI player.
Thanks,
Mark
----
Latest revision:  XAnim 2.70.6.4
Official Web sites:
 http://xanim.va.pubnix.com/home.html
 http://smurfland.cit.buffalo.edu/xanim/home.html
 http://www.tm.informatik.uni-frankfurt.de/xanim/
AVI Video and Audio Codecs Supported:
        + AVI Video Codecs supported:
            + IBM Ultimotion     (ULTI)
            + JPEG               (JPEG)
            + Motion JPEG        (MJPG)
            + Intergraph JPEG    (IJPG)
            + Microsoft Video 1  (CRAM/WHAM/MSVC)
            + Radius Cinepak     (CVID)
            + Intel Indeo R3.1   (IV31)
            + Intel Indeo R3.2   (IV32)
            + Intel RAW YUV9     (YUV9)
            + Creative CYUV      (CYUV)
            + Uncompressed       (RGB )
            + Run length encoded (RLE8)
            + Editable MPEG      (XMPG)
        + AVI Audio Codecs supported:
            + PCM                (0x0001)
            + MS ADPCM           (0x0002)
            + ULAW               (0x0007)
            + DVI/IMA ADPCM      (0x0011)

Digital Equipment Corporation’s VAX/VMS

On VAX/VMS, Xanim (see above) has been ported and works on VMS.
Return to Top

How to convert an AVI file to a Microsoft ASF File?

Microsoft has defined yet another audio/video/multimedia file
format to support streaming audio and video over the Internet.
This is Active Stream Format (ASF).  These files have the
extension .asf or .asx.  They are used as part of Microsoft's NetShow
video server and client over the Internet.
The NetShow authoring tools include a DOS command line utilitity:
    VidToAsf
which converts AVI files to ASF files, preserving whatever compression
was used.  Like AVI, ASF files support many compression schemes.
For more information including software:
http://www.microsoft.com/netshow/
Return to Top

How can I convert an AVI file to a sequence of bitmap images?

VidEdit

Microsoft's VidEdit video editor can convert AVI files to a sequence
of Microsoft DIB files, such as test.avi --> test00.dib, test01,dib, etc.
Further information on VidEdit is available in the section of the
AVI Overview on editing AVI.

AVIRIP

There is a freeware DOS program called AVIRIP that can convert
non-compressed AVI files to a sequence of TGA (Targa), RAW, or
DIB files.  AVIRIP is available with the convmpg3 freeware toolkit
for converting AVI to MPEG and MPEG to AVI.  Further information
on convmpg3 is available in the section of the AVI Overview
on converting AVI to MPEG.

Jih-Shin Ho’s Display

Display by Jih-Shin Ho
Available at

ftp://info.nic.surfnet.nl/mirror-archive/software/simtel-msdos/graphics/disp189a.zip
or other Simtel mirror sites.
This is a 32-bit MS-DOS program that can read and write many image
and movie file formats.
Return to Top

How to convert a sequence of bitmap images to an AVI?

VidEdit

Microsoft's VidEdit software (16 bit Windows) can read in
sequences of Microsoft .DIB files and convert them to an
AVI file.  More information on VidEdit is available in the
section of the AVI Overview on editing AVI files.

Video for DOS

A shareware program called Video for DOS (VFD) can convert sequences
of Targa files (.TGA) into AVI.  (11/8/96)  Video for DOS can be
downloaded from
http://www.dc.ee/Files/Graf
Thanks to John Avis for information on Video for DOS.

AVI Constructor

Michael Caracena's AVI Constructor, a shareware program, can convert
sequences of Windows .BMP files into an AVI file.

Return to Top

How to convert QuickTime MOV files to AVI?

Power MacIntosh:

Video for Windows (MacIntosh) is a collection of utilities and
extensions for the Macintosh that add support for Windows video file
formats.  One of the utilities is VfW Converter which can convert
Quicktime MooV files to AVI files playable on the PC.
VfW Converter is more powerful than Intel's smartvid PC application.
It can convert video formats.  For example, VfW Converter can
convert a raw uncompressed 24 bit Quicktime Movie to a raw
uncompressed 24 bit AVI Movie (or do various compressions).
Uncompressed Quicktime and uncompressed AVI files use different
video formats.  VfW Converter also converts audio from Quicktime
audio to AVI audio.
The Video for Windows (Macintosh) file is usually called:
video-for-windows-11p.hqx
Apple's Quicktime Web site contains links to sources for
Video for Windows (Macintosh) as well as other useful
video utilities.
Apple's QuickTime Web Site
Video for Windows (MacIntosh) has the virtue of being free, unlike:
Adobe Premiere (MacIntosh)
---reportedly can save QuickTime movies as AVI files.

On PC/Microsoft Windows:

TRMOOV.EXE (see below)
can translate MOV to AVI, but I found problems playing back
the AVI files on my 486 PC.  It does not change the
interleaving of the audio and video streams in the conversion from
.MOV to .AVI.  TRMOOV preserves the half-second
interleave of QuickTime movies which is not appropriate for AVI.  AVI
wants each video frame interleaved with the audio for that frame.
With the half-second interleave of QuickTime the audio will playback for
a half-second while the video is frozen, followed by a half-second of
video with no audio, repeated for the duration of the AVI playback.
The interleave can be fixed using VidEdit.  VidEdit contains algorithms
to properly interleave the audio and video.  Load the offending AVI
file into VidEdit, Select File | Save As ... and give the file a new
name.  This triggers the interleave algorithm.  VidEdit will reorganize
the audio and video to interleave frames instead of half-seconds.
Intel's SmartVid (see below) can convert .MOV to .AVI  It appears to
convert the audio video interleave from one format to another, something
TRMOOV seems to have problems with.

Return to Top

Converting Autodesk Animation Files (FLI or FLC) to AVI

VidEdit:

Use Microsoft's VidEdit editor.  This editor can read FLI or FLC files.
Then save the files as AVI files.
Launch VidEdit.  Select File | Open ...
This brings up the Open Video File dialog box.  Under List Files of Type,
select Autodesk Animation from the pulldown list.
Then, choose File | Save As ...
VidEdit will save the file as an AVI file.
Further information on VidEdit is available in the section on editing
AVI files, including where to get VidEdit.

MainActor

MainConcept's MainActor for Windows 95 and OS/2 Version 1.00
can load Autodesk Animator FLI and FLC files and save in AVI
format.  For further information on MainActor, a shareware
program that converts many video and animation formats, see:
http://www.mainconcept.de/
or e-mail
info@mainconcept.de
Return to Top

Converting MPEG to AVI

Ulead's MPEG Converter can convert MPEG-1 to AVI.
Ulead is:
Ulead
970 West 190th Street, Suite 20
Torrance, CA  90502
Voice: (800) 858-5323
FAX:   (310) 523-9399
http://www.ulead.com/
Return to Top

Converting Animated GIF (GIF89a) to AVI

MainConcept's MainActor for Windows can load animated GIF
files (GIF89a) and then save these files as AVI files.
MainActor is available in a shareware version or as a fully
functional paid-for version.
On the Web:
http://www.mainconcept.de/
By E-Mail:
info@mainconcept.de
Return to Top

How to convert AVI to QuickTime files?

Microsoft Windows

Intel's SmartVID, a DOS and Windows application, can convert
.AVI to .MOV files.  SmartVID is codec independent.  This means
that SmartVid preserves the video compression scheme from the
source .AVI file.

http://www.intel.com/pc-supp/multimed/indeo/smartvid.htm

TRMOOV.EXE
Windows 3.1 Program
Converts AVI to QuickTime for Windows movie.
The QTW movie will play on a MacIntosh with QuickTime 1.5 or later.
Note: My experiments converting some .MOV files to .AVI seem to
playback ok, unlike the .AVI to .MOV conversion.
Source: Found on CD-ROM with the "How to Digitize Video" book
(see below).
On Net: ftp://ftp.rahul.net/pub/jfm/avi/trmoov.exe
Please Note: TRMOOV and SmartVid preserve the compressor used in the
source file.  For example, if the AVI file was compressed with
CinePak, the MOV file will be compressed with CinePak.  Since CinePak
is supported by both Video for Windows and QuickTime this is not
a problem.  However, if the compressor exists only in Video for Windows
or only QuickTime, then there will be a problem.

Mainconcept's Main Actor can load many video and animation formats.
It can also save many video and animation formats.  The Windows version
of Main Actor can load AVI and save the file as Quicktime.
http://www.mainconcept.de

PowerMacintosh

On the PowerMacIntosh, the program AVI->QuickTime can convert AVI to
QuickTime.  At least, it can convert the video successfully for
subsequent playback with Apple's MoviePlayer.  I have seen problems
with the audio.  This application is available at various Web and ftp
sites in the file avi-to-qt-converter.hqx
One site with AVI->QuickTime is:
ftp://mirrors.aol.com/pub/info-mac/gst/mov/avi-to-qt-converter.hqx

Return to Top

How to convert AVI to animated GIF?

Gif Construction Set from Alchemy Mindworks reportedly can convert
an AVI file to an animated GIF file.
Alchemy Mindworks, Inc.
Web http://www.mindworks.com/alchemy/alchemy.html
E-Mail: alchemy@mail.north.net
FTP: ftp://ftp.mindworkshop.com/pub/alchemy

Microsoft's GIF Animator for Windows 95
product can reportedly convert AVI to animated
GIFs (GIF89a format).  Information on GIF Animator
including a dowloadable version is available at
the Microsoft Web site (11/7/96) on the Microsoft
Image Composer page.
Web http://www.microsoft.com/imagecomposer

MainActor, a shareware software product for Windows 95, Windows NT, and
OS/2 reportedly can convert AVI to animated GIF.
http://www.mainconcept.de/

Ulead reports that is has added AVI to GIF to
Ulead's PhotoImpact GIF Animator 1.2 Beta (11/16/96)
http://www.ulead.com/products/framens.htm
Ulead Toll Free Number: 1-800-858-5323
Return to Top

How to convert AVI to MPEG?

AVI to MPEG Conversion at a Glance
Company/Author(s)  Product           Price             URL
---------------------------------------------------------------------
Corel              PhotoPaint        $500?    http://www.corel.com/
Ulead              MPEG Converter    $249     http://www.ulead.com/
Xing Technologies  XingMPEG Encoder  $89      http://www.xingtech.com/
CeQuadrat          PixelShrink       $199     http://www.cequadrat.com/
Vitec              MPEG Maker        $125     http://glimmer.com/vitec
MainConcept        MainActor         shareware  http://www.mainconcept.de/
Stefan Eckhart and others  CONVMPG3  freeware kit  http://www.powerweb.de/mpeg/msdos.html
Further information, reviews, and live links follow:

The following posting from the comp.graphics.animation USENET
newsgroup provides a good answer to this question.  I have retained
the header to insure proper credit to the author.
Note: LW refers to the Lightwave 3D animation software package.
>From comp.graphics.animation Wed Oct 30 18:16:34 1996
Path: samba.rahul.net!rahul.net!a2i!news.PBI.net!news.mathworks.com!howland.erols.net!surfnet.nl!tudelft.nl!news
From: Valery
Newsgroups: comp.graphics.animation
Subject: Re: AVI to Mpeg converter
Date: Mon, 28 Oct 1996 15:15:14 +0100
Organization: Technical University, Delft
Lines: 58
Message-ID: <3274BFF2.2EDD@twi.tudelft.nl>
References: <01bbc33f$05021880$d73d93cf@cube176a>
Reply-To: V.V.Kritchallo@twi.tudelft.nl
NNTP-Posting-Host: duti504b.twi.tudelft.nl
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.0 (Win95; I)
Mariusz Jesmanowicz wrote:
>
> Hi, I use LW to do animation, and basically I am not happy with any of the
> compression engines aviable for avi. Those codes suck. So what I want to do
> is make an UNCOMPRESSED AVI and then translate it to MPEG. anyone know of
> any good converters to MPEG or hoe about plug-in for LW to be able to do
> MPEG files from the start.
>
> Thank You
Hi,
you're right, every single AVI compression codec is lame.
5 years of the AVI format existance and zero progress so far.
If you're talking about freeware or budget-priced MPEG codecs,
it's a tough task, to find the damn thing. I'm busy in this area
quite for a while already, and here are my findings:
1. XING's MPEG encoder is a classical name on the scene. Had
compatibility problems before, not anymore, I believe. Can cost
you $150 or more, not sure. Scan for 'XING' on the Net, you'll
definitely find some tracks (www.xing.com doesn't show up).
2. Stefan Eckart's CMPEG (DOS) encoder is FREE and GOOD, and stays
so for a couple of years already. Can have troubles converting
some particular streams, but generally not worse than many
commercial programs. (You need to make a TGA sequence first out
of your AVI, though). Again, scan for CMPEG, or use my bookmarks
found on the site Im introducing below.
3. To my surprise, Corel Photopaint 6 has got very decent built-in
MPEG compression option. Open an AVI, Save As an MPEG, and see what
happens (get some coffie, as it'll take a while ;)  I checked it out
on a stream where CMPEG gave up and the Corel's conversion did make
a wonder. (If you like to see the result, download my 'Liquid Beatles'
morph clip, 1 Mb: http://www.proteon.nl/synth_art/movies/cross.mpg).
4. Ulead's MPEG converter (www.ulead.com) seems to be the major
player (priced below $250) on the Windows arena. I've heard good
references about their MPEG's quality, but I feel that their
biggest advantage is good integration with Windows and AVI format.
If I'm not mistaken, a very slow codec.
5. Don't mess with DARIM Vision's codec (Korea). I've tried their
demo, it produces low-quality crap. Though fast and cheap (you bet :-).
See my MPEG clips, fractals, morphs, and in general lots of
advanced graphics at
http://www.proteon.nl/synth_art/
Hope this helps,

Valery
http://www.proteon.nl/synth_art/movies.html
---------------------------------------------------------------
In addition to the above, there is MPEG Maker from
VITEC-HTS (formerly Vitec Multimedia).  Vitec is:
Vitec
4366 Independence Court, Suite C
Sarasota, FL 34234
Voice: (941) 351-9344
FAX: (941) 351-9423
http://vitechts.com
CeQuadrat makes a software-only AVI to MPEG converter called
PixelShrink.  CeQuadrat is:
CeQuadrat
1804 Embarcadero Road, Suite 101
Palo Alto, CA  94303
Voice: (415) 843-3780
FAX: (415) 843-3799
http://www.cequadrat.com/

And the freeware kit CONVMPG3, a collection of MS-DOS
utilities that can be used to convert AVI to MPEG-1 or
MPEG-1 to AVI.  CONVMPG3 includes Stefan
Eckhardt's CMPEG MPEG-1 encoder mentioned above
but also includes utilities to generate the sequence
of Targa files required by CMPEG.  The URL for CONVMPG3 is:
http://www.powerweb.de/mpeg/msdos.html
MainConcept's MainActor product now (March 1997) includes
add-on modules to output MPEG-1 and MPEG-2.  With these add-on
modules, MainActor can convert AVI to MPEG-1 or MPEG-2.
Marcus Moenig at MainConcept provided an evaluation copy of the
MPEG-1/2 modules.   In tests, these modules could convert AVI files
to MPEG-1 that could be played using the ActiveMovie software
MPEG player shipping with Microsoft's Windows 95 OSR2.
MainConcept is:
MainConcept
http://www.mainconcept.de

The URL for Ulead is:
Ulead MPEG Converter
http://www.ulead.com/

The URL for Xing is:
Xing Technology Corporation
http://www.xingtech.com/
Return to Top

 

How to create AVI files from analog video:

On Intel based PC's, use a video capture card to convert analog video
from video tapes or video cameras to AVI files.  A PC video capture card
is typically either a 16 bit ISA bus card or a 32-bit PCI bus card that
plugs into the 16 bit ISA or 32-bit PCI slots in your PC motherboard.
32-bit PCI bus cards are steadily replacing 16-bit ISA bus cards.
Most video capture cards have either a composite video connector or
both a composite video and an S-Video connector.  Most video capture
cards perform compression of the video in hardware or firmware on the
video capture card before tranferring the compressed video over the ISA
or PCI bus to the PC hard drive.
Composite video signals are analog signals that combine luminance and
chrominance (color) information in a single analog signal that can be
transmitted over a single wire or stored in a single track on an
analog magnetic tape.  The NTSC video signals used by commercial
television sets in the United States and Japan are an example of
composite signals.  Composite video is particularly prone to errors in
reproducing exact colors due to the overlap of the color and luminance
signals.  Video professionals jokingly refer to NTSC as Never The Same
Color.
S-Video video signals separate the luminance and chrominance
information into two separate analog signals that can be transmitted
over two separate wires or stored in two separate tracks on an analog
tape.  S-Video is generally superior to composite video in reproducing
colors correctly.  The S-VHS and Hi8 video tape standards use S-Video.
Ordinary VHS video tape uses composite NTSC signals.  Thus, in
general, using an S-VHS or Hi8 video camera with S-Video output to
provide the analog video signal to the S-Video input of a PC video
capture card will provide better video quality.
A third type of video signal is component video.  In component video, the
luminance (Y) and two color difference signals (U and V or I and Q) are
separated into three separate analog signals that can be transmitted
over three separate wires or stored in three separate tracks on an
analog tape, or digitized separately.  Component video is used in
professional video production and provides the best quality and the
most accurate reproduction of colors.  The professional Betacam SP video
cameras use component video.  The current generation of widely used
PC video capture cards do not provide component video inputs.
Typical PC video capture cards store the digitized compressed video as
an AVI file using Motion JPEG compression.  Motion JPEG is used
instead of other compression schemes because each frame is compressed
separately.  This allows frame accurate editing of the AVI file after
capture.  If a compression scheme that uses frame differencing - where
a frame is stored as the differences between the frame and a previous
frame (such as MPEG) - is used, it is difficult to edit the video.
Typical PC video capture cards are bundled with non-linear video editing
software such as Adobe Premiere which can be used to edit the Motion JPEG
compressed AVI file and ultimately compress the edited AVI file using
compression such as CinePak using frame differencing for maximum
compression.
PC video capture cards usually compress the video using a lossy
compression scheme such as Motion JPEG or MPEG because uncompressed
video places very high demands on the bandwidth of the ISA or PCI bus
and on the bandwidth to the hard drive.  In addition, uncompressed
video can fill even very large hard drives very quickly.
PC video capture cards are usually bundled with application software and
drivers to perform video capture such as Microsoft's VIDCAP.EXE or
Intel's SMARTCAP.EXE or other similar software.
Some current (1/11/97) popular PC video capture cards that generate
AVI files are:
FAST AV Master PCI 60 field/60fps with Motion JPEG, Includes Ulead's
Media Studio Pro digital video editing application.
FAST Web Page
Truevision Bravado 1000 50/60fps 32-bit PCI video capture board with Motion JPEG, Includes Adobe Premiere 4.2 Full Version
Truevision Web Page
MiroVideo DC30 PCI, complete non-linear video and audio editing for
Windows 95, Includes Adobe Premiere 4.2 Full Version
miro Web Page
Winnov Videum AV, Half size ISA card, composite and S-Video
input, claims to capture 352x240, 24 bit, AVI videos at 30
frames per second (must be compressed to fit across ISA bus - JFM)
Winnov Web Page
Intel Smart Video Recorder III, a 32-bit PCI card that uses Indeo
video compression.  Includes a composite (NTSC) video input and an
S-Video input, RCA and S-Video cables, Asymetrix Digital Video
Producer and Asymetrix WebPublisher.
Intel Page
Return to Top

How to edit AVI files:

Several applications exist to edit (cut, paste, etc.) AVI files.
The full Video for Windows from Microsoft (not the "Run Time") shipped
with a video editing program VidEdit.  VidEdit can cut, paste, concatenate,
add sound, and do many other things to AVI files.
As far as I can tell Microsoft is not currently distributing VidEdit.
However, a file winvid.zip is bouncing around the Net.  This file
includes the Video for Windows run time along with a number of Video Tools
including VidEdit and VidCap (Microsoft's video capture tool).
Disclaimer: I am not certain what the legal restrictions on winvid.zip are.
winvid.zip is available from Greg Hughes home page:
http://www.public.iastate.edu/~gregngng/
Note that I found this site hard to connect to although I was eventually able
to download winvid.zip
Microsoft's VidEdit Video Editor is also available at:
EarthStation1: Recommended Shareware and Freeware Page
http://www.attention.net/wandarer/software.html

Ulead's Media Studio Pro ( around $300 )
http://www.ulead.com/

Asymetrix's Digital Video Producer
A digital video capture and editing program for Windows 95 and
Windows NT.  More information is available at the Asymetrix
Web site.
http://www.asymetrix.com/
Adobe Systems Premiere ( around $500 )
http://www.adobe.com/
Return to Top

Editing and Converting WAV files

AVI and WAV files are closely related.  WAV files are the sound file
format, and frequently provide the source for the sound tracks in an
AVI file.
A good shareware sound editor and sound file format converter is
Syntrillium Software's CoolEdit (Cool96) for Windows 3.1 and Windows
95.  This supports many common sound file formats such as Apple's
.aiff and Next/Sun .au files.
http://www.syntrillium.com/10/index.htm
Return to Top

How to output an AVI file to videotape:

AVI files generated with a video editor such as Premiere or a 3D
Animation program such as Caligari TrueSpace can be output to
videotape (e.g. a VHS tape) using a hardware device known as a scan
converter.  A scan converter converts the VGA signal intended for
the computer monitor into an video signal, typically NTSC or S-Video.
The video signal can then be input into a videotape recorder such as a
VHS VCR.
A scan converter may be a small box which resides between the computer
and the monitor.  It may be integrated into a video card.  For example, ATI's
new 3D XPRESSION+PC2TV video card includes NTSC and S-Video output as well
as output to a conventional computer monitor.
Configure the PC graphics in one of the modes supported by the scan conversion
hardware and play the AVI file in full screen mode.
Some manufacturers of scan converter (or similar) hardware:
ATI Web Page
VideoLogic Web Page

Return to Top

How to embed an AVI file in a Web Page:

The simplest approach is to use the anchor tag
< A HREF="http://www.somplace.com/movie.avi" > A Movie

In this instance, clicking on the link will cause the AVI file
to be downloaded.  The browser recognizes that the AVI file is
not an HTML document.  Typically, the browser invokes a helper
application that can play the AVI file, such as Media Player under
Windows 3.1.  The movie will appear in a separate window.  The browser
may have a plug-in that provides support for AVI, in which case the
video window will appear embedded in the HTML page.
Web browsers such as Netscape and Internet Explorer know how to handle
a file through a Content (MIME) type reported by the Web server.  For
example, the MIME type for AVI files is video/avi.  The browser may
contain a built-in decoder for this MIME type.  For example, JPEG and
GIF still image compression decoding and viewing is built into
Internet Explorer and Netscape.  The browser can be configured to
invoke a helper application such as Media Player.  Helper applications
are invoked as separate applications with their own windows.
The browser can be configured to use a "plug-in" instead of a helper
application.  A "plug-in" is a software component that extends the
capabilities of the browser.  The "plug-in" handles input and presents
output embedded within the page.  For example, a video plug-in's
decoded video appears within the page, not as a floating window.
If the browser is unable to handle a MIME type (no built-in capability
exists and no helper application or plug-in is specified), the browser
will present a dialog box asking the user to select an application,
save the file to disk, or cancel the operation.
In both Internet Explorer and Netscape, the user can configure the browser
to use helper applications or plug-ins as desired.
Netscape now provides a Netscape plug-in to play AVI files.  This plug-in
should be installed in the NETSCAPEPLUGINS directory.  For the
Windows 3.1 (16 bit) version of Netscape this plug-in is named
NPAVI16.DLL.
Digigami provides a plug-in for Netscape Navigator (Windows) called
CineWeb that adds playback of AVI, QuickTime .MOV, and MPEG files.
The URL is:
http://www.digigami.com/CineWebPress.html
Microsoft's Internet Explorer adds attributes to the IMG tag that
allow for inline video (an AVI file actually embedded in the page
rendered by the Web browser).  These are the DYNSRC, CONTROLS, START, and
LOOP attributes.  For example,

This will embed the movie in the page with some simple playback controls
for the user to select.  Browsers that do not support the DYNSRC attribute
will use the SRC attribute and display the image movie.gif instead.
Internet Explorer will ignore the SRC attribute.
Return to Top

MIME type of AVI

The MIME type of AVI is:
video/avi

Return to Top

How to embed an AVI file in a Microsoft Word Document?

Media Player acts as an OLE (Object Linking and Embedding) server.  This means
that application such as Microsoft Word that support OLE can embed
a movie.
With Word 6.0 (Microsoft seems to keep chaning the user interface for
Microsoft Word so I need to qualify which version of Microsoft Word),
1. Select Insert from the menu bar.  This pulls down a long menu.
2. Select Object... from the pulldown menu.  This pops up a dialog box.
3. Select the Create from File tab.
4. Select the AVI file from the file browser.
5. Select OK
This inserts the AVI file at the current location within the Microsoft
Word document that you are editing.  The first frame of the AVI file is
displayed.  Double click on the first frame of the AVI file to start
playback.
Other Windows applications that act as OLE clients will be able to do
similar things with AVI files.
Return to Top

Size limits on AVI files

An AVI file cannot be larger than the disk partition that
contains it.  Different filesystems have different maximum sizes
for disk partitions.
Under the 16 bit FAT (File Allocation Table) filesystem used by DOS,
disk partitions are limited to a maximum size of 2GB (Gigabytes).  In
DOS, a hard disk is divided into 512 byte sectors.  DOS Version 4
added support for 32 bit sector numbers.  2 raised to the 32 is roughly 4
billion, multiply this times 512 bytes in a sector to get the 2GB
limit.  FAT16 partitions are limited to 2GB, necessarilly limiting AVI
files to a maximum size of 2GB as well.
DOS versions prior to DOS 4 limited disk partitions to 32MB (Megabytes).
These earlier versions of DOS used 16 bit sector numbers in all I/O
routines.  2 raised to the 16th power is 64K, multiply this by 512 bytes
in a sector to get the 32MB limit.
Partitions using other filesystems such as the Windows NT File Systems (NTFS)
may not be subject to the 2GB limit.
The new FAT32 filesystem available with Windows 95 permits partitions larger
than 2GB.  However, some people have reported problems creating AVI files
larger than 2GB on FAT32 partitions.  The most common explanation for this
is that Video for Windows contains the 2GB file size limit hardwired into
some of its software and will not create files larger than
2GB even though the partition is bigger than 2GB.
Microsoft's OEM Service Release 2 (OSR2) incorporates FAT32.  Earlier
OEM releases and the retail version of Windows 95 (as of 2/15/97) do
not include FAT32.  Microsoft sayeth: "Neither MS-DOS 6.x nor retail
versions of Windows 95 will recognize a FAT32 volume".  To see if you
have OSR2, go to the Control Panel, select the System icon, and click
the General tab.  It will say "4.00.950b".  If there is no trailing
letter or "4.00.950a", then you do not have OSR2.
OEM versions of Windows 95 cannot be purchased separately as off the
shelf software.  They are bundled on systems created by companies
like Dell, Compaq, and so forth.  The retail version(s?) of Windows 95
can be purchased at software stores or through software resellers.
I believe that there was some sort of beta release of FAT32 prior to
OSR2, either a special version of Windows 95 or a way to install FAT32
in versions of Windows 95 that did not come with FAT32.
OSR2 and FAT32 seem to have some problems.  Some applications
such as Corel's Paradox 7 fail on FAT32 volumes. See:
Bug Net Web Site
or search the Microsoft Knowledge Base for the keyword OSR2.

The header for an AVI file includes a 32 bit AVI file length, imposing
a possible restriction of 4GB on the AVI file size.
There may be other limitations on the size of an AVI file.

Return to Top

Sources of Information on AVI:

How to Digitize Video
by Nels Johnson
with Fred Gault and Mark Florence
John Wiley and Sons, New York, 1994
Article
"Digital Video File Formats"
by Mark Florence
Dr. Dobbs

Search with these terms to find more content:

Terms: OverviewofVideoforWindows|Pinwire com, avifileopen failed second time, Record video with Cinepak Codec in vb6, valery kritchallo  

No comments yet.

Add a comment

Pinwire @ tumblr

    http://pinwirecom.tumblr.com/post/99399753457http://pinwirecom.tumblr.com/post/99056819727http://pinwirecom.tumblr.com/post/98488475777http://pinwirecom.tumblr.com/post/94745420282http://pinwirecom.tumblr.com/post/92737496842http://pinwirecom.tumblr.com/post/88505613492