VASE Lab 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:

  • Linux X86, using Video4Linux drivers (as bundled with 2.2.x kernels). It should support any of the hardware that the drivers support but has only been tested with BT848-based cards. See the documentation which comes with the drivers. It should work with CPUs other than X86 but this has not been tested.
  • SGI indy running IRIX 5.3, using the built-in video hardware. It's yet to be tested with other hardware and or versions of IRIX.

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.