Exemple #1
0
        public bool Initialize(string directory, int id = -1)
        {
            Debug.Assert(FileProvider != null);
            var sourceMetadata = VideoMetadataReader.GetVideoMetadata(SourceFile);

            if (sourceMetadata == null)
            {
                Error = $"ffprobe could not read file: {SourceFile}";
                return(false);
            }

            SourceMetadata = sourceMetadata;

            TargetFileExtension = Path.GetExtension(SourceFile).TrimStart('.');
            TargetTotalFrames   = (int)Math.Ceiling(SourceMetadata.FrameRate * SourceMetadata.Duration.TotalSeconds);

            InitializeEx();

            var targetFileName = id == -1 ? $"{Path.GetFileNameWithoutExtension( SourceFile )}.{TargetFileExtension}" :
                                 $"{Path.GetFileNameWithoutExtension( SourceFile )}-{id}.{TargetFileExtension}";

            TargetFile = Path.Combine(directory, targetFileName);

            if (File.Exists(TargetFile))
            {
                TargetFile = string.Empty; // To avoid deleting
                Error      = $"\"{targetFileName}\" exists in \"{directory}\"";
                return(false);
            }

            _initialized = true;
            return(true);
        }
Exemple #2
0
        protected override void InitializeEx()
        {
            var model = (CropVideoFilterViewModel)ViewModel;

            if (model.Type == CropType.RemoveBlackBars)
            {
                _crop = VideoMetadataReader.GetCropDetect(SourceFile, SourceMetadata.Duration);
            }
        }