angelcaf
12-15-2012, 11:54 PM
Hello,
I have implemented an app using VideoLab that captures videos from the webcam using dsCapture (no audio/no video compression right now), shows the preview on a window and at the same time saves the captured video into a file by using aviLogger.
Sometimes I get two problems though:
1) At some point the audio gets desynchronized from the video with videos longer than 1 or 2 minutes (already checked that framerate of webcam corresponds to capture frame rate)
2) Sometimes when finishing recording and checking for the file just saved I realize the last 2/3 seconds of the recording are missing from the file. So, What is the proper way to close and save the file once recording is stopped by the user (via button on the GUI)?
Right now I am using the aviLogger Progress callback and when the "Args.currentFrame is >= currentFrame when recording was stopped"
I do the following in sequence (aviLogger is the member name of the component):
aviLogger.Close();
aviLogger.Enabled = false;
dsCapture.Enabled = false;
Any suggestion?
Thanks in advance,
Angelo
I have implemented an app using VideoLab that captures videos from the webcam using dsCapture (no audio/no video compression right now), shows the preview on a window and at the same time saves the captured video into a file by using aviLogger.
Sometimes I get two problems though:
1) At some point the audio gets desynchronized from the video with videos longer than 1 or 2 minutes (already checked that framerate of webcam corresponds to capture frame rate)
2) Sometimes when finishing recording and checking for the file just saved I realize the last 2/3 seconds of the recording are missing from the file. So, What is the proper way to close and save the file once recording is stopped by the user (via button on the GUI)?
Right now I am using the aviLogger Progress callback and when the "Args.currentFrame is >= currentFrame when recording was stopped"
I do the following in sequence (aviLogger is the member name of the component):
aviLogger.Close();
aviLogger.Enabled = false;
dsCapture.Enabled = false;
Any suggestion?
Thanks in advance,
Angelo