IMPORTANT NOTES
- Important You need to manually execute a migration script after your upgrade while PeerTube is running.
The purpose of this migration is to update video files metadata in the database.
This migration can take a long time if you have many federated/local videos, but is designed to be safe to run multiple times:- Classic installation:
cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-6.3.js
- Docker installation:
cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-6.3.js
- Classic installation:
Maintenance
- Reduce error and warning logs generated by clients and the federation
- Introduce
peertube_playback_buffer_stalled_count_total
OpenTelemetry playback metric - Removed
access_log: off
for static video requests in the nginx configuration template, now the player doesn't use WebTorrent anymore (which was doing a large amount of small HTTP requests) - PeerTube introduces a new download API endpoint that remuxes the videos on the fly to merge video and audio streams. A custom rate limit can be configured in the YAML configuration
Plugins/Themes/Embed API
- Reduce
@peertube/peertube-types
package size
Features
- 🎉 Separate HLS audio and video streams 🎉
- Can be enabled for VODs in the admin configuration for new videos
- Automatically enabled for lives
- If enabled, an "Audio only" resolution is available in the HLS player
- The live can ingest and output an "Audio only" stream
- Reduce video disk space used since we only store one version of the audio stream
- The download modal has a new panel so users can easily select the resolution they want to download
- 🎉 Introduce a transcription widget 🎉
- Users can open the transcription widget that appears next to the player
- The transcription is in sync with the video
- Users can search the transcript and click on a specific segment to automatically jump the video to the appropriate timecode
- UI/UX:
- More visible chapter markers in player control bar
- Add a button to copy server logs in admin
- Smoother live autoplay: only the player is reloaded
- Improve channel and account page tab title
- Support max FPS configuration: the admin can allow videos with more than 60FPS, which is the current default limit
- Max resolution file preserves input FPS even if < 720p, allowing users to upload and broadcast a 480p resolution at 60FPS
- Add ability for admins to set multiple proxies for youtube-dl that PeerTube will randomly select
- Support youtube-dl executable (for example Linux standalone x64 binary that includes additional features like impersonation)
- Add a cover to the file if the user only downloads the audio version of the video
- Better resolution label for custom video aspect. For example with a
1920x816
video, we now display1080p
instead of816p
- Forward watch page
start
query param to the OEmbed service so that the embed starts at the correct time - Notify local users on when an Internal video is published
- Add ability for admins to disable federation (disabling ActivityPub endpoints)
Bug fixes
- Fix broken object storage playlist on file removal
- Set live tags to replays
- Fix hidden delete button for original file in videos admin overview
- Don't crash the embed on player error
- Prevent embed poster flickering
- Fix left menu block title ellipsis
- Fix channel name overflow in *My Videos" page
- Fix player infinite buffering issues on fast live re-stream
- Don't display orange resume bar on live miniatures
- Fix video file object storage detection in admin videos overview
- Support ActivityPub remote actors with array
url
field - Fix resetting duration filter in search page
- Use first step Public privacy when publishing lives without having validated the second step
- Fix studio page responsive
- Add CORS to oEmbed API