]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
add support for 1440p (Quad HD/QHD/WQHD) videos
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-custom-config.component.ts
index 7db65d038aff37e62b1e5a6067690e73145d5055..330ab075a91bc1c59d35de5e339f0687e7a02ab9 100644 (file)
@@ -81,6 +81,10 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
         id: '1080p',
         label: $localize`1080p`
       },
+      {
+        id: '1440p',
+        label: $localize`1440p`
+      },
       {
         id: '2160p',
         label: $localize`2160p`
@@ -98,7 +102,7 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
     ]
 
     this.liveMaxDurationOptions = [
-      { value: null, label: $localize`No limit` },
+      { 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` },
@@ -119,6 +123,34 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
       .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
   }
@@ -335,10 +367,6 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
   async formValidated () {
     const value: CustomConfig = this.form.getRawValue()
 
-    // Transform "null" to null
-    const maxDuration = value.live.maxDuration as any
-    if (maxDuration === 'null') value.live.maxDuration = null
-
     this.configService.updateCustomConfig(value)
       .subscribe(
         res => {