diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html index 44fc6dc26..d5b625d9c 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html @@ -309,8 +309,8 @@
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts index c238a6c81..055bae851 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts @@ -15,7 +15,7 @@ import { FormValidatorService } from '@app/shared/forms/form-validators/form-val export class EditCustomConfigComponent extends FormReactive implements OnInit { customConfig: CustomConfig - resolutions: string[] = [] + resolutions: { id: string, label: string }[] = [] transcodingThreadOptions: { label: string, value: number }[] = [] constructor ( @@ -30,11 +30,30 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { super() this.resolutions = [ - this.i18n('240p'), - this.i18n('360p'), - this.i18n('480p'), - this.i18n('720p'), - this.i18n('1080p') + { + id: '240p', + label: this.i18n('240p') + }, + { + id: '360p', + label: this.i18n('360p') + }, + { + id: '480p', + label: this.i18n('480p') + }, + { + id: '720p', + label: this.i18n('720p') + }, + { + id: '1080p', + label: this.i18n('1080p') + }, + { + id: '2160p', + label: this.i18n('2160p') + } ] this.transcodingThreadOptions = [ @@ -140,8 +159,8 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { } } for (const resolution of this.resolutions) { - defaultValues.transcoding.resolutions[resolution] = 'false' - formGroupData.transcoding.resolutions[resolution] = null + defaultValues.transcoding.resolutions[resolution.id] = 'false' + formGroupData.transcoding.resolutions[resolution.id] = null } this.buildForm(formGroupData) diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 27c416a12..1d12f701b 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts @@ -262,7 +262,8 @@ function customConfig (): CustomConfig { '360p': CONFIG.TRANSCODING.RESOLUTIONS[ '360p' ], '480p': CONFIG.TRANSCODING.RESOLUTIONS[ '480p' ], '720p': CONFIG.TRANSCODING.RESOLUTIONS[ '720p' ], - '1080p': CONFIG.TRANSCODING.RESOLUTIONS[ '1080p' ] + '1080p': CONFIG.TRANSCODING.RESOLUTIONS[ '1080p' ], + '2160p': CONFIG.TRANSCODING.RESOLUTIONS[ '2160p' ] }, hls: { enabled: CONFIG.TRANSCODING.HLS.ENABLED diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 50653b0a0..bb278ba43 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -156,7 +156,8 @@ const CONFIG = { get '360p' () { return config.get('transcoding.resolutions.360p') }, get '480p' () { return config.get('transcoding.resolutions.480p') }, get '720p' () { return config.get('transcoding.resolutions.720p') }, - get '1080p' () { return config.get('transcoding.resolutions.1080p') } + get '1080p' () { return config.get('transcoding.resolutions.1080p') }, + get '2160p' () { return config.get('transcoding.resolutions.2160p') } }, HLS: { get ENABLED () { return config.get('transcoding.hls.enabled') } diff --git a/shared/models/server/custom-config.model.ts b/shared/models/server/custom-config.model.ts index 4cc379b2a..670553d16 100644 --- a/shared/models/server/custom-config.model.ts +++ b/shared/models/server/custom-config.model.ts @@ -62,6 +62,7 @@ export interface CustomConfig { '480p': boolean '720p': boolean '1080p': boolean + '2160p': boolean } hls: { enabled: boolean