public void write() {
int codec = Emgu.CV.CvInvoke.CV_FOURCC('P', 'I', 'M', '1');
int fps = 25;
if (list_timestamps.Count > 0)
{
String tempvideopath = Program.getConfiguration().Mediafolderpath + @"\" + list_timestamps[0].ToString() + ".mpg";
Capture tempcapture = new Capture(tempvideopath);
fps = (int)tempcapture.GetCaptureProperty(CAP_PROP.CV_CAP_PROP_FPS);
tempcapture.Dispose();
}
VideoWriter videowriter = new VideoWriter(videopath, codec, fps, 640, 480, true);
for (int i = 0; i < list_timestamps.Count; i++)
{
videopath = Program.getConfiguration().Mediafolderpath + @"\" + list_timestamps[i].ToString() + ".mpg";
try
{
Capture joincapture = new Capture(videopath);
Image<Bgr, byte> frame = joincapture.QueryFrame();
for (int n = 1; n < 15; n++)
joincapture.QueryFrame();
while (frame != null)
{
videowriter.WriteFrame(frame);
frame = joincapture.QueryFrame();
}
joincapture.Dispose();
// Notify main frame to update its progressbar
ExportVideoProgressEventArgs e = new ExportVideoProgressEventArgs(i);
DoneAppendingRallyVideoEvent(this, e);
}
catch (NullReferenceException) { Console.WriteLine("unreadable video file"); }
}
videowriter.Dispose();
}