PeerTube
A free, decentralized and federated video platform
Alternative to: youtube, vimeo, dailymotion
About
Versions (100)
v4.0.0-rc.1
2021-11-30IMPORTANT NOTES
- Important You need to execute manually a migration script (can be executed after your upgrade, while your PeerTube instance is running) to migrate HLS files name:
- 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-4.0.js - Docker installation:
cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-4.0.js
- Classic installation:
- Important We fixed configuration inconsistencies and added some keys. You must change/add them in your production.yaml
log.rotation.maxFileSizebecomeslog.rotation.max_file_sizelog.rotation.maxFilesbecomeslog.rotation.max_fileslog.anonymizeIPbecomeslog.anonymize_ip- Removed
import.http.proxyconfiguration: useHTTP_PROXYandHTTPS_PROXYenvironment variables instead - Added
storage.binin configuration file
- REST API: Deprecate
filtervideos list query parameter in favour ofisLocalandinclude - PeerTube is compatible with ffmpeg 4.4.1 but is not compatible with ffmpeg 4.4.0
- Removed deprecated
/static/torrentsroute - We changed the live
viewsandviewerssystem, that could lead to federation inconsistencies with instances < 4.0.0 for these specific counters
Maintenance
- Add ability for sysadmins to disable web configuration edition #4315
- YoutubeDL:
- Support yt-dlp (recommended due to unmaintained youtube-dl)
- Add ability to set release URL in configuration
- Add ability to override
default-playlist.png,default-avatar-account.png,default-avatar-video-channel.pngusingstorage.client_overridesconfiguration #4392
Plugins/Themes/Embed API
Documentation: https://docs.joinpeertube.org/api-plugins
- Add client plugin hooks:
filter:api.video-watch.video-playlist-elements.get.paramsandfilter:api.video-watch.video-playlist-elements.get.result#4387
- Introduce plugin id selectors: https://docs.joinpeertube.org/contribute-plugins?id=plugin-selector-on-html-elements
- Add
#plugin-selector-login-formto login form
- Add
Docker
- We now use Bullseye for Docker images, so the image name changed:
production-busterbecomesproduction-bullseyev4.x.x-busterbecomesv4.x.x-bullseye
- Allow configuration to be static/readonly #4315
CLI tools
- Add create-move-video-storage-jobs script to move local video files in object storage #4481
- Removed
peertube-replandpeertube-watchscripts - Apply import interval only when reasonable #4552
Features
- :tada: Add videos overview in admin
- List all available videos on the instance
- Display video information summary: file type, file size, privacy, state, embed…
- Many filters available: videos with/without HLS/WebTorrent, remote/local videos, exclude muted accounts…
- Run WebTorrent/HLS transcoding
- Remove WebTorrent/HLS video files
- Bulk actions: remove, block, run transcoding, delete video files…
- Correctly generate thumbnails/previews for portrait videos
- Keep input image ratio for banners, avatars, thumbnails…
- Support 144p transcoding #4492
- Support RTMPS
- UI:
- Live:
- Specify live type at first step
- Improve Permanent live label using Recurring live expression
- Clearer moderation dropdowns using section titles
- Improve admin tables responsive
- Add warning when trying to share a private playlist/video #4469
- Change Sort by views to Sort by recent views #4483
- Add Next video to be played in watch page if autoplay is enabled #4497
- Add embed preview in share modal
- Add user username in modal when deleting a user
- Add video name in modal when blocking/removing a video
- Improve notification settings organization
- Live:
- Video/live views:
- Add ability for admins to change local buffer update interval
- Add ability for admins to change view expiration for a specific IP
- Introduce
viewersattribute for live videos and reduce delay to seeviewersupdate in the interface - Take into accounts
viewscreated during the live when saving replay
- Add markdown support for playlist description #4489
- Improve video playback when having invalid redundancy URLs
- Load video resolutions before video starts in player settings menu
- Optimize federation:
- Correctly set HTTP request timeout
- Process slow/bad targets in a dedicated queue
- Optimize ActivityPub outbox fetch
- Automatically update
publishedAtattribute when re-streaming in a permanent live - Add ability for users to view their followers
- Add ability for users to filter their videos per channel
- Add ability for admins to show author display name instead of username in video miniatures #4422
- Add ability for admins to filter logs by tags
- Add ability for admins to configure per user channels limit #4491
- Add available instance themes and plugins in
/about/peertubepage - Remove contributors list from
/about/peertubesince some contributors don’t want their name to be displayed on unknown PeerTube instances - Add Transcoding failed video state #4525
- Add ability to make a search using a URL containing query parameters
- Optimize channel with video component in homepage
Bug fixes
- Alert user when aborting video upload
- Fix youtube-dl update with proxy
- Fix My videos search on page refresh
- Fix homepage request error when having many elements (channels, videos…)
- Prevent multiple post-process triggering of upload-resumable #4175
- Fix remote interaction on remote content
- Fix HLS transcoding job when running
create-transcoding-jobCLI - Fix import error log on failed import
- Fix transcoding with very low input bitrate
- Update
updatedAtvideo attribute on thumbnail update - Fix local video concurrent update
- Fix redundancy error when PeerTube tries to extend/remove redundancy
- Fix account switch in account channels page
- Hide job progress information for jobs that don’t support it
- Fix player settings menu keyboard navigation
- Fix player placeholder width
- Fix playlist miniature size with big description
- Correctly escape meta tags