-
- this.resolutions = [
- {
- id: '0p',
- label: $localize`Audio-only`,
- description: $localize`A <code>.mp4</code> that keeps the original audio track, with no video`
- },
- {
- id: '240p',
- label: $localize`240p`
- },
- {
- id: '360p',
- label: $localize`360p`
- },
- {
- id: '480p',
- label: $localize`480p`
- },
- {
- id: '720p',
- label: $localize`720p`
- },
- {
- id: '1080p',
- label: $localize`1080p`
- },
- {
- id: '2160p',
- label: $localize`2160p`
- }
- ]
-
- this.liveResolutions = this.resolutions.filter(r => r.id !== '0p')
-
- this.transcodingThreadOptions = [
- { value: 0, label: $localize`Auto (via ffmpeg)` },
- { value: 1, label: '1' },
- { value: 2, label: '2' },
- { value: 4, label: '4' },
- { value: 8, label: '8' }
- ]
-
- this.liveMaxDurationOptions = [
- { value: -1, label: $localize`No limit` },
- { value: 1000 * 3600, label: $localize`1 hour` },
- { value: 1000 * 3600 * 3, label: $localize`3 hours` },
- { value: 1000 * 3600 * 5, label: $localize`5 hours` },
- { value: 1000 * 3600 * 10, label: $localize`10 hours` }
- ]
- }
-
- get videoQuotaOptions () {
- return this.configService.videoQuotaOptions
- }
-
- get videoQuotaDailyOptions () {
- return this.configService.videoQuotaDailyOptions
- }
-
- get availableThemes () {
- return this.serverConfig.theme.registered
- .map(t => t.name)
- }
-
- get liveRTMPPort () {
- return this.serverConfig.live.rtmp.port
- }
-
- getTotalTranscodingThreads () {
- const transcodingEnabled = this.form.value['transcoding']['enabled']
- const transcodingThreads = this.form.value['transcoding']['threads']
- const liveTranscodingEnabled = this.form.value['live']['transcoding']['enabled']
- const liveTranscodingThreads = this.form.value['live']['transcoding']['threads']
-
- // checks whether all enabled method are on fixed values and not on auto (= 0)
- let noneOnAuto = !transcodingEnabled || +transcodingThreads > 0
- noneOnAuto &&= !liveTranscodingEnabled || +liveTranscodingThreads > 0
-
- // count total of fixed value, repalcing auto by a single thread (knowing it will display "at least")
- let value = 0
- if (transcodingEnabled) value += +transcodingThreads || 1
- if (liveTranscodingEnabled) value += +liveTranscodingThreads || 1
-
- return {
- value,
- atMost: noneOnAuto, // auto switches everything to a least estimation since ffmpeg will take as many threads as possible
- unit: value > 1
- ? $localize`threads`
- : $localize`thread`
- }
- }
-
- getResolutionKey (resolution: string) {
- return 'transcoding.resolutions.' + resolution