diff --git a/server/src/services/media.service.spec.ts b/server/src/services/media.service.spec.ts index 6cfab317f0..467154fd45 100644 --- a/server/src/services/media.service.spec.ts +++ b/server/src/services/media.service.spec.ts @@ -1427,7 +1427,7 @@ describe(MediaService.name, () => { '-v verbose', '-vf format=nv12,hwupload=extra_hw_frames=64,scale_qsv=-1:720', '-preset 7', - '-global_quality 23', + '-global_quality:v 23', '-maxrate 10000k', '-bufsize 20000k', ]), @@ -1658,8 +1658,8 @@ describe(MediaService.name, () => { outputOptions: expect.arrayContaining([ `-c:v h264_vaapi`, '-c:a copy', - '-qp 23', - '-global_quality 23', + '-qp:v 23', + '-global_quality:v 23', '-rc_mode 1', ]), twoPass: false, diff --git a/server/src/utils/media.ts b/server/src/utils/media.ts index 78fbab4fda..6bf8d413ac 100644 --- a/server/src/utils/media.ts +++ b/server/src/utils/media.ts @@ -678,7 +678,7 @@ export class QsvSwDecodeConfig extends BaseHWConfig { getBitrateOptions() { const options = []; - options.push(`-${this.useCQP() ? 'q:v' : 'global_quality'} ${this.config.crf}`); + options.push(`-${this.useCQP() ? 'q:v' : 'global_quality:v'} ${this.config.crf}`); const bitrates = this.getBitrateDistribution(); if (bitrates.max > 0) { options.push(`-maxrate ${bitrates.max}${bitrates.unit}`, `-bufsize ${bitrates.max * 2}${bitrates.unit}`); @@ -821,9 +821,9 @@ export class VAAPIConfig extends BaseHWConfig { '-rc_mode 3', ); // variable bitrate } else if (this.useCQP()) { - options.push(`-qp ${this.config.crf}`, `-global_quality ${this.config.crf}`, '-rc_mode 1'); + options.push(`-qp:v ${this.config.crf}`, `-global_quality:v ${this.config.crf}`, '-rc_mode 1'); } else { - options.push(`-global_quality ${this.config.crf}`, '-rc_mode 4'); + options.push(`-global_quality:v ${this.config.crf}`, '-rc_mode 4'); } return options;