public static async Task ExtractLastFrame(string inputFile, string outputPath, Size size) { if (QuickSettingsTab.trimEnabled) { return; } if (IOUtils.IsPathDirectory(outputPath)) { outputPath = Path.Combine(outputPath, "last.png"); } bool isPng = (Path.GetExtension(outputPath).ToLower() == ".png"); string comprArg = isPng ? compr : ""; string pixFmt = "-pix_fmt " + (isPng ? $"rgb24 {comprArg}" : "yuvj420p"); string sizeStr = (size.Width > 1 && size.Height > 1) ? $"-s {size.Width}x{size.Height}" : ""; string trim = QuickSettingsTab.trimEnabled ? $"-ss {QuickSettingsTab.GetTrimEndMinusOne()} -to {QuickSettingsTab.trimEnd}" : ""; string sseof = string.IsNullOrWhiteSpace(trim) ? "-sseof -1" : ""; string args = $"{sseof} -i {inputFile.Wrap()} -update 1 {pixFmt} {sizeStr} {trim} {outputPath.Wrap()}"; await RunFfmpeg(args, LogMode.Hidden, TaskType.ExtractFrames); }
private void trimBox_TextChanged(object sender, EventArgs e) { QuickSettingsTab.UpdateTrim(trimStartBox, trimEndBox); }