From: Steven Steltenpool on
Hello everybody!

I have a somewhat complex problem (I think).
In a program I made, I record a ccd camera to avi and to memory using the logging mode ‘disk&memory’.
I only need the time stamps from the “memory” part of the logging so my recording loop looks like this:
%Recording loop
while get(hObject, 'Value') == 1
if settings.Vid.FramesAvailable > 0
[~, d.VideoTime(Frame), d.VideoMeta{Frame}] = getdata(settings.Vid,1);
Frame = Frame+1;
end
pause(0.0001); % < to allow other callbacks
end

After stopping the acquisition I get the remaining frames from memory and wait for the &#8220;disk&#8221; part to finish writing to disk

So as you can see I don&#8217;t actually use the frame coming from the memory acquisition, since I already have it in the .avi file.

For 640x480 resolution it is perfect, but now we want to go to 1280x1024.
My problem is that for long recordings the computer cannot keep up, so I run out of imaqmemory when using a compressor.
I&#8217;m already using the WMV3 compressor (works good but LOVES cpu time).

So, my question is:
Is there a way for the &#8220;memory&#8221; acquisition part of the Image acquisition engine to NOT store the image frames but only time stamps and metadata? It seems that the &#8220;disk&memory&#8221; logging option is a bit inefficient since the memory has to deal with two times the same frame.

I already tested in &#8220;disk&#8221; mode, and with the compressor set to WMV3, the computer can keep up.

I&#8217;m also recording 2 channel audio with this, and I have to use a compressor otherwise the .avi files get way to big.

What I might try is to get more that one frame back in the recording loop, to make it more efficient somehow

I hope someone has a solution to this, thanks!