(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
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 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
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
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
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."
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
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
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
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
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
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
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
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
On Windows, use the Microsoft application Media Player (MPLAYER.EXE). Be warned that there are many different versions of Media Player.
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
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 220.127.116.11 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)
On VAX/VMS, Xanim (see above) has been ported and works on VMS. Return to Top
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
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.
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.
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
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.
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.
Michael Caracena's AVI Constructor, a shareware program, can convert sequences of Windows .BMP files into an AVI file. Return to Top
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.
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
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.
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 firstname.lastname@example.org Return to Top
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
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: email@example.com Return to Top
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
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
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: firstname.lastname@example.org 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
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
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
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
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
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
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
The MIME type of AVI is: video/avi Return to Top
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
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
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