21 lines
1.7 KiB
PowerShell
21 lines
1.7 KiB
PowerShell
$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
|
|
}
|