LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I create a VI to take a *.avi at 500 fps?

I am attempting to image a moving bead at 500 frames per second. I am using a PCIe-1433 Aquistion card with a Basler A504k camera. I have checked the camera settings and exposure time, both of which are set to be able to sample at this rate.

 

I am using the IMAQ create AVI function, and the frame rate I am feeding into it is 500 fps, however, when I pull the frames out of the *.avi after recording, the program only actually sampled at about 30 fps.

 

Is there a better function I can use to get the frame rate I require?

Help!

0 Kudos
Message 1 of 4
(2,615 Views)

Hi VandyGirl728,

 

Could you elaborate a little bit more on what you are trying to achieve? Are you just trying to playback the movie at real time? Are you playing back the movie within LabVIEW?

 

There are several reasons why you are seeing lower framerates when you play back the movie. First off, if you are playing back the movie in LabVIEW, LabVIEW needs to pull each frame from the harddrive which takes time and causes the framerate to be lower. That being said, if you buffered the movie in memory prior to playing it, you would see increased performance. However, even if you did do that you would never reach a framerate of 500 because your monitors refresh rate is limited to probably around 60Hz which will limit the fps it can display.

 

If your desire is to just play back the movie in real-time, what we can do is skip some frames and just display the frames that are necessary to play back in real-time. Since the human eye can only detect a certain framerate, this wouldn't affect the overall display of the movie.

 

Let me know what you're looking to do and we can move forward.

 

Paul M

National Instruments | Applications Engineer | www.ni.com/support
0 Kudos
Message 2 of 4
(2,572 Views)

We are looking to pull out each frame and look at what is happening on a frame by frame basis. We are pulling the beads through various liquids, and we are investigating how the beads are affected as they move from liquid to liquid.

 

So, first we just want to have the individual frames that we can look at. In the future, we would want to slow the .avi down and look at the process in action.

 

We would never at any time really want to watch it in real time. That won't be beneficial to our needs. We need individual frames and a slowed down avi.

 

Thanks!

0 Kudos
Message 3 of 4
(2,531 Views)

Hi VandyGirl728,

 

Thanks for clarifying that a little bit more. So the problem is then when you try to read back this AVi that you created using your attached VI correct? In order to get access to all the frames that you saved when you created the AVI, I would recommend buffering all the frames in memory prior to reading them. This should greatly improve the number of frames that you have access to and the rate in which you access them. The buffering process itself may take some time but it will greatly increase performance. Check out this example to see how buffering is done in LabVIEW. Let me know if that works for you.

 

Paul M

National Instruments | Applications Engineer | www.ni.com/support
0 Kudos
Message 4 of 4
(2,505 Views)