Esempio n. 1
0
        private async Task <ActionHandlerResult> Handle(CropAction action)
        {
            var arguments = $"-i {action.InputPath} -vf \"crop = {action.Width}:{action.Height}:{action.X}:{action.Y}\" {action.OutputPath}";
            await _engine.Execute(arguments);

            return(ActionHandlerResult.Successful(action.OutputPath));
        }
Esempio n. 2
0
        private async Task <ActionHandlerResult> Handle(TrimAction action)
        {
            var conversion = await Xabe.FFmpeg.FFmpeg.Conversions.FromSnippet
                             .Split(
                action.InputPath,
                action.OutputPath,
                action.Start,
                action.Duration);

            var result = await conversion.Start();

            return(ActionHandlerResult.Successful(action.OutputPath));
        }
Esempio n. 3
0
        private async Task <ActionHandlerResult> Handle(ResizeAction action)
        {
            var conversion = await Xabe.FFmpeg.FFmpeg.Conversions.FromSnippet
                             .ChangeSize(
                action.InputPath,
                action.OutputPath,
                action.Width,
                action.Height);

            var result = await conversion.Start();

            return(ActionHandlerResult.Successful(action.OutputPath));
        }
Esempio n. 4
0
        private async Task <ActionHandlerResult> Handle(GeneratePreviewAction action)
        {
            EnsureActionOutputIsImage(action);
            var previewPath = await GeneratePreview(action);

            if (previewPath == null)
            {
                return(ActionHandlerResult.Successful(action.OutputPath));
            }

            await UpdateRecordPreview(action, previewPath);

            return(ActionHandlerResult.Successful(action.OutputPath, createNewRecord: false));
        }