public override void CreateMaster(FileProcess fileProcess) { // create folder var albumName = Path.GetFileNameWithoutExtension(Path.GetDirectoryName(fileProcess.Path)); var masterFolderPath = Path.Combine(_masterFolderPath, albumName); CreateFolder(masterFolderPath); File.Copy(fileProcess.Path, Path.Combine(masterFolderPath, Path.GetFileName(fileProcess.Path)), true); }
public override void CreateView(FileProcess fileProcess) { var width = 1024; var height = 768; // create folder var albumName = Path.GetFileNameWithoutExtension(Path.GetDirectoryName(fileProcess.Path)); var viewFolderPath = Path.Combine(_viewFolderPath, albumName); CreateFolder(viewFolderPath); // create thumbail var irfanViewThumbnailParameters = $@"""{fileProcess.Path}"" /resize=({width}, {height}) /aspectratio /resample /convert=""{Path.Combine(viewFolderPath, fileProcess.Name)}"""; CreateProcess(_irfanViewBinPath, irfanViewThumbnailParameters).Start(); }
public FileProcess Process(string filePath) { var fileName = Path.GetFileName(filePath); var fileExtension = Path.GetExtension(filePath).ToLower(CultureInfo.InvariantCulture); if (PictureFileExtensions.Contains(fileExtension)) { DateTime datePictureTaken; string cameraMaker, cameraModel; uint height, width; double fileSize; using (ExifReader reader = new ExifReader(filePath)) { reader.GetTagValue(ExifTags.DateTimeDigitized, out datePictureTaken); reader.GetTagValue(ExifTags.Make, out cameraMaker); reader.GetTagValue(ExifTags.Model, out cameraModel); reader.GetTagValue(ExifTags.PixelXDimension, out width); reader.GetTagValue(ExifTags.PixelYDimension, out height); } using (var file = File.OpenRead(filePath)) { fileSize = file.Length; } var mediaFile = new FileProcess { Name = fileName, Extension = fileExtension, Path = filePath, DateTaken = datePictureTaken, CameraMaker = cameraMaker, CameraModel = cameraModel, FileSize = fileSize, Height = Convert.ToInt32(height), Width = Convert.ToInt32(width) }; return(mediaFile); } return(null); }
public override void CreateView(FileProcess fileProcess) { // create folder var albumName = Path.GetFileNameWithoutExtension(Path.GetDirectoryName(fileProcess.Path)); var viewFolderPath = Path.Combine(_viewFolderPath, albumName); CreateFolder(viewFolderPath); // create mp4 video version var mp4Parameters = $@"-i ""{fileProcess.Path}"" -qscale 0 ""{Path.Combine(viewFolderPath, fileProcess.Name + ".mp4")}"" -y"; var mp4Process = CreateProcess(_ffmpegBinPath, mp4Parameters); StartFFmpegProcess(mp4Process); //// create webm video version //var webmParameters = $@"-i ""{fileProcess.Path}"" -qscale 0 ""{Path.Combine(viewFolderPath, fileProcess.Name + ".webm")}"" -y"; //var webmProcess = CreateProcess(_ffmpegBinPath, webmParameters); //StartFFmpegProcess(webmProcess); }
private void CreateThumbnail(FileProcess fileProcess, string folderPath, int width, int height) { // create folder var albumName = Path.GetFileNameWithoutExtension(Path.GetDirectoryName(fileProcess.Path)); var thumbnailFolderPath = Path.Combine(folderPath, albumName); CreateFolder(thumbnailFolderPath); // take video thumbnail var tempPath = Path.GetTempPath(); var thumbnailFilePath = Path.Combine(tempPath, fileProcess.Name) + ".jpg"; var ffmpegThumbnailParameters = $@"-i ""{fileProcess.Path}"" -ss 00:00:05 -vframes 1 ""{thumbnailFilePath}"" -y"; var process = CreateProcess(_ffmpegBinPath, ffmpegThumbnailParameters); process.Start(); process.WaitForExit(); // create thumbail var irfanViewThumbnailParameters = $@"""{thumbnailFilePath}"" /resize=({width}, {height}) /aspectratio /resample /silent /convert=""{Path.Combine(thumbnailFolderPath, fileProcess.Name + ".jpg")}"""; process = CreateProcess(_irfanViewBinPath, irfanViewThumbnailParameters); process.Start(); process.WaitForExit(); }
public override void CreateThumbnail(FileProcess fileProcess) { CreateThumbnail(fileProcess, _thumbnailsFolderPath, 100, 70); }
public override void CreateSearch(FileProcess fileProcess) { CreateThumbnail(fileProcess, _searchFolderPath, 50, 30); }
public abstract void CreateMaster(FileProcess fileProcess);
public abstract void CreateView(FileProcess fileProcess);
public abstract void CreateSearch(FileProcess fileProcess);
public abstract void CreateThumbnail(FileProcess fileProcess);