SetVideoDimensions() private method

private SetVideoDimensions ( ) : bool
return bool
示例#1
0
        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
        }
示例#2
0
        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);
            }
        }