public BroadcastResult Handle(VideoConvertedCommand command) { var entityId = _intranetMediaService.GetEntityIdByMediaId(command.MediaId); var entity = Get(entityId); if (entity == null) { return(BroadcastResult.Success); } entity.ModifyDate = DateTime.Now; return(BroadcastResult.Success); }
public void Convert(MediaConvertModel model) { VideoConvertedCommand command = null; try { var tempFilePath = Path.GetTempFileName(); File.WriteAllBytes(tempFilePath, model.File.FileBytes); var inputFile = new MediaFile { Filename = tempFilePath }; var outputFile = new MediaFile { Filename = Path.ChangeExtension(tempFilePath, Mp4ExtensionName) }; using (var engine = new Engine(HostingEnvironment.MapPath(IntranetConstants.FfmpegRelativePath))) { engine.GetMetadata(inputFile); var options = new Uintra.Core.MediaToolkit.Options.ConversionOptions(); engine.Convert(inputFile, outputFile, options); } File.Delete(inputFile.Filename); command = new VideoConvertedCommand { Success = true, ConvertedFilePath = outputFile.Filename, MediaId = model.MediaId }; } catch (Exception ex) { command = new VideoConvertedCommand { MediaId = model.MediaId, Success = false, Message = new VideoConvertedCommandMessageModel { ExceptionMessage = ex.Message, StackTrace = ex.StackTrace, FileName = model.File.FileName } }; } finally { _commandPublisher.Publish(command); } }