From 43309b795ad071204f2c5c6faf40f9005e99ec08 Mon Sep 17 00:00:00 2001 From: zekroTJA Date: Sat, 31 Jan 2026 00:17:06 +0100 Subject: [PATCH] add obs-quality-test script --- powershell/obs-quality-test.ps1 | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 powershell/obs-quality-test.ps1 diff --git a/powershell/obs-quality-test.ps1 b/powershell/obs-quality-test.ps1 new file mode 100644 index 0000000..9fd4d56 --- /dev/null +++ b/powershell/obs-quality-test.ps1 @@ -0,0 +1,20 @@ +$inputFile = "lossless.mp4" + +$encodingSettings = @( + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","cbr","-b:v","30000k","-maxrate","30000k","-bufsize","60000k","-g","120","-bf","2"); Output = "cbr30000.mkv" }, + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","20","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp20.mkv" }, + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","21","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp21.mkv" }, + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","22","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp22.mkv" }, + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","23","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp23.mkv" } + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","24","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp24.mkv" } + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","25","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp25.mkv" } + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","26","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp26.mkv" } + @{ Args = @("-c:v","hevc_nvenc","-preset","p5","-rc","constqp","-qp","30","-pix_fmt","yuv420p","-profile:v","main","-g","120","-bf","2"); Output = "cqp30.mkv" } +) + +foreach ($setting in $encodingSettings) { + if (Test-Path -Path $setting.Output) { + continue + } + & ffmpeg -i $inputFile @($setting.Args) $setting.Output +}