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