public static Arguments GetFromProfile(Profile profile, string inputFilePath, string outputFilePath) { switch (profile) { case Profile.SimpleMP4: return(new Arguments() { InputFilePath = inputFilePath, OutputFilePath = outputFilePath, VideoCodec = VideoCodec.Libx264, AudioCodec = AudioCodec.Aac, }); case Profile.EspecificForDash: return(new Arguments() { OverRightOutputFiles = true, InputFilePath = inputFilePath, OutputFilePath = outputFilePath, AudioCodec = AudioCodec.Aac, AudioChannels = 2, AudioBitrate = 128_000, VideoCodec = VideoCodec.Libx264, X264Params = new X264Params() { KeyInt = 24, MinKeyInt = 24, NoSceneCut = true }, VideoBitrate = 1_500_000, MaxRate = 1_500_000, BufferSize = 1_000_000, VideoFilters = "scale=-1:720" });
private string ParseX264Params() => X264Params == null ? "" : $" -x264-params {X264Params.ToString()}";