Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }