8.3.1. Firewire video

Author(s): Fu Jie Huang

This is full interface to the Libdc1394_control library. It allows you to capture video from a firewire(IEEE1394) video camera.



8.3.1.0. Installation


First, make sure you have the hardware that works under Linux. Check the compatibility list on: http://www.linux1394.org In my case, I have a iBot webcam from Orange Micro, and a host adapter card from CompUSA (with the VT6306 chipset from VIA). On RedHat8.0, the adapter gets recognized during booting.

The libraries for firewire video devices are libdc1394 and libraw1394 . They sit on top of drivers raw1394 , video1394 , which in turn use ohci1394 and ieee1394 . Their relations are illustrated below:

       coriander (GUI)
           |
           |
       libdc1394 (0.9.1)
           |
           |
       libraw1394/libraw1394-devel (0.9.0-6)
           |
           |
       raw1394  video1394 
           |     |-------|
           |     |    ohci1394
           |-----|-------|
              ieee1394
Once the computer boots up, ohci1394 and ieee1394 modules should already be loaded in the memory. You may need to manually load in raw1394 and video1394 by:
       /sbin/insmod raw1394
       /sbin/insmod video1394

These modules should be available on systems like RedHat8.0 by default. RedHat also has RPM for libraw1394 and libraw1394-devel, you need both.

Libdc1394 is available in source code form, and can be accessed from http://sourceforge.net/projects/libdc1394/ . Compile and install it, then test it by running the grab_gray_image in the examples directory.(Make sure you have the read/write access right to /dev/video1394 and /dev/raw1394 ). If succeed, it dumps a gray image captured via the camera.

Coriander is a GUI program using libdc1394, available at: http://sourceforge.net/projects/coriander . It's a handy tool for live video capturing.

Start Lush, and type:

  ? (libload "video/libdc/libdc")

The grab_gray.lsh in the demos directory captures and dumps a gray image in the running directory.