PeerTube 2.4.0

Federated video streaming platform, that's based on ActivityPub and P2P (BitTorrent) stream distribution technology. Individual video hosting instances profiteer from shared communities and content caching.

Tags javascript angularjs web video hosting activitypub
License Affero GPLv3
State development

Recent Releases

2.4.009 Sep 2020 13:25 minor feature: The minimum ffmpeg version required is now 4.1. Deprecate static routes that will be removed in 3.0 (you may not have to do anything if you used paths returned by the video REST API): /static/avatars/: use /lazy-static/avatars/ instead. /static/previews/: use /lazy-static/previews/ instead. /static/video-captions/: use /lazy-static/video-captions/ instead. . /static/avatars/: use /lazy-static/avatars/ instead. /static/previews/: use /lazy-static/previews/ instead. /static/video-captions/: use /lazy-static/video-captions/ instead. Use playlistPosition URL parameter for playlists instead of videoId to set the current playlist position. Better error message on PostgreSQL connection error. Add ssl option support for PostgreSQL connection. Player video annotation (alpha). Add embed API (https://docs.joinpeertube.org/#/api-embed-player): playNextVideo method playPreviousVideo method getCurrentPosition method . playNextVideo method. playPreviousVideo method. getCurrentPosition method. Embed URL parameters Add ability to disable PeerTube link in embed using an URL param (peertubeLink=0) . Add ability to disable PeerTube link in embed using an URL param (peertubeLink=0). Add plugins support in embed. Add client plugin hooks (https://docs.joinpeertube.org/#/api-plugins): action:embed.player.loaded (for embed) . action:embed.player.loaded (for embed). Add custom fields in video update/upload form using registerVideoField (https://docs.joinpeertube.org/#/contribute-plugins?id=add-custom-fields-to-video-form). Moderation: Add ability to report comments and accounts. Add messaging system between local reporter of an abuse and moderators so they can easily communicate. Users can now see their abuse reports, and have notifications when an abuse state changed (accepted/rejected) or when moderators added a new message. Add embed to block list details @rigelk in #2926 . Add ability to report comments and accounts. Add messaging system between local reporter of an a
2.4.0-rc.128 Aug 2020 06:45 minor feature: Add client_overrides directory in configuration file. You must configure it in your production.yaml. Deprecate /videos/abuse endpoint. A new endpoint to report videos will be created in PeerTube 2.4 and will also allow to report accounts and comments (/videos/abuse will be removed in 3.0). Renamed videos blacklist feature to videos blocks/blocklist. Add feeds routes to the openapi spec @rigelk. Add notifications routes to the openapi spec @rigelk. Add redundancy routes to the openapi spec @rigelk. Add plugins routes to the openapi spec @rigelk. Add examples, descriptions and missing filters for abuses routes in the openapi spec @rigelk. Update CentOS insutructions in dependencies.md @cgarwood82 in 2904. Switched image processing library from native dependency sharp to pure JS implementation jimp. Admins don't have to compile sharp anymore and jimp is lighter. Provide specific engine boundaries for NodeJS and Yarn @rigelk in 0c4bacb. Add ability to set database.name config option @gramakri in #2898. POSTGRES env variables in docker-compose. OpenDKIM permissions in docker-compose setup @kimsible in #2868. Auto block videos (alpha). Add ability to override client assets: logo - favicon - PWA icons - PWA manifest name and description @kimsible in #2897. Add global search support (has to be explicitely enabled by admins). Add ability for admins to display a banner on their instance. Support Vietnamese and Kabyle languages. Also re-establish Occitan language locale despite lack of support in Angular. Federation: Make federation of unlisted videos an instance-level server preference @Tak in #2802 Sort ActivityPub video object files by resolution in descending order Send complete video description in ActivityPub video objects . Make federation of unlisted videos an instance-level server preference @Tak in #2802. Sort ActivityPub video object files by resolution in descending order. Send complete video description in ActivityPub video objects. Moderation: Add abilit
2.3.022 Jul 2020 06:05 minor feature: Add client_overrides directory in configuration file. You must configure it in your production.yaml. Deprecate /videos/abuse endpoint. A new endpoint to report videos will be created in PeerTube 2.4 and will also allow to report accounts and comments (/videos/abuse will be removed in 3.0). Renamed videos blacklist feature to videos blocks/blocklist. Add feeds routes to the openapi spec @rigelk. Add notifications routes to the openapi spec @rigelk. Add redundancy routes to the openapi spec @rigelk. Add plugins routes to the openapi spec @rigelk. Add examples, descriptions and missing filters for abuses routes in the openapi spec @rigelk. Update CentOS insutructions in dependencies.md @cgarwood82 in 2904. Switched image processing library from native dependency sharp to pure JS implementation jimp. Admins don't have to compile sharp anymore and jimp is lighter. Provide specific engine boundaries for NodeJS and Yarn @rigelk in 0c4bacb. Add ability to set database.name config option @gramakri in #2898. POSTGRES env variables in docker-compose. OpenDKIM permissions in docker-compose setup @kimsible in #2868. Auto block videos (alpha). Add ability to override client assets: logo - favicon - PWA icons - PWA manifest name and description @kimsible in #2897. Add global search support (has to be explicitely enabled by admins). Add ability for admins to display a banner on their instance. Support Vietnamese and Kabyle languages. Also re-establish Occitan language locale despite lack of support in Angular. Federation: Make federation of unlisted videos an instance-level server preference @Tak in #2802 Sort ActivityPub video object files by resolution in descending order Send complete video description in ActivityPub video objects . Make federation of unlisted videos an instance-level server preference @Tak in #2802. Sort ActivityPub video object files by resolution in descending order. Send complete video description in ActivityPub video objects. Moderation: Add abilit
2.3.0-rc.107 Jul 2020 19:05 minor feature: /! VERY IMPORTANT /! We added a unique index on actors usernames to some federation. Please check now if you have conflicts: Go inside your database using sudo -u postgres psql peertube_prod and run select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) 1; If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations. Go inside your database using sudo -u postgres psql peertube_prod and run select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) 1;. If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations. Changed auto_follow_index setting configuration: you now have to use the complete URL in index_url. If you used the default one, you now need to use https://instances.joinpeertube.org/api/v1/instances/hosts. This way, you can also use a direct raw URL (Gitlab, Github, pastebin, etc.) using a simple text format and easily maintain small communities or instance recommendation lists. PeerTube requires NodeJS v10 or v12. Add redundancy CLI: https://docs.joinpeertube.org/#/maintain-tools?id=peertube-redundancyjs. Add ability to pass remaining options to youtube-dl binary in peertube-import script. Important HLS storage configuration: https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L48. Add DKIM support to Docker. Add nginx configuration to redirect videos to an S3 bucket and update of the corresponding documentation. Add embed API (https://docs.joinpeertube.org/#/api-embed-player): playbackState can be ended playbackStatusUpdate has a duration field setCaption and getCaptions method
2.2.003 Jun 2020 18:25 minor feature: /! VERY IMPORTANT /! We added a unique index on actors usernames to some federation. Please check now if you have conflicts: Go inside your database using sudo -u postgres psql peertube_prod and run select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) 1; If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations. Go inside your database using sudo -u postgres psql peertube_prod and run select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) 1;. If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations. Changed auto_follow_index setting configuration: you now have to use the complete URL in index_url. If you used the default one, you now need to use https://instances.joinpeertube.org/api/v1/instances/hosts. This way, you can also use a direct raw URL (Gitlab, Github, pastebin, etc.) using a simple text format and easily maintain small communities or instance recommendation lists. PeerTube requires NodeJS v10 or v12. Add redundancy CLI: https://docs.joinpeertube.org/#/maintain-tools?id=peertube-redundancyjs. Add ability to pass remaining options to youtube-dl binary in peertube-import script. Important HLS storage configuration: https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L48. Add DKIM support to Docker. Add nginx configuration to redirect videos to an S3 bucket and update of the corresponding documentation. Add embed API (https://docs.joinpeertube.org/#/api-embed-player): playbackState can be ended playbackStatusUpdate has a duration field setCaption and getCaptions method
2.2.0-rc.119 May 2020 19:45 minor feature: Youtube-dl in docker image. Playlist creation/update. Fetch of instance config in client. Manual approves followers only for the instance (and not accounts/channels). Avatar update. CSP for embeds. Scroll of the menu on mobile. CPU usage of PostgreSQL. Embed for iOS.
2.1.128 Feb 2020 14:45 minor feature: Youtube-dl in docker image. Playlist creation/update. Fetch of instance config in client. Manual approves followers only for the instance (and not accounts/channels). Avatar update. CSP for embeds. Scroll of the menu on mobile. CPU usage of PostgreSQL. Embed for iOS.
2.1.012 Feb 2020 20:25 minor feature: /! VERY IMPORTANT /! You need to execute manually a script (can be executed after your upgrade, while your PeerTube instance is running) to create HLS video torrents: cd /var/www/peertube/peertube-latest sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-2.1.js . cd /var/www/peertube/peertube-latest sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-2.1.js. /! VERY IMPORTANT /! In the next PeerTube release (v2.2.0), we'll add a unique index on actors usernames to some federation. Please check now if you have conflicts using: Go inside your database using sudo -u postgres psql peertube_prod and run select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) 1; If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations. Go inside your database using sudo -u postgres psql peertube_prod and run select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) 1;. If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations. We now use Buster for the docker image, so the image name changed: production-stretch becomes production-buster v2.x.x-stretch becomes v2.x.x-buster . production-stretch becomes production-buster. v2.x.x-stretch becomes v2.x.x-buster. Users cannot create more than 20 channels now to avoid UX and actor name squatting. We added a warning if the videos directory is the same than the redundancy one in your configuration file: it can create some. S3 remote storage: https://docs.joinpeertube.org/#/admin
2.1.0-rc.128 Jan 2020 13:45 minor feature: Removed old JSON LD signature implementation. There will be some federation incompatibilities with forwarded activities sent by PeerTube instances v2.0.0. Replaced configuration key email.object with email.subject: 916937d. Add plugin hook on registration filter:api.user.signup.allowed.result. traefik version docker compose (you need to update your docker-compose.yml file: f1b3888). Add --tmpdir, --first, --last and --verbose level parameters to peertube-import-videos script (Yetangitu). Improve REST API documentation. Improve plugin management documentation. Better instance admin responsibility: Add ability to set more information about your instance. This will be used in the future on https://joinpeertube.org to help people find the appropriate PeerTube instance on which they can register: Main Categories Languages you/your moderators speak Code of Conduct Moderation information (who moderates your instance, NSFW policy etc) Who is behind the instance (a single person? non-profit?) Why did the admin create this instance How long the admin plan to maintain the instance How the administrator will finance the PeerTube server Hardware information Add these information in the about page and in the signup page. Add a welcome modal at first admin login with some explanations of PeerTube and some useful links Add warning modal when administrators enable or enabled signup but did not fill some important instance information (for now the instance name, terms, administrator and maintenance lifetime information). . Add ability to set more information about your instance. This will be used in the future on https://joinpeertube.org to help people find the appropriate PeerTube instance on which they can register: Main Categories Languages you/your moderators speak Code of Conduct Moderation information (who moderates your instance, NSFW policy etc) Who is behind the instance (a single person? non-profit?) Why did the admin create this instance How long the admin plan to m
2.0.013 Nov 2019 13:35 major feature: Features Better instance admin responsibility: Add ability to set more information about your instance. This will be used in the future on https://joinpeertube.org to help people find the appropriate PeerTube instance on which they can register: Main Categories Languages you/your moderators speak Code of Conduct Moderation information (who moderates your instance, NSFW policy etc) Who is behind the instance (a single person? non-profit?) Why did the admin create this instance How long the admin plan to maintain the instance How the administrator will finance the PeerTube server Hardware information Add these information in the about page and in the signup page Add a welcome modal at first admin login with some explanations of PeerTube and some useful links Add warning modal when administrators enable or enabled signup but did not fill some important instance information (for now the instance name, terms, administrator and maintenance lifetime information) Add ability to automatically follow back other instances Add ability to automatically follow the public registry instances Add Most liked videos page (@alcalyn) Add a drag drop delay on playlist videos to allow user scroll on small screens (@alcalyn) Allow to toggle video publication date to display absolute date (@alcalyn) Add statistics in about page (@alcalyn) Improve the feature table in about page Add contributors in about page Clearer warning of IP address leaking on embedded videos (@robinkooli) Case insensitive search on video tags Add video name in "video publish notification" Add ability to autoplay next recommended video (opt in) (@LoveIsGrief) Add link behind the subscribe via RSS button (@frankstrater) Support text/plain caption files Speedup theme injection Add ability to enable H