PeerTube
A free, decentralized and federated video platform
Alternative to: youtube, vimeo, dailymotion
About
Versions (100)
v3.2.0
2021-05-27IMPORTANT NOTES
- Important: You must update your nginx configuration to add the
upload-resumableendpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81 - Important: Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990
- Important: Drop NodeJS 10 support
- PeerTube is not compatible with NodeJS 16 yet
- By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change. See the documentation for more information
- PeerTube client now displays bigger video thumbnails.
To fix old thumbnails quality, run
regenerate-thumbnailsscript after your PeerTube upgrade: https://docs.joinpeertube.org/maintain-tools?id=regenerate-thumbnailsjs
Docker
- Support SSL database env parameter #4114
Maintenance
- Support
X-Frame-Optionsheader, enabled by default in the configuration - Directly use
nodein systemd template - Check ffmpeg version at PeerTube startup
- Add
upload-resumablenginx endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81
CLI tools
- Add
regenerate-thumbnailsscript to regenerate thumbnails of local videos
Plugins/Themes/Embed API
- Theme:
--submenuColorbecomes--submenuBackgroundColor
- Support HTML placeholders for plugins. See the documentation for more information
player-nextnext to the PeerTube player
- Support storing files for plugins in a dedicated directory. See the documentation for more information
- Transcoding:
- Plugin settings:
- Add ability to register
htmlandselectsetting - Add ability to hide a plugin setting depending on the form state
- Add ability to register
- Plugin form fields (to add inputs to video form…):
- Add ability to hide a plugin field depending on the form state using
.hiddenproperty
- Add ability to hide a plugin field depending on the form state using
- Add client helpers:
getServerConfig()getAuthHeader()
- Add server helpers:
config.getServerConfig()plugin.getBaseStaticRoute()plugin.getBaseRouterRoute()plugin.getDataDirectoryPath()user.getAuthUser()
- Add client plugin hooks (https://docs.joinpeertube.org/api-plugins):
action:modal.video-download.shownaction:video-upload.initaction:video-url-import.initaction:video-torrent-import.initaction:go-live.initaction:auth-user.logged-in&action:auth-user.logged-outaction:auth-user.information-loadedaction:admin-plugin-settings.init
- Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
filter:api.download.video.allowed.result&filter:api.download.torrent.allowed.resultto forbid downloadfilter:html.embed.video-playlist.allowed.result&filter:html.embed.video.allowed.resultto forbid embedfilter:api.search.videos.local.list.params&filter:api.search.videos.local.list.resultfilter:api.search.videos.index.list.params&filter:api.search.videos.index.list.resultfilter:api.search.video-channels.local.list.params&filter:api.search.video-channels.local.list.resultfilter:api.search.video-channels.index.list.params&filter:api.search.video-channels.index.list.result
Features
- :tada: Most robust uploads using a resumable upload endpoint #3933
- Accessibility/UI:
- :tada: Redesign channel and account page
- :tada: Increase video miniature size
- :tada: Add channel banner support
- Use a square avatar for channels and a round avatar for accounts
- Use account initial as default account avatar #4002
- Prefer channel display in video miniature
- Add support button in channel page
- Set direct download as default in video download modal #3880
- Show less information in video download modal by default #3890
- Autofocus admin plugin search input
- Add
1.75playback rate to player #3888 - Add
titleattribute to embed code #3901 - Don’t pause player when opening a modal #3909
- Add link below the player to open the video on origin instance #3624
- Notify admins on new available PeerTube version
- Notify admins on new available plugin version
- Sort channels by last uploaded videos
- Video player:
- Add channel and playlist stats to stats endpoint #3747
- Support
playlistPosition=lastand negative index (playlistPosition=-2) URL query parameters for playlists #3974 - My videos:
- Add ability to sort videos (publication date, most viewed…)
- Add ability to only display live videos
- Automatically resume videos for non logged-in users #3885
- Admin plugins:
- Show a modal when upgrading a plugin to a major version
- Display a setting button after plugin installation
- Add ability to search live videos
- Use bigger thumbnails for feeds
- Parse video description markdown for Opengraph/Twitter/HTML elements
- Open the remote interaction modal when replying to a comment if we are logged-out
- Handle
.srtcaptions with broken durations - Performance:
- Player now lazy loads video captions
- Faster admin table filters
- Optimize feed endpoint
Bug fixes
- More robust comments fetcher of remote video
- Fix database ssl connection
- Remove unnecessary black border above and below video in player #3920
- Reduce tag input excessive padding #3927
- Fix disappearing hamburger menu for narrow screens #3929
- Fix Youtube subtitle import with some languages
- Fix transcoding profile update in admin config
- Fix outbox fetch with subtitled videos
- Correctly unload a plugin on update/uninstall #3940
- Ensure to install plugins that are supported by PeerTube
- Fix welcome/warning modal displaying twice
- Fix h265 video import using CLI
- Fix context menu when watching a playlist
- Fix transcoding job priority preventing video publication when there are many videos to transcode
- Fix remote account/channel “joined at”
- Fix CLI plugins list command options #4055
- Fix HTTP player defaulting to audio resolution
- Logger warning level is “warn”
- Fix default boolean plugin setting #4107
- Fix duplicate ffmpeg preset option for live
- Avoid federation error when file has no torrent file
- Fix local user auth select
- Fix live ending banner display
- Fix redundancy max size
- Fix broken lives handling