Technical Application Notes
Click an item to read from the list below.

Technical Application Notes


 

 

Streaming raw video data to disk from multiple 1394 cameras

Technical Application Note TAN2006008

Revised January 5, 2007

Subject

Technical Application Note (TAN2006008): Streaming raw video data to disk from multiple 1394 cameras

10409

Applicable Product(s)

  • Flea
  • Flea2

 

Application Note Description

The purpose of this Technical Application Note is to document a configuration that was used to store  raw video data streams from multiple cameras to hard disk on a single machine.  The configuration employs standard off the shelf components and 1024x768 Flea2 cameras.

 

System Configuration

Parameter

Configuration

Hardware

 

Motherboard

Asus M2N-E

Video card

2MB VRAM PCI card

Hard drive

4 Maxtor 250GB 7200rpm SATA2 drives configured in a non-redundant, RAID0 array using the volume striping option available with the Microsoft Disk Management Tools.

1394 card

SIIG FireWire 800 3-port PCI Express

Cameras

5 Flea2 1024x768

Software

 

SDK

FlyCapture 1.6rc15

Driver

PGR1394b-PRO

Capture

Modified version of MultipleCameraEx

Synchronization

via Multisync software

 

Additional Details

Capture software

The standard MultipleCameraEx example from the FlyCapture SDK was modified to provide the functionality required to perform the benchmark testing.  The primary modification involved adding functionality that wrote all of the incoming raw image data to disk. 

Disk writing was optimized by:

  • Making use of the following Microsoft Windows API calls:
    • GetDiskFreeSpace
    • CreateFile
    • WriteFile
  • Making all writes sector aligned.  In this case, no padding was done as the image size (1024x768) was a whole number multiple of the 512byte sector size.
  • Writing all of the data from a single camera to a single file as opposed to having a single file for every image.  Maintaining a relatively small number of files helps reduce the overhead associated with maintaining the file system.
  • When using color cameras, only storing the raw bayer data as opposed to the larger color processed images.

Video card

All of the PCI Express slots on the board were occupied with PCIe 1394 cards.  The only slot available for a video card was a much slower PCI slot.  As a result of this lack of bandwidth visual output from the software was kept to a minimum in order to avoid a number of performance issues.

Multiple cameras on a single bus

At the time that this article was written, most 1394b host adapter cards suffered from an issue which prevented more than two 1394b nodes (1 camera + host adapter) to reside on the same bus.  This issue is discussed in Knowledge Base Article 10299. In order for configurations involving more than a single 1394b camera on the same bus to be successful, users will have to insure that their 1394b card employs the TI TSB81BA3D physical layer.  This will not be an issue for configurations involving a single camera on any given bus or for configurations involving 1394a cameras.

 

Successful Configurations

The following two tables illustrate successful configurations that attempted to maximize throughput to disk – they should not be considered an exhaustive list; many other lower data rate configurations will also work.

3 Buses, 5 Cameras

Parameter

Value

1394 cards

3

Number of Cameras

5

Camera Resolution

1024x768

Frame Rate

30Hz

Data rate

~112MB/sec

Out of sync frames

0

4 Buses, 4 Cameras

Parameter

Value

1394 cards

4

Number of Cameras

4

Camera Resolution

1024x768

Frame Rate

30Hz

Data rate

~90MB/sec

Out of sync frames

0