Essex logo VASE logo

Homogeneous Video Capture Interface.

hvci-beta-0.03.tgz (54kB)

This software simply provides a consistent API for capturing video frames on several platforms. A set of rappers is also provided to allow video to be caputred in C, C++, and Java. However, note that the softwhere is still somewhat experimental. Currently Linux (using Video4Linux) is the best-supported platform. Sillicon Graphics Indys are also supported. There are ascii and postscript versions of the documentation included in the tar-file.

No overlaying of frames onto X are be supported: I don't need it for my work and it wouldn't be easily portable. No sound support will be provided, again I don't need it.

The formats supported are:

The code which interfaces to the underlying video drivers is written in C. It has C++ and Java wrappers. The C++ wrapper which sits on top of the C code provides a single class grab, as does the Java version.

To install the software:

  1. Install the drivers for the video hardware you have. If you're using Linux with an BT848-based card this will be the BTTV drivers. Make sure these are working with some applications like xtvscreen for GNU/Linux.
  2. Get and untar the current version of the HVCI library. You may need to edit the makefile. If you are using GNU/Linux with a 2.0.x kernel you'll need to change the line below to point at where you have the BTTV driver installed.
      VIDEODEVH = -I/usr/local/bttv/driver

    (This is for videodev.h which is now included in the kernel source). You may have to also hack the include line at the top of hvci-linux.c

  3. You should then make test_hvci. It should configure the driver for you system automatically. If you are using IRIX you'll need to use Gnu make.
  4. Run test_hvci. It will produce a number of images (be warned, lots) to test the various functions of hvci provides. These include colour images, mono images, different sizes and high speed double buffered capturing. These images should be viewed with a program such as xv to inshore that it worked.