private void MainForm_DoubleClick(object sender, EventArgs e) { #if DEBUG using (new HourGlass()) { /* for (var i = 1; i <= 1000; i++) { var activationState = Protection.GetLicenseStatus(true); } MessageBox.Show("done"); return; */ var inputFileObject = new InputFileObject() { SourceFileInfo = new FileInfo(MainModel.GetPathToSampleVideo()), }; using (var scanWorker = new ScanWorker(inputFileObject)) { scanWorker.SetBitrate(); scanWorker.SetFramesPerSecond(); scanWorker.SetTotalFrames(); scanWorker.SetVideoDimensions(); scanWorker.SetVideoDuration(); } MainModel.InputFileObjects.Add(inputFileObject); var newHighlight1 = (new HighlightObject() { InputFileObject = inputFileObject, StartTime = TimeSpan.FromSeconds(10), BookmarkTime = TimeSpan.FromSeconds(27), EndTime = TimeSpan.FromSeconds(25), }); newHighlight1.GenerateHighlightTitle(); MainModel.HighlightObjects.Add(newHighlight1); var sampleFileDir = Path.Combine(Directory.GetCurrentDirectory(), @"..\..\..\..\sample-files"); var inputFileObject2 = new InputFileObject() { SourceFileInfo = new FileInfo(Path.Combine(sampleFileDir, @"Long videos\GO021100.MP4")), }; using (var scanWorker = new ScanWorker(inputFileObject2)) { scanWorker.SetBitrate(); scanWorker.SetFramesPerSecond(); scanWorker.SetTotalFrames(); scanWorker.SetVideoDimensions(); scanWorker.SetVideoDuration(); } MainModel.InputFileObjects.Add(inputFileObject2); var newHighlight2 = (new HighlightObject() { InputFileObject = inputFileObject2, StartTime = TimeSpan.FromSeconds(60 * 20 + 4), BookmarkTime = TimeSpan.FromSeconds(60 * 20 + 19), EndTime = TimeSpan.FromSeconds(60 * 20 + 17), }); newHighlight2.GenerateHighlightTitle(); MainModel.HighlightObjects.Add(newHighlight2); var newHighlight3 = new HighlightObject() { InputFileObject = inputFileObject2, StartTime = TimeSpan.FromSeconds(60 * 10 + 4), BookmarkTime = TimeSpan.FromSeconds(60 * 10 + 19), EndTime = TimeSpan.FromSeconds(60 * 10 + 17) }; newHighlight3.GenerateHighlightTitle(); MainModel.HighlightObjects.Add(newHighlight3); var newHighlight4 = new HighlightObject() { InputFileObject = inputFileObject2, StartTime = TimeSpan.FromSeconds(60 * 5 + 4), BookmarkTime = TimeSpan.FromSeconds(60 * 5 + 19), EndTime = TimeSpan.FromSeconds(60 * 5 + 17), }; newHighlight4.GenerateHighlightTitle(); MainModel.HighlightObjects.Add(newHighlight4); var inputFileObject3 = new InputFileObject() { SourceFileInfo = new FileInfo(Path.Combine(sampleFileDir, "00002.MTS")), }; using (var scanWorker = new ScanWorker(inputFileObject3)) { scanWorker.SetBitrate(); scanWorker.SetFramesPerSecond(); scanWorker.SetTotalFrames(); scanWorker.SetVideoDimensions(); scanWorker.SetVideoDuration(); } MainModel.InputFileObjects.Add(inputFileObject3); var newHighlight5 = (new HighlightObject() { InputFileObject = inputFileObject3, StartTime = TimeSpan.FromSeconds(30), BookmarkTime = TimeSpan.FromSeconds(47), EndTime = TimeSpan.FromSeconds(45), }); newHighlight5.GenerateHighlightTitle(); MainModel.HighlightObjects.Add(newHighlight5); SwitchToStep(Steps.Scan); scanControl_ScanCompletedWithHighlights(sender, e); } #endif }
private bool IsValidVideo(FileInfo fileInfo) { if (fileInfo == null) return false; if (OutputFormat == OutputFormats.ProRes) { return fileInfo.Length > 1024 * 1024; // 1mb in size } else { Thread.Sleep(1000); // let things settle. sometimes we can't read the video dimensions and hopefully this will help that. var inputFileObject = new InputFileObject(fileInfo); using (var scanWorker = new ScanWorker(inputFileObject)) { scanWorker.SetVideoDimensions(); } Debug.Assert(inputFileObject.VideoWidth > 0 && inputFileObject.VideoHeight > 0, "Cannot determine dimensions of " + inputFileObject.SourceFileInfo.FullName); return (inputFileObject.VideoWidth > 0 && inputFileObject.VideoHeight > 0); } }