namespace Vinno.IUS.Common.Media.FFmpeg.ArgsBuilder { class FFmpegOutputArgs : FFmpegArgs { private readonly string _output; public FFmpegOutputArgs(string output) { _output = output; } public override string GetArgs() { return base.GetArgs() + $" {_output}"; } public FFmpegOutputArgs AddArg(string arg) { Args.Add(arg); return this; } public FFmpegOutputArgs AddArg(string key, T value) { return AddArg($"-{key} {value}"); } public FFmpegOutputArgs SetVideoSize(int width, int height) { return AddArg("video_size", $"{width}x{height}"); } public FFmpegOutputArgs SetFrameRate(int frameRate) { return AddArg("r", frameRate); } } }