private static void ProcessVideo(string fileName) { string videoname = fileName.Split('.')[0]; infoFileName1 = videoname + suffixExpressions; infoFileName2 = videoname + suffixEmotions; infoFileName3 = videoname + suffixFeaturePoints; File.Delete(infoFileName1); File.Delete(infoFileName2); File.Delete(infoFileName3); //initialize detector detector = new VideoDetector(defaultFrameRate, defaultMaxNumFaces, defaultDetectorMode); detector.setClassifierPath(defaultClassifierPath); //initialize callback functions pvd = new ProcessVideoFeed(detector, ShowMessage, WriteInfo1, WriteInfo2, WriteInfo3); status = new Status(detector, ShowMessage, WriteInfo1); //tracker = new FaceTracker(detector, ShowMessage, WriteInfo1); //set detector's options detector.setDetectAllExpressions(true); detector.setDetectAllEmotions(true); //TO DO: make for appearances //detector.setDetectAllAppearances(true); //start and process detector detector.start(); detector.process(fileName); //wait until it all done while (!status.IsReady) { Thread.Sleep(100); } //stop detector detector.stop(); Log(String.Format("Video processing done! {0} frames were captured, {1} frames was processed", pvd.GetFrameCapturedCount(), pvd.GetFrameProcessedCount())); }