public string Convert(string inputVideo, VideoConversionOptions options) { var outputFile = FilesUtils.GetMediaFile( "{0}_{1}.{2}", Path.GetFileNameWithoutExtension(inputVideo), Guid.NewGuid(), options.Format.ToString().ToLower()); var parameters = $"-i {inputVideo} "; if (VideoCodecs.ContainsKey(options.Format)) { parameters += $"-vcodec {VideoCodecs[options.Format]} "; } if (options.Width != 0 && options.Height != 0) { parameters += $"-s {options.Width}x{options.Height} "; } if (options.HorizontalAspect != 0 && options.VerticalAspect != 0) { parameters += $"-aspect {options.Width}:{options.Height} "; } if (options.Bitrate > 0) { parameters += $"-b:v {options.Bitrate}k "; } if (AudioCodecs.ContainsKey(options.Format)) { parameters += $"-acodec {AudioCodecs[options.Format]} -b:a 64k "; } parameters += $"-y {outputFile}"; using (var process = ConfigureProcess(FfmpegPath, parameters)) { process.Start(); process.WaitForExit(); } return(outputFile); }
public string Convert([FromBody] ConvertRequest model) { return(service.Convert($"{FilesUtils.OutputsDataFolder}\\{model.File}", VideoConversionOptions.FromConvertRequest(model))); }