feat(all): ffmpeg quality options improvements (#2161)

* feat: change target scaling to resolution in ffmpeg config

* feat(microservices): scale vertical video correctly, only scale if video is larger than target
This commit is contained in:
Zack Pollard
2023-04-04 02:42:53 +01:00
committed by GitHub
parent 9076f3e69e
commit 808d6423be
12 changed files with 76 additions and 46 deletions

View File

@@ -15,7 +15,7 @@ export class SystemConfigFFmpegDto {
targetAudioCodec!: string;
@IsString()
targetScaling!: string;
targetResolution!: string;
@IsEnum(TranscodePreset)
transcode!: TranscodePreset;

View File

@@ -13,7 +13,7 @@ const defaults: SystemConfig = Object.freeze({
preset: 'ultrafast',
targetVideoCodec: 'h264',
targetAudioCodec: 'aac',
targetScaling: '1280:-2',
targetResolution: '720',
transcode: TranscodePreset.REQUIRED,
},
oauth: {

View File

@@ -16,7 +16,7 @@ const updatedConfig = Object.freeze({
crf: 'a new value',
preset: 'ultrafast',
targetAudioCodec: 'aac',
targetScaling: '1280:-2',
targetResolution: '720',
targetVideoCodec: 'h264',
transcode: TranscodePreset.REQUIRED,
},

View File

@@ -401,7 +401,7 @@ export const systemConfigStub = {
crf: '23',
preset: 'ultrafast',
targetAudioCodec: 'aac',
targetScaling: '1280:-2',
targetResolution: '720',
targetVideoCodec: 'h264',
transcode: TranscodePreset.REQUIRED,
},

View File

@@ -17,7 +17,7 @@ export enum SystemConfigKey {
FFMPEG_PRESET = 'ffmpeg.preset',
FFMPEG_TARGET_VIDEO_CODEC = 'ffmpeg.targetVideoCodec',
FFMPEG_TARGET_AUDIO_CODEC = 'ffmpeg.targetAudioCodec',
FFMPEG_TARGET_SCALING = 'ffmpeg.targetScaling',
FFMPEG_TARGET_RESOLUTION = 'ffmpeg.targetResolution',
FFMPEG_TRANSCODE = 'ffmpeg.transcode',
OAUTH_ENABLED = 'oauth.enabled',
OAUTH_ISSUER_URL = 'oauth.issuerUrl',
@@ -45,7 +45,7 @@ export interface SystemConfig {
preset: string;
targetVideoCodec: string;
targetAudioCodec: string;
targetScaling: string;
targetResolution: string;
transcode: TranscodePreset;
};
oauth: {