Esempio n. 1
0
        public void GetMjpegStringWithNumFrameMoreDurationTest()
        {
            //Arrange
            const string destinationFilePath = "destination Path";
            const int    numFrame            = 10;
            var          serviceConfigurator = Factory.CreateMp4MetadataServiceConfigurator();

            var metadata = new VideoMetadata()
            {
                Duration = (int)serviceConfigurator.ScreenshotTime.TotalMilliseconds - 1,
                Width    = 4096,
                Height   = 2304,
                FilePath = "source file path"
            };

            var metadataService = new MetadataService(serviceConfigurator, metadata);
            var stringBuilder   = new FfmpegStringBuilder(metadataService, destinationFilePath);
            var ffmpegStr       = "-i \"{0}\" -f image2 -ss {1} -frames:v 1 -y \"{2}.jpg\"";

            ffmpegStr = String.Format(ffmpegStr,
                                      metadata.FilePath,
                                      0,
                                      destinationFilePath);

            //Act
            var str = stringBuilder.GetStringForScreenshot();

            //Assert
            Assert.AreEqual(ffmpegStr, str);
        }
Esempio n. 2
0
        private void StartScreenshot(MetadataServiceConfigurator serviceConfigurator, string[] filePathes)
        {
            var allSw    = new Stopwatch();
            var decodeSw = new Stopwatch();

            foreach (var filePath in filePathes)
            {
                allSw.Start();
                Trace.WriteLine(String.Format("\n-------------Start decode file: {0}-------------\n", filePath));

                try
                {
                    var destinationFilePath = GetDestinationFilePath(filePath);
                    var mediaInfo           = new MediaInfoWrapper();
                    var metadataInfo        = new VideoMetadataInfo(mediaInfo);
                    var metadata            = metadataInfo.GetMetadata(filePath);
                    var metadataService     = new MetadataService(serviceConfigurator, metadata);
                    var stringBuilder       = new FfmpegStringBuilder(metadataService, destinationFilePath);
                    var ffmpeg       = new Ffmpeg(stringBuilder);
                    var ffmpegString = stringBuilder.GetStringForScreenshot();

                    WriteFileInfo(ffmpegString, metadata);

                    decodeSw.Start();
                    var result = ffmpeg.StartScreenshotProcess();
                    allSw.Stop();
                    decodeSw.Stop();
                    WriteFinishProcess(decodeSw.Elapsed, allSw.Elapsed, result);
                }
                catch (MediaFormatException ex)
                {
                    Trace.WriteLine(String.Format("Error File: {0}. Error Param: {1}", ex.VideoUri, ex.InvalidParameter));
                }
                finally
                {
                    Trace.WriteLine(String.Format("\n-------------Finish decode file: {0}-------------\n", filePath));
                }
            }
        }
Esempio n. 3
0
        private void StartScreenshot(MetadataServiceConfigurator serviceConfigurator, string[] filePathes)
        {
            var allSw = new Stopwatch();
            var decodeSw = new Stopwatch();
            foreach (var filePath in filePathes)
            {
                allSw.Start();
                Trace.WriteLine(String.Format("\n-------------Start decode file: {0}-------------\n", filePath));

                try
                {
                    var destinationFilePath = GetDestinationFilePath(filePath);
                    var mediaInfo = new MediaInfoWrapper();
                    var metadataInfo = new VideoMetadataInfo(mediaInfo);
                    var metadata = metadataInfo.GetMetadata(filePath);
                    var metadataService = new MetadataService(serviceConfigurator, metadata);
                    var stringBuilder = new FfmpegStringBuilder(metadataService, destinationFilePath);
                    var ffmpeg = new Ffmpeg(stringBuilder);
                    var ffmpegString = stringBuilder.GetStringForScreenshot();

                    WriteFileInfo(ffmpegString, metadata);

                    decodeSw.Start();
                    var result = ffmpeg.StartScreenshotProcess();
                    allSw.Stop();
                    decodeSw.Stop();
                    WriteFinishProcess(decodeSw.Elapsed, allSw.Elapsed, result);
                }
                catch (MediaFormatException ex)
                {
                    Trace.WriteLine(String.Format("Error File: {0}. Error Param: {1}", ex.VideoUri, ex.InvalidParameter));
                }
                finally
                {
                    Trace.WriteLine(String.Format("\n-------------Finish decode file: {0}-------------\n", filePath));
                }
            }
        }
        public void GetMjpegStringWithNumFrameMoreDurationTest()
        {
            //Arrange
            const string destinationFilePath = "destination Path";
            const int numFrame = 10;
            var serviceConfigurator = Factory.CreateMp4MetadataServiceConfigurator();

            var metadata = new VideoMetadata()
            {
                Duration = (int)serviceConfigurator.ScreenshotTime.TotalMilliseconds - 1,
                Width = 4096,
                Height = 2304,
                FilePath = "source file path"
            };

            var metadataService = new MetadataService(serviceConfigurator, metadata);
            var stringBuilder = new FfmpegStringBuilder(metadataService, destinationFilePath);
            var ffmpegStr = "-i \"{0}\" -f image2 -ss {1} -frames:v 1 -y \"{2}.jpg\"";
            ffmpegStr = String.Format(ffmpegStr,
               metadata.FilePath,
               0,
               destinationFilePath);

            //Act
            var str = stringBuilder.GetStringForScreenshot();

            //Assert
            Assert.AreEqual(ffmpegStr, str);
        }