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 +}