aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2019-11-05 10:13:37 +0100
committerChocobozzz <me@florianbigard.com>2019-11-05 10:13:37 +0100
commit5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e (patch)
treec477d10c7c907537d3d73ad8391dfecb0f01c5f3
parent41eac41b0583bc9b277ae872b1b56a210ba7c29c (diff)
downloadPeerTube-5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e.tar.gz
PeerTube-5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e.tar.zst
PeerTube-5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e.zip
Add ability to enabled HLS in the admin panel
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html22
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts5
-rw-r--r--config/default.yaml3
-rw-r--r--config/production.yaml.example3
-rw-r--r--server/initializers/checker-before-init.ts2
5 files changed, 29 insertions, 6 deletions
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 5e7ab03cd..e057e394e 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
@@ -491,6 +491,28 @@
491 </my-peertube-checkbox> 491 </my-peertube-checkbox>
492 </div> 492 </div>
493 493
494 <ng-container formGroupName="hls">
495 <div class="form-group" >
496 <my-peertube-checkbox
497 inputName="transcodingHlsEnabled" formControlName="enabled"
498 i18n-labelText labelText="HLS support enabled"
499 >
500 <ng-template ptTemplate="help">
501 <ng-container i18n>
502 <strong>Requires ffmpeg >= 4.1 and multiplies videos storage by 2!</strong>
503
504 <p>Generate HLS playlists and fragmented MP4 files resulting in a better playback than with the current default player:</p>
505 <ul>
506 <li>Resolution change is smoother</li>
507 <li>Faster playback in particular with long videos</li>
508 <li>More stable playback (less bugs/infinite loading)</li>
509 </ul>
510 </ng-container>
511 </ng-template>
512 </my-peertube-checkbox>
513 </div>
514 </ng-container>
515
494 <div class="form-group"> 516 <div class="form-group">
495 <label i18n for="transcodingThreads">Transcoding threads</label> 517 <label i18n for="transcodingThreads">Transcoding threads</label>
496 <div class="peertube-select-container"> 518 <div class="peertube-select-container">
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 0a69f3481..f3fb849bb 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
@@ -166,7 +166,10 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
166 threads: this.customConfigValidatorsService.TRANSCODING_THREADS, 166 threads: this.customConfigValidatorsService.TRANSCODING_THREADS,
167 allowAdditionalExtensions: null, 167 allowAdditionalExtensions: null,
168 allowAudioFiles: null, 168 allowAudioFiles: null,
169 resolutions: {} 169 resolutions: {},
170 hls: {
171 enabled: null
172 }
170 }, 173 },
171 autoBlacklist: { 174 autoBlacklist: {
172 videos: { 175 videos: {
diff --git a/config/default.yaml b/config/default.yaml
index 5ebfdeddb..b16ebe934 100644
--- a/config/default.yaml
+++ b/config/default.yaml
@@ -209,8 +209,7 @@ transcoding:
209 720p: false 209 720p: false
210 1080p: false 210 1080p: false
211 2160p: false 211 2160p: false
212 # /!\ EXPERIMENTAL /!\ 212 # /!\ Requires ffmpeg >= 4.1
213 # /!\ Requires ffmpeg >= 4
214 # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent: 213 # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent:
215 # * Resolution change is smoother 214 # * Resolution change is smoother
216 # * Faster playback in particular with long videos 215 # * Faster playback in particular with long videos
diff --git a/config/production.yaml.example b/config/production.yaml.example
index 96d676a35..d563c7cf2 100644
--- a/config/production.yaml.example
+++ b/config/production.yaml.example
@@ -223,8 +223,7 @@ transcoding:
223 720p: false 223 720p: false
224 1080p: false 224 1080p: false
225 2160p: false 225 2160p: false
226 # /!\ EXPERIMENTAL /!\ 226 # /!\ Requires ffmpeg >= 4.1
227 # /!\ Requires ffmpeg >= 4
228 # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent: 227 # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent:
229 # * Resolution change is smoother 228 # * Resolution change is smoother
230 # * Faster playback in particular with long videos 229 # * Faster playback in particular with long videos
diff --git a/server/initializers/checker-before-init.ts b/server/initializers/checker-before-init.ts
index a986c3e0e..d32ff9b81 100644
--- a/server/initializers/checker-before-init.ts
+++ b/server/initializers/checker-before-init.ts
@@ -21,7 +21,7 @@ function checkMissedConfig () {
21 'signup.enabled', 'signup.limit', 'signup.requires_email_verification', 21 'signup.enabled', 'signup.limit', 'signup.requires_email_verification',
22 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist', 22 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist',
23 'redundancy.videos.strategies', 'redundancy.videos.check_interval', 23 'redundancy.videos.strategies', 'redundancy.videos.check_interval',
24 'transcoding.enabled', 'transcoding.threads', 'transcoding.allow_additional_extensions', 24 'transcoding.enabled', 'transcoding.threads', 'transcoding.allow_additional_extensions', 'transcoding.hls.enabled',
25 'import.videos.http.enabled', 'import.videos.torrent.enabled', 'auto_blacklist.videos.of_users.enabled', 25 'import.videos.http.enabled', 'import.videos.torrent.enabled', 'auto_blacklist.videos.of_users.enabled',
26 'trending.videos.interval_days', 26 'trending.videos.interval_days',
27 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route', 27 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route',