John McGowan's AVI Overview
AVI Overview
by John F. McGowan, Ph.D.
(c) 1996-1999, John F. McGowan
http://www.rahul.net/jfm/
----------------------------------------------------------------------------
What is in this Overview?
- Overview of Video for Windows, DirectShow (ActiveMovie), and AVI
What is AVI?
Disclaimer
How to Get the AVI Overview
WHAT'S NEW
Brief Table of Contents
Most Common AVI Question: What does "could not find vids:xxxx ..." error mean?
UTILITIES, SYSTEM ADMINISTRATION, AUTHORING, ETC.
Installation, Configuration, and Other Issues
AVI and the WORLDWIDE WEB
Audio and Video Codecs
Business and Economics of AVI
PROGRAMMING/TECHNICAL TOPICS
Microsoft Windows Video Programming
Multimedia Technical Information
Microsoft Windows Device Drivers
Glossary
Chronology
Detailed Table of Contents
Most Common AVI Question: What does "could not find vids:xxxx ..." error mean?
UTILITIES, SYSTEM ADMINISTRATION, AUTHORING, ETC.
- How to play an AVI file?
- DOS
- Windows
- Macintosh
- Unix
- VAX/VMS
- Amiga
- OS/2
- How to convert AVI to various audio/video formats.
- MPEG (.MPG Files)
- QuickTime (.MOV or .MooV)
- Animated GIFs (GIF89a)
- Microsoft ASF (Active Streaming Format)
- Sequence of Still Images in Separate Files
- Smacker (.SMK Files)
- Progressive Networks RealMedia Streaming Format (.RM Files)
- How to convert other audio/video formats to AVI
- QuickTime (.MOV or .MooV)
- Sequence of Still Images in Separate Files
- Autodesk Animation (FLI or FLC)
- MPEG (.MPG)
- Animated GIF (.GIF)
- How to Convert a Sequence of Still Images in One Format to a Sequence in Another Format
- Authoring AVI Files
CREATING AVI FILES
- How to capture screen to AVI files
- Multimedia Authoring Tools to Create AVI Files
- How to import AVI files into Lightwave
- How to create AVI files from analog video (Video Capture Cards)
- From VHS tapes and video cameras
- From Hi8 tapes and video cameras
- Video Capture under Video for Windows
- Video Capture Cards
- Video Capture through PC Parallel Port
- What to do about horizontal tearing in the video?
- Hard Drive Video Capture Issues
- Video Capture Cards with Windows NT Drivers
- How to create AVI files from Television
- How to Create Morph Effects for AVI Files
- How to compress the audio sound track in AVI files
MODIFYING AND EDITING AVI FILES
- How to change frame rate of AVI files
- How to crop an AVI file
- How to edit AVI files
- VidEdit
- Personal AVI Editor
- MGI VideoWave
- Corel Lumiere Suite for 32-bit Windows
- Ulead Media Studio Pro
- Adobe Premiere
- in:sync SpeedRazor
- Asymetrix Digital Video Producer (DVP)
- Fast Movie Processor
- Peck's Power Join
- How to compress the audio sound track in AVI files
- How to create NTSC (or PAL) Safe AVI
- The Phantom Final Frame when Viewing an AVI
- Binary File Editors for Viewing and Editing AVI
- RIFF and AVI Parser/Viewers
- John McGowan's VidTrace
- Microsoft RIFFWALK
- Bill Luken's RIFFSCAN
- Editing and converting WAV files
- Editing and converting Sound Files on Macintosh
MISCELLANEOUS AUTHORING QUESTIONS
- How to output AVI files to videotape
- Size limits on AVI files
- How to Fix Problem with AVI files from CorelMove 4.0
Installation, Configuration, and Other Issues
INSTALLATION AND CONFIGURATION
- Where to get the 16-bit Video for Windows for Windows 3.x
- Reinstalling Microsoft's Video-for-Windows in Windows 95
- How to get ActiveMovie 1.0
- Installing and configuring AVI Codecs in Windows NT 4.0
- How to give AVI files a different extension in Windows 3.1
- How AVI Files are Handled in Windows 95
INFORMATION SOURCES
- Bibliography of sources of information on Video for Windows and AVI
- Internet Newsgroups with Information on AVI and Video
- Where to find information
on digital audio and video standards other than AVI.
MISCELLANEOUS QUESTIONS
- PC Video Card and Video Chips
- Video Cards with Windows NT Drivers
- How to embed an AVI file in a Microsoft Word Document
- Microsoft's Changing Names
- Answers to miscellaneous other frequently asked questions about AVI
- AVI and Your Health (Eye Strain)
AVI and the WORLDWIDE WEB
- Effective use of video on a Web page
- How to embed an AVI file in a Web page
- Configuring Netscape Navigator 3.0x to Display AVI Files
- Netscape Navigator Plug-ins to play AVI
- Configuring Internet Explorer 3.0x to Display AVI Files
- Sending AVI by E-Mail or Network News Postings
- How to encrypt AVI Files
- MIME types of AVI
- Configuring Web Servers to Handle AVI Files
- Apache
- CERN (or W3C)
- NCSA HTTPd
- Microsoft Internet Information Server 3.0
- Netscape Enterprise Server 3.0
- AVI and Java
- AVI and VRML
- AVI and NetShow
- Converting AVI to Microsoft Active Streaming Format (ASF) Files
- Sources of AVI Video Clips on the Web
- Low Bit Rate AVI for the Web
REAL-TIME OR STREAMING VIDEO OVER IP NETWORKS
- Limitations of AVI and Video for Windows over Networks
- NetShow
- Microsoft's Changing Names
- Internet Video Standards and Pseudo-Standards
AUDIO and VIDEO CODECS
- Video for Windows compressors and decompressors
WHAT THEY ARE, WHERE TO GET THEM, WHICH WORK BEST!
- The Old Guard
- Full Frames (Uncompressed)
- Color Formats
- Intel Real Time Video 2.1 (Indeo 2.1?) (RT21)
- Indeo 3.2/3.1
- Microsoft Run Length Encoding
- Microsoft Video 1
- Cinepak
- Motion JPEG
- Editable MPEG
- The New Wave
- VDOWave (VDOLive)
- Indeo Video Interactive (Indeo 4.1)
- Indeo Video Interactive (Indeo 5.x)
- ClearVideo (aka RealVideo)
- SFM (Surface Fitting Method)
- QPEG
- H.261
- H.263
- Microsoft H.263
- Vivo Software H.263
- Intel I263 H.263
- Shannon Communication Systems (SCS) H.263+
- Telenor R&D H.263
- MPEG-4
- Lightning Strike (Infinop)
- VxTreme
Video Codecs NOT Available for AVI
- Sorenson Video
- Which AVI video codec is best?
- Performance of the AVI Codecs
A table with typical compression ratios of
Video for Windows codecs.
- Which Video for Windows codecs are
supported by QuickTime on the Apple Macintosh?
- How to determine which codecs are installed
- How to determine which codec was used to compress an AVI file
- Microsoft Four Character Codes (FOURCC)
- Microsoft GUIDs for Video for Windows Codecs
- Color Formats
- Video Compression Technologies
Run Length Encoding
Vector Quantization
Discrete Cosine Transform
Discrete Wavelet Transform
Contour-Based Image Coding
Frame Differencing
Motion Compensation
- Audio Codecs
- How to determine which Audio Codecs are Installed
GLOSSARY
CHRONOLOGY
PROGRAMMING/TECHNICAL TOPICS
MICROSOFT WINDOWS PROGRAMMING
THE OLD REGIME
- Windows Multimedia System
- Video for Windows
- Wave (Waveform Audio)
- AVI file format
- RIFF Files
- Original AVI File Format
- OpenDML AVI File Format Extensions
- Where to get the exact specification of AVI?
- AVI and Windows Bitmaps (DDB, DIB, ...)
THE NEW WAVE
- ActiveMovie
- GUID's and AVI
- DirectShow (ActiveMovie 2.0)
- DirectDraw
- MMX
- ActiveX
- Microsoft's Changing Names
HOW TO PROGRAM IN WINDOWS
- Playing an AVI file within a Windows Application
- Reading and Writing an AVI file within a Windows Application
USEFUL INFORMATION FOR AVI AND VIDEO PROGRAMMING (NOT WINDOWS)
SOURCE CODE
- Where to get C source code for an AVI Player Including Many Codecs
- Where to get C source code for a JPEG Encoder or Decoder
- Where to get C source code for an H.263 Video Encoder or Decoder
- Where to get C source code for an MPEG Video Encoder or Decoder
- Where to get C/C++ Source Code for Wavelet Image Compression
TECHNICAL INFORMATION
- Where to get an explanation of Color, Color Spaces, Gamma and All That
- Where to get Detailed Information on Graphics File Formats?
- Where to get Detailed Information on Audio File Formats?
USEFUL INFORMATION FOR NETWORKED VIDEO PROGRAMMING
- Internet Video Standards
- MIME
- RTP (Real Time Protocol)
- RSVP (Resource Reservation Protocol)
- IP Multicast
- UDP (User Datagram Protocol)
WINDOWS DEVICE DRIVERS AND VIDEO
- What is a driver?
- GDI Device Drivers
- DirectDraw Hardware Abstraction Layer
- Virtual Device Drivers
- Windows NT Driver Model
- Win32 Driver Model (WDM)
- Setup Information Files
Awards
Credits
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 commercial MPEG-1 and
MPEG-2 player software. His experience includes development,
optimization, and implementation of audio, video, and still image
compression and decompression algorithms in C/C++ on Intel, MIPS,
SPARC, and PowerPC based platforms. He has also developed Microsoft
Windows user interface 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
Disclaimer
In no event shall John McGowan or other contributors be liable for
direct, indirect, special, incidental or consequential damages
arising out of the use or inability to use information, softwares,
bitstreams and other data found on or referenced by the AVI Graphics
Overview.
Permission to copy and distribute this document is granted so long as
the title, author's name, URL, and this disclaimer are retained. Any
additions or modifications made to the original should be clearly
marked as such. The author welcomes and encourages suggested changes
and additions to the overview. Contributors will be credited.
Return to Top
How to Get the AVI Overview
The AVI Overview is available at:
http://www.rahul.net/jfm/avi.html
If you are in a Web Browser such as Internet Explorer or Netscape
Navigator, you can save a copy of the page you are viewing to your
local hard disk as an HTML File.
In Internet Explorer, Select File | Save As...
In Netscape Navigator, Select File | Save As...
Using FTP (File Transfer Protocol):
ftp://ftp.rahul.net/pub/jfm/avi/avi.html
Return to Top
What's New
(May 11, 1999)
Aachen, Germany
MainConcept releases Linux verson of Main Actor Video Editor.
Linux is a free imlementation of the Unix operating system
for the IBM PC-compatible and other platforms.
(April 15, 1999)
Aachen, Germany
MainConcept releases Main Actove Video Editor 3.0 for
Microsoft Windows 95/98 and Microsoft Windows NT 4.0.
(April 13, 1999)
RealNetworks acquires Xing Technology Corporation.
(March 21, 1999)
XAnim 2.80.1 released on March 21, 1999. XAnim is a video and animation
player for the X Windows System and Unix. It includes support for
AVI files.
XAnim 2.80.1 contains some minor changes to XAnim 2.80.0 which was
released on March 14, 1999.
(March 14, 1999)
XAnim 2.80.0 released on March 14, 1999. XAnim is a video and animation
player for the X Windows System and Unix. It includes support for
AVI files.
According to the XAnim Web site:
XAnim 2.80.0 is now ready for consumption. In addition to several new
video codecs, the new revision also supports dynamically loadable
video decompression libraries. This means you no longer need to
recompile xanim each time a new video codec is released or
upgraded. There are currently dll's for: Creative CYUV, Radius
Cinepak, Intel Indeo 3.2, Intel Indeo 4.1, Intel Indeo 5.0, CCITT
H.261 and CCITT H.263.
(Feb. 2, 1999)
Intel Indeo 5.10 video codec released, supersedes 5.06.
(November 5, 1998) Guillaume de Bailliencourt writes:
John,
I'm an anonymous reader of your FAQ for years.
First, congratulation for your work in this FAQ !
I've just released a software MJPEG codec and main features are :
Decompress hardware M-JPEG AVI files (Rainbow Runner, DC30, ...) without the
capture hardware.
Win9x, WinNT, Video for Windows, ActiveMovie & DirectShow compliant.
MMX and 3DNow! optimized.
DirectDraw YUV accelarated output supported (YUY2 & UYVY).
Most of the M-JPEG formats supported (4:2:2, 4:1:1, mjpg, dmb1, jpeg).
You can download it at www.morgan-multimedia.com
For me it is better than the Paradigm Matrix codec. I'll send you benchmark
...
For the moment it has been tested on :
Play back (decompression) :
Paradigm Matrix software codec compressed AVI Files in every resolutions &
compressions.
Matrox Rainbow Runner AVI files in every resolutions & compressions.
Miro/Pinnacle DC30 AVI files in 384 x 288 & 720x540
Fast Screen Machine II + MJPEG card AVI file in 368 x 276
AVI files created with MainActor "Software & Harware MJPEG output"
AVI file converted from a 'jpeg' QuickTime file with SmartVid
Compressed with my codec & played back with :
Paradigm Matrix software codec
Matrox Rainbow Runner
Best regards,
Guillaume de Bailliencourt
(January 6, 1999)
Radius Incorporated, the Cinepak company, renames itself
Digital Origin Incorporated.
(August 24, 1998) jim@shansys.com writes:
Hi there,
We have an H263+ avi codec and analysis tool at www.shansys.com
(August 3, 1998) David Gartner of Equilibrium writes:
Equilibrium adds AVI with sound support to DeBabelizer Pro 4.5
...
**AVI Video with Sound**
DeBabelizer Pro 4.5's new full AVI support enables users to batch process
legacy Video for Windows files for use on most any Macintosh and Windows
systems for the Web, CD-ROM or kiosk. Video for Windows (AVI) was built
into Windows 95 and NT and runs only on Windows machines. Now, with a few
keystrokes, DeBabelizer Pro 4.5 users can automatically optimize, convert,
and compress tens, hundreds or thousands of videos to QuickTime 3.0,
animated GIFs or a variety of other cross-platform video and animation
formats.
...
(June 6, 1998) Wolfgang Hesseler writes:
Hello,
Hello, I just wanted to let you know that I've released the new
QuickView 2.30. It now supports a bunch of new video codecs like
Motion JPEG, several audio codecs and QuickTime video codecs.
Please update your FAQ. Thanks.
(May 4, 1998) Microsoft plans to release first public test version
of NetShow 3.0
(March 23, 1998) The AVI Overview selected as an
'Outstanding Page' by the PC Webopaedia
(November 12, 1997) Microsoft has a new NetShow distribution NetShow
2.1 NetShow 2.1 adds support for RealNetworks (formerly Progressive
Networks) RealVideo and RealAudio, NetShow clients for Windows 3.1,
MacOS, and the Linux, Solaris, SunOS, and HP-UX versions of Unix, and
TheaterServer for streaming broadcast-quality video over highbandwidth
networks such as ATM and fast Ethernet. Microsoft has invested in
RealNetworks within the last few months.
(October 30, 1997) Wolfgang Hesseler writes about his AVI viewer
for DOS:
Hello, I just wanted to let you know that I've released the new
QuickView 2.20. Besides supporting more hardware and MOV files it
supports the QPEG codec. Please update your FAQ. Thanks.
(September 8, 1997) Microsoft distributes Advanced Streaming
Format (ASF) Specification for a "Public Design Review".
Microsoft ASF Page
(September, 1997) Lernout and Hauspie Speech Products forms
a strategic partnership with and receives investment capital
from Microsoft. $45 million in some reports. BT Alex Brown
acted as financial advisor. Lernout and Hauspie audio codecs are
used in Microsoft's NetShow product.
(September, 1997) avi2mpg1 released. A Windows 95/NT console
application to convert AVI to MPEG-1.
(August 5, 1997) Microsoft acquires VxTreme (wavelet based
streaming video) for its NetShow product line.
VxTreme Inc.
Intel's Indeo Video Interactive 5.0 software is
now available on Intel Web site.
Wolfgang Hesseler announces version 2.13 of QuickView, an AVI
player for DOS (July 28, 1997)
MainConcept announces version 1.1 of MainActor shareware.
MainActor can convert between AVI and many video, animation,
and image formats. (July 9, 1997)
Marcus Moenig of MainConcept writes:
John,
well here comes the press release of v1.1 We now support full MPEG-I and
MPEG-II without audio. So you can now convert MPEG into AVI and vice versa.
I dont want to get on your nerves on what MainActor can and cannot do but
we also support full Motion JPEG for AVIs. Even interlaced JPEG from Miro
and FAST hardware can now be read and written by MainActor.
---End---
RAD Game Tools announces a new version of their Smacker
utilities, including the ability to read and write AVI
files with optimized 8 bit color palettes. (June 27, 1997)
Return to Top
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. AVI is an example of a de facto (by fact) standard.
Return to Top
Windows Multimedia System
In Win16 and Win32, Microsoft created a partially unified system
for handling multimedia. This system consists of the high level
Media Control Interface or MCI Application Programming Interface (API)
and associated MCI drivers. Playback of AVI files can be controlled
through the high level MCI API and the MCIAVI.DRV MCI driver.
The Windows Multimedia System also provides a number of low level
API's such as the WAVE API for waveform audio and associated
device drivers such as the WAVE device drivers for sound cards.
Under Windows NT 4.0, the MCI and low level API's are stored in
the file WINMM.DLL
The API's are:
MCI (high level API - useful for AVI playback)
joy (joystick devices)
midi (MIDI devices)
mixer (MIXER devices)
wave (waveform audio input and output devices)
mmio (low level functions to parse RIFF files)
time (timers etc.)
aux (auxiliary sound device)
When a program loads the MCIAVI driver, the Multimedia
System has the intelligence to locate and invoke the
appropriate MCI driver (MCIAVI.DRV in 16-bit
Windows or MCIAVI32.DLL in 32 bit windows) and pass the MCI
commands such as MCI_PLAY to the MCI driver.
The MCIAVI driver then calls Video for Windows to decompress
the video, GDI (or another graphics API) to display the
decoded frames, and WAVE to output the decoded audio samples.
A dump of the functions exported by winmm.dll under NT 4.0
generated with the Microsoft DUMPBIN.EXE utility follows:
Microsoft (R) COFF Binary File Dumper Version 5.00.7022
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.
Dump of file winmm.dll
File Type: DLL
Section contains the following Exports for WINMM.dll
0 characteristics
31EC70B4 time date stamp Tue Jul 16 21:48:52 1996
0.00 version
2 ordinal base
197 number of functions
197 number of names
ordinal hint name
3 0 CloseDriver (000026CE)
4 1 DefDriverProc (00005AF4)
5 2 DriverCallback (0000254E)
6 3 DrvGetModuleHandle (00001D37)
7 4 GetDriverModuleHandle (00001D37)
8 5 MigrateAllDrivers (00013E79)
9 6 MigrateMidiUser (00013E60)
10 7 MigrateSoundEvents (00011A3C)
11 8 NotifyCallbackData (0000B2C2)
12 9 OpenDriver (00002036)
13 A PlaySound (00008ACB)
2 B PlaySoundA (00008ACB)
14 C PlaySoundW (00009AE1)
15 D SendDriverMessage (00001000)
16 E WOW32DriverCallback (0000C448)
17 F WOW32ResolveMultiMediaHandle (0000CC3C)
18 10 WOWAppExit (00009D3F)
19 11 aux32Message (0000C507)
20 12 auxGetDevCapsA (0000A3FD)
21 13 auxGetDevCapsW (00008C77)
22 14 auxGetNumDevs (00006AE4)
23 15 auxGetVolume (0000A4A1)
24 16 auxOutMessage (00008BFF)
25 17 auxSetVolume (0000A4C9)
26 18 joy32Message (0000C768)
27 19 joyConfigChanged (0000AE40)
28 1A joyGetDevCapsA (0000A99A)
29 1B joyGetDevCapsW (0000AB40)
30 1C joyGetNumDevs (0000AB96)
Section 1 of 14 - Prev - Next
All sections - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14
© allanswers.org | Terms of use