diff options
author | Chocobozzz <me@florianbigard.com> | 2019-11-05 10:13:37 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-11-05 10:13:37 +0100 |
commit | 5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e (patch) | |
tree | c477d10c7c907537d3d73ad8391dfecb0f01c5f3 | |
parent | 41eac41b0583bc9b277ae872b1b56a210ba7c29c (diff) | |
download | PeerTube-5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e.tar.gz PeerTube-5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e.tar.zst PeerTube-5d9e4eaabe87ff1b115114b01075b9fabd2b0c5e.zip |
Add ability to enabled HLS in the admin panel
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', |