In the desktop video conferencing, videophone and other multimedia applications, access to digital video is a key prerequisite. Capturing digital video is an extremely complex task before the advent of Videoforwindows (VFW). Microsoft's visualc++ has been supporting Videoforwindows (VFW for short) since version 4.0, which makes video capture programming much easier. With regard to multimedia application development, the most popular information in the market is MCI (Media Control Interface), and this article focuses on how to use the AVICap window class provided by visualc++ to capture video and the concepts and key issues involved.
Introduction of Videoforwindows
VFW is a software package for digital video released in Microsoft1992, which enables applications to digitize and play video clips from traditional analog video sources. A key idea of VFW is that it does not need special hardware when playing, in order to solve the problem of large amount of digital video data, it is necessary to compress the data. It introduces a file standard called AVI, which does not specify how to capture, compress, and play video, but only how the video and audio are stored on the hard disk, alternately storing video frames and matching audio data in an AVI file.
VFW provides programmers with advanced programming tools for VBX and AVICap window classes that enable programmers to send messages or
Set properties to capture, play, and edit video clips. Now the user does not have to install VFW specifically, WINDOWS95 itself includes VideoforWindows1.1, when the user installs Windows, the installer automatically installs the components needed to configure the video, such as device drivers, video compression programs, and so on.
VFW mainly consists of the following six modules:
(1) AVICAP.DLL: Contains a function to perform video capture, which gives AVI file I/O and video, audio
The device driver provides an advanced interface;
(2) MSVIDEO.DLL: Use a special set of DRAWDIB functions to handle the video operation on the screen;
(3) Mciavi.drv: This driver includes an interpreter for the MCI command for VFW;
(4) AVIFILE.DLL: Supports the higher commands provided by the standard multimedia I/O (mmio) function to access. avi files;
(5) Compression Manager (ICM): Manage Codec (CODEC) for video compression and decompression;
(6) Audio Compression Manager ACM: provides services similar to ICM, but it is suitable for waveform audio.
Visualc++ provides similar libraries such as Vfw32.lib, Msacm32.lib, winmm.lib, etc. in support of VFW. In particular, it provides a powerful, simple, mciwnd-like window class Avicapavicap
Provides a simple, message-based interface for your application to access video and waveform audio hardware, and to control when capturing video streams onto your hard disk.