Beispiel #1
0
        public static FileItem NewSourceVideoFileItem(FileContainer fileContainer)
        {
            FileItem fileItem = new FileItem(fileContainer, fileContainer.OriginFilePath, TypeFile.SourceVideo);

            fileItem.VideoSize         = null;
            fileItem.InfoSourceProcess = new ProcessItem(fileItem, LogManager.FfmpegLogger);
            return(fileItem);
        }
Beispiel #2
0
        public static FileItem NewSpriteVideoFileItem(FileContainer fileContainer)
        {
            FileItem fileItem = new FileItem(fileContainer, fileContainer.OriginFilePath, TypeFile.SpriteVideo);

            fileItem.VideoSize           = VideoSize.Source;
            fileItem.SpriteEncodeProcess = new ProcessItem(fileItem, LogManager.SpriteLogger);
            fileItem.IpfsProcess         = new ProcessItem(fileItem, LogManager.IpfsLogger);
            return(fileItem);
        }
Beispiel #3
0
        public static FileContainer NewSubtitleContainer()
        {
            FileContainer fileContainer = new FileContainer(TypeContainer.Subtitle, null);

            fileContainer.SubtitleFileItem = FileItem.NewSubtitleFileItem(fileContainer);

            ProgressManager.RegisterProgress(fileContainer);
            return(fileContainer);
        }
Beispiel #4
0
        public static FileContainer NewVideoContainer(string originFilePath)
        {
            FileContainer fileContainer = new FileContainer(TypeContainer.Video, originFilePath);

            fileContainer.SourceFileItem = FileItem.NewSourceVideoFileItem(fileContainer);

            ProgressManager.RegisterProgress(fileContainer);
            return(fileContainer);
        }
Beispiel #5
0
        public static FileContainer NewOverlayContainer(string originFilePath)
        {
            FileContainer fileContainer = new FileContainer(TypeContainer.Overlay, originFilePath);

            fileContainer.SourceFileItem  = FileItem.NewSourceImageFileItem(fileContainer);
            fileContainer.OverlayFileItem = FileItem.NewOverlayImageFileItem(fileContainer);

            ProgressManager.RegisterProgress(fileContainer);
            return(fileContainer);
        }
Beispiel #6
0
        public static FileItem NewEncodedVideoFileItem(FileContainer fileContainer, VideoSize videoSize)
        {
            if (videoSize == null)
            {
                throw new ArgumentNullException(nameof(videoSize));
            }

            FileItem fileItem = new FileItem(fileContainer, fileContainer.SourceFileItem.SourceFilePath, TypeFile.EncodedVideo);

            fileItem.VideoSize   = videoSize;
            fileItem.IpfsProcess = new ProcessItem(fileItem, LogManager.IpfsLogger);
            return(fileItem);
        }
Beispiel #7
0
        public static FileItem NewSourceVideoFileItem(FileContainer fileContainer)
        {
            FileItem fileItem = new FileItem(fileContainer, fileContainer.OriginFilePath, TypeFile.SourceVideo);

            fileItem.VideoSize         = VideoSize.Source;
            fileItem.InfoSourceProcess = new ProcessItem(fileItem, LogManager.FfmpegLogger);

            if (VideoSettings.Instance.GpuEncodeMode)
            {
                fileItem.AudioCpuEncodeProcess = new ProcessItem(fileItem, LogManager.FfmpegLogger);
                fileItem.VideoGpuEncodeProcess = new ProcessItem(fileItem, LogManager.FfmpegLogger);
            }

            return(fileItem);
        }
Beispiel #8
0
        public static FileItem NewEncodedVideoFileItem(FileContainer fileContainer, VideoSize videoSize)
        {
            if (videoSize == VideoSize.Undefined)
            {
                throw new InvalidOperationException("VideoSize inconnu");
            }

            FileItem fileItem = new FileItem(fileContainer, fileContainer.SourceFileItem.SourceFilePath, TypeFile.EncodedVideo);

            fileItem.VideoSize = videoSize;
            if (!VideoSettings.Instance.GpuEncodeMode)
            {
                fileItem.AudioVideoCpuEncodeProcess = new ProcessItem(fileItem, LogManager.FfmpegLogger);
            }
            fileItem.IpfsProcess = new ProcessItem(fileItem, LogManager.IpfsLogger);
            return(fileItem);
        }
Beispiel #9
0
        private FileItem(FileContainer fileContainer, string sourceFilePath, TypeFile typeFile)
        {
            FileContainer = fileContainer;
            FilesToDelete = new List <string>();
            CreationDate  = DateTime.UtcNow;
            SetSourceFilePath(sourceFilePath);
            TypeFile = typeFile;
            switch (typeFile)
            {
            case TypeFile.EncodedVideo:
            case TypeFile.SourceVideo:
                SetTempFilePath(Path.ChangeExtension(TempFileManager.GetNewTempFilePath(), ".mp4"));
                break;

            case TypeFile.SpriteVideo:
                SetTempFilePath(Path.ChangeExtension(TempFileManager.GetNewTempFilePath(), ".jpeg"));
                break;

            case TypeFile.SourceImage:
            case TypeFile.OverlayImage:
                SetTempFilePath(Path.ChangeExtension(TempFileManager.GetNewTempFilePath(), ".png"));
                break;
            }
        }
Beispiel #10
0
        public static FileItem NewSourceImageFileItem(FileContainer fileContainer)
        {
            FileItem fileItem = new FileItem(fileContainer, fileContainer.OriginFilePath, TypeFile.SourceImage);

            return(fileItem);
        }