¡Noticias de PeerTube!

¿Qué hay de nuevo?

17/12/2024

PeerTube v7: offer a complete makeover to your video platform!

With its brand new design, PeerTube's new interface isn't just prettier (although it is). It is also simpler, easier to use and understand and more accessible. Welcome to a new era of this software that empowers creators to get, control and connect their own video platforms.

Let's reflect the growth of the PeerTube Ecosystem

Seven year ago, PeerTube was mainly a tool that tech-savvy FOSS enthusiasts were happy to toy with. Then it became popular among content creators that wanted a self-hosted mirror of their YouTube/Twitch channels; and among communities who wanted to create and regulate their safe space (deaf people, queer people, etc.)

Nowadays, PeerTube is experiencing increasing success among content creators who publish original content (or exclusive content for their community), alternative media, and institutions: colleges, ministries of education, national television and radio archives, etc.

Public structures often need to share video content without attention-grabbing mechanisms or data exploitation.

Find out more about the history and values of PeerTube in this interview with the Association for Progressive Communication.
Find out more about the history and values of PeerTube in this interview with the Association for Progressive Communication.

To us, this is a new step in the evolution of PeerTube's audiences.

That is why this year, we've asked La Coopérative des Internets to lead a thorough UX research (complete with interviews, tests, etc.) and help us start a top to bottom redesign of the interface. Our goal was to improve on PeerTube so it would better fit the need of those new audiences. We were clear that everything was on the table : colors, vocabulary, layout...

Well, we are proud to release this v7 of PeerTube, that lays the ground to a complete remodeling of the interface.

First look: themes, new colors and vocabulary

PeerTube design, color schemes, vocabulary, etc. has been constructed over seven years, as we went along, learning, getting help from the community. This new design was an opportunity to take a step back an get some intentions behind the interface.

The new Light/beige default theme is calmer, easier on the eye than the original Black & orange one. We also added a Dark/brown theme into the core for the dark mode aficionados. Both aims to facilitate video browsing.

Creating those new themes was an opportunity to clean up and simplify how the interface is coded (specifically: clean up the CSS, with a focus on the variables), while limiting breakages with preexisting customized themes. It is now really easier to create new themes for PeerTube, and we hope you'll share your creations!

We also updated the PeerTube lingo. There is a reason we are now using the work "platform(s)" to talk about all the servers where PeerTube has been installed.

Yes, calling them "instance(s)" has been the norm in the tech savvy-world of activity-pub enthusiasts. But, to those not privileged enough to know about the fediverse and its protocol, the word platform is self-explanatory, and facilitates inclusion.

Enjoying simpler and relevant layouts

There are lots of informations to display on any PeerTube page. The layouts and menus grew organically during seven years of development... and needed some pruning! We remodeled those menus and pages to bring forward relevant informations, and present a more intuitive way to find out what you are looking for.

For exemple, content creators used to access their channels and uploaded video in their library (where any PeerTube user can get to their playlists, history, etc. of the videos they watched). Now in PeerTube v7, there is a new section called "video space" specific for video uploaders' needs.

In the same way, "admin" pages for PeerTube platforms administrators have now been separated into an Overview page (to get more info about users, hosted videos, etc.), a Moderation one (to manage abuses, blocking, registrations), and a Settings one (to access configurations, runners, etc.)

The several pages that presented the videos on a PeerTube platform (Recently added, Local videos, Trending) have been merged into a "Browse videos" page, that includes quick filters to display the same selections of content in a more forward way.

The same intent has driven the new layout of the "Discover videos" page we hope it will empower curious users.

Obviously, the left bar and header menus have been reorganized to reflect those changes and make navigation even more intuitive. You can now access your account settings and notifications from the header menu, as it is customary on other websites.

Displaying relevant information to show video diversity

A big feedback from new users was that the old interface was confusing, that is was hard for a user to know where they were, and where the videos came from.

That is why, in PeerTube v7, we have added more ways for platforms owners to customize and identify their platforms: easily add a banner (used on pages, mobile app exploration, and our search engine SepiaSearch) and a platform icon (used by the mobile application) More, the name and description of their platform is now displayed to non-registered users in the left hand menu.

We have also changed how video miniatures appear in all pages that lists videos. Channel avatar are always displayed so it's easier to identify creators, titles are highlighted, the date and viewcount of the video are present but toned down. Those changes make pages that lists videos easier to read, and facilitate identifying the video you want to watch.

Accessibility on the forefront

The redesign was also the opportunity to prioritize the interface accessibility (for impaired people). In 2023, we prepared the code and worked on what we knew... so the planned 2024 full accessibility audit (thanks to the NGI Entrust consortium) would bring as much new and detailed improvements as possible.

Thanks to the audit, we have improved on so many issues: we fixed color contrats and themes, progress bar, several components, and various screen reader issues. We added missing labels on interactive elements, "skip menu" links, underlining to links. We also improved keyboard navigation, and re-implemented components of a non-accessible dependency.

We sincerely think that PeerTube have caught up with accessibility issues and should be up to standards... but we know, now, that there is always room for improvement, and for learning directly from those who are concerned.

Editing captions, promoting videos and more...

With the brand new remote transcoding tool we introduced last year, getting a transcription or subtitles for your video is easier than ever. But the caption editing tool was... hum... let's say "barebone". We are now introducing a new modal that makes editing captions really convenient.

We welcomed and integrated upstream a community contribution on SEO (search engine optimization), to help promote PeerTube-hosted-content on search engines. A platform avatar now appears in the opengraph tags, empty accounts and channels are hidden from the sitemap, while additional video tags are now present there.

Last, PeerTube has been translated into Slovak.

We really want to take time to thank the community that contributes to translations of PeerTube, we would never have thought that our software would one day be available in more than 38 languages.

Huge thanks to all of you, wonderful people, who took time and care to contribute on our translation tool: you are amazing.

Illustration: David Revoy - Licence : CC-By 4.0
Illustration: David Revoy - Licence : CC-By 4.0

There is more to come...

We still have more work planned from this whole interface remodel. We hope to deliver it in the firsts months of 2025. First, we are currently finishing the translation of the UX research report from La Coopérative des Internets and we will publish it in the hope that it will help the whole fediverse community.

We will also wait a bit for PeerTube administrators to update their platforms, and then update the PeerTube documentation with new screenshots, and the new menus pathways.

Our next interface changes will focus on streamlining the channels & videos management experience for content creators (where several tools and menus added to the pile over the years). We also plan on fine-tuning the categorization of NSFW videos.

Illustration: David Revoy - Licence : CC-By 4.0
Illustration: David Revoy - Licence : CC-By 4.0

We obviously have many more items to our 2025 roadmap, but are still trying to secure funds to realize them: we'll keep you informed as soon as we know more!

About funds, we really want to thank the NGI0 Entrust program for their grant that funded most of the work on this new version (and on the PeerTube mobile app we released last week). The NLnet team has been a great partner on the management of this grant, and the accessibility audit from the consortium has really made a huge difference.

9/12/2024

PeerTube mobile app: discover videos while caring for your attention

Today, at Framasoft (bonjour!), we publish the very first version of the PeerTube Mobile app for android and iOS. A lot of care went into its conception, to help a wider audience watch videos and discover platforms, while not getting their attention (and data) exploited.

Another step into PeerTube growth

Even though we have been developing and maintaining the PeerTube software for 7 years, we, at Framasoft, are far from being an IT company. First because we are a not-for-profit (funded through donations, you can support us here), and then because our goal is, actually, to help others educate themselves on digital issues, surveillance capitalism, etc. and to give them tools that helps them get digitally emancipated.

Developing PeerTube has been, to us, an (happy) accident. We wanted to show that with one paid developer (for the first six years, then two), very little means (~ €650,000 over 7 years) and lots of community contributions, we can create a radical alternative to YouTube and Twitch. It also took a lot of patience. From the get go, we knew we needed to aim for a slow but steady pace of growth for the software, the network of video platforms it federates, the whole ecosystem and the audiences it reached.

Videos and live-streams are increasingly watched on mobile devices. We knew the next step to widen the audience of the PeerTube network of platforms was to develop a mobile client. Last year, we decided to hire Wicklow (who completed his last internship, before graduating, here with us), to train him on mobile technologies, develop a mobile app, while continuing to get familiar with PeerTube's core code.

Getting funded and getting help

This was (and still is) a big decision: a new hire needs to be funded (our huge thanks to NLnet and the NGI0 Entrust program!), and we want to stay a small structure, so we don't have lots of room in our team. In hindsight, though, we believe it was the right one.

We surrounded ourselves with Zenika, to get help on architecture and experience on mobile strategy. We soon realized that peer-to-peer video sharing wouldn't be a wise strategy on mobile devices. After benchmarking different technologies, Wicklow picked Flutter for the development.

La Coopérative des Internets (French design workers-owed-company), helped us pinpoint the relevant user experience and design an app fit for videos on the fediverse. We decided, for the first release, to limit the scope of the app to the "spectator use-case": browsing and watching videos.

We plan to share all their reports soon (early 2025), as soon as we put in the final touches. We hope that sharing this expertise and experience will help other FLOSS initiatives in their endeavor.

In the meanwhile, the PeerTube Mobile app is (as always with us) Free-libre and open-source, and you can find the source code here on our repository.

image welcome page image player

Fediverse complexities made simple

This preparatory work helped us realize that a mobile client was an amazing opportunity to simplify the PeerTube experience. PeerTube is not a video platform: it's a network of video platforms, each with their own rules, means and focus, that can choose to federate with others (or not).

It is, by design, more complex than a centralized platform. One of the main feedback we got from video enthusiasts was

"I don't know where to get an account. I don't know where to search & find videos" (even though we maintain SepiaSearch).

Local account

Within a mobile client, we can create some kind of local account, directly on your device, so you get your watch-list, playlists, faves, etc. It saves you the hassle of finding a platform where you'd need to create an account if you just want to enjoy video content.

Explore platforms

We can also include a search engine and an interface to explore the federation of PeerTube platforms and find videos suited to your interest. Not everyone knows SepiaSearch (and other fediverse search engines) exists: you get it from the get go, in your pocket.

Highlighting platforms' diversity

Finally, we can present content in a way that highlights the platforms, and show you where the videos/channels you watch are hosted. Differentiating platforms is a practical, visual way of introducing the concept of federation to a wider audience.

Designing out dark patterns

Humility check: a small French nonprofit will never have Google's workforce nor Amazon's money (and vice versa). But we have an edge: we are not constrained by surveillance capitalism rules, and its captology models.

Neither PeerTube nor the mobile app have any interest into grabbing your attention, forcefeeding you ads and milking behavioural and personal data from you.

That is how we freed the design from toxic design patterns such as doom scrolling, curated feeds, needy notifications and so on.

It might sound obvious, but it takes real effort to concieve an interface cleaned from what has unfortunately became the new normal. Even more if you need to keep it familiar enough so it says easy to use.

A very first build, limited by (play & i) stores

We knew beforehand that fitting into Google's PlayStore and Apple AppStore would be a challenge. They clearly weren't ready to host a client for (not-a-platform but) a network of autonomous video-sharing platforms, published by a small French nonprofit, funded through its independent donation website.

We knew about the issues encountered by Thorium (another PeerTube mobile client). We got help and advices from Gabe, who develops the streaming tool Owncast (may your keyboard always repel crumbs and click smoothly), and encountered many obstacles... We knew about all that but, oh my Tux, it was a wild ride.

After jumping though hoops, here we are, you can download the PeerTube mobile app here:

logo F-Droid (Upcoming)
logo google store logo App store

Download the lastest apk (Android/Advanced)

(un-)Limiting the federation

To get through Apple's (and, in a lesser way, Google's) validation processes, we had to present the mobile app with a curated "allowlist" of PeerTube platforms that meet their standards.

Here is the state of those limitations right now:

  • Apple AppStore: limited to a very strict allowlist. Truth be told, a week before release, we are still unsure of being validated. Once we manage it, we'll see how to widen the list & let users add platforms they want
  • Google Play Store: limited allowlist, but users can already add the platforms they want. We plan to widen the allowlist next
  • F-Droid (coming soon) and direct download apk: all PeerTube platforms we have indexed on SepiaSearch are available. If an instance isn't declared to our index or is moderated, you can add it manually.

We cannot stress enough how their stores are not ready for independent solidarity-oriented networks. For exemple, a small "support us" donation link in our website footer or even on one of the allowed platforms triggered a "nope" from Apple.

And that's consistent: as seen in their fight with Epic (owners of Fortnite) Apple take their share in every in-app purchases. They have an economic interest to keep your expenses enclosed in their ecosystem. Please, please: consider getting your freedom back ;).

Coming soon, in the PeerTube App

Fitting into Apple's (and Google's) very small boxes took time and energy, more than what we expected. We decided to release a first (incomplete) version of the app in December anyway, and gradually improve on it.

Here are the features we plan to develop and share for the PeerTube app:

  • Soon (early 2025)
    • Finalize and publish design and mobile strategy reports
    • Publish documentation
    • Play video in background
    • Log in to one's account, gets subscriptions, comment videos
    • next video recommandation
    • improve on the limited platforms list situation
  • Then (mid 2025 (if funded))
    • adapt to tablets
    • adapt to TVs (AndroidTV... AppleTV will depend on their limitations)
    • Watch offline (for downloadable content)

Right now, we are still waiting to secure funding for those mid-2024 features (for which we have requested a NLnet grant).

Depending on the app success and usage, we would love to add the content creator usecase to the app. But that's a big one: upload and publish a video, manage one's content, create a livestream, etc. We are still wondering where, when and how to get funds for this undertaking.

Care, Share and Contribute!

This is the part where we need you.

We hope you will enjoy this app, download and use it, and share it with your friends. This is a new gateway to promote PeerTube content, get audience to fabulous content creators, entice them to share more and boost that virtious loop.

This app is also a way of showcasing how media could be presented, when they are made with care for your agency and attention. More than ever: sharing is caring.

You can also contribute by reporting bugs (within the app), helping on the code (here is the git repository), and translating the interface. This is an important one: right now, the App is only available in English and French. Your language contributions are welcomed here on our translation platform.

Obviously, we plan to maintain the app, add translations, implement bugfixes and security updates when needed: but this has a cost. We need to secure Framasoft's 2025 budget to make Wicklow's position permanent in our team (which is a priority to us). Our donation campaign is active right now, you can add your support here (and thanks!).


You can help us continue to improve PeerTube by sharing this information, suggesting improvements and, if you can afford it, making a donation to Framasoft, the association that develops PeerTube.

Thanks in advance for your support!
Framasoft

logo F-Droid (Upcoming)
logo google store logo App store

Download the lastest apk (Android/Advanced)

18/9/2024

PeerTube v6.3 released!

This is the last minor release before v7, but it's packed with interesting new features! Let's have a look :)

Separate audio and video streams for more flexibility

Separating the audio and video streams not only reduces the size of the files on the server, as it is no longer necessary to duplicate the audio file for each video resolution, but also allows you to stream only the audio of a video via an Audio only option in the player!

This is a very useful feature for streaming music that can display an album cover, or for using less bandwidth when listening to a conference where no video is required.

This new feature also allows PeerTube to ingest an audio only live stream. This means that you can stream live music on PeerTube, which will only display an Audio player.

Finally, we've taken the opportunity to simplify the video download modal, which now displays the essential information for each available resolution, with the option to include or exclude audio in the file being downloaded. The advanced options are still available by selecting Video File next to the Download modal title.

Browse subtitles in the transcription widget

In addition to the classic subtitles integrated into the video player, it is now possible to have a subtitle panel on the right side of the video. This panel allows you to:

  • Follow subtitles in real time
  • Return to a section of the video by clicking on a sentence
  • Search for a sentence or word to return to a specific point in the video

Set up Youtube-dl for smoother imports

Youtube-dl is an essential tool for importing videos and related information from other video platforms (such as PeerTube, Youtube, Vimeo and many others).

This new version of PeerTube adds the ability for administrators to set up multiple proxies dedicated to youtube-dl, which PeerTube will randomly select to bypass certain restrictions. It is also now possible to use another version of youtube-dl, a binary that contains additional dependencies that enable features such as impersonation (i.e. pretending to be a real browser).

And much more

As with every release, a number of user experience and interface improvements have been made:

  • Better resolution label for custom video aspect: 1920x816 videos are now displayed as 1080p instead of 816p
  • Better visibility of chapter markers in the player's progress bar: they are now displayed as small dots in the progress bar
  • Smoother resume of live playback: only the video player is reloaded
  • Added the ability to easily copy server error logs via a dedicated button
  • Instance admins can now change the maximum number of frames per second for videos (limited to 60 by default)

You can find all the bug fixes, improvements and other changes in the changelog!

Finally, we're still preparing the mobile application and we'll have some good news to announce at the end of the year!


You can help us continue to improve PeerTube by sharing this information, suggesting improvements and, if you can afford it, making a donation to Framasoft, the association that develops PeerTube.

Thanks in advance for your support!
Framasoft

16/7/2024

PeerTube 6.2 is out!

This new version is all about making your life easier. Easier moderation, easier subtitle creation and easier video highlighting. Let's take a look!

Comments moderation

Moderation is always the least exciting part and can also be the most time-consuming. To help you manage this, PeerTube v6.2 not only adds a new page listing all the comments made on your videos, which you can now approve manually, but also the ability to create word lists that will automatically put comments containing them in the moderation queue!

For example, if you want to prevent negative comments from appearing directly on your videos, you can create a word list:

This means that comments containing them will automatically be put on pending review for approval:

You can then approve or reject them on the page where the comments are listed:

This feature is also available for administrators! They can easily display videos uploaded to their instance that contain specific keywords. This can be useful for monitoring content that doesn't comply with your terms of service, or for monitoring a sporadic phenomenon that is particularly viral.

The idea for this feature came from the study conducted by the German ISD. Our goal is to improve this in the future, when we envision users being able to subscribe to and share lists of words to make moderation of accounts and instances easier!

Automatic transcription

In version 5.2 of PeerTube, we introduced the concept of PeerTube runner, a small program that allows PeerTube to perform heavy tasks (such as video encoding) remotely.

France Université Numérique, a public interest group running a MOOC (Massive Open Online Course) platform with a lot of videos, was interested in the flexible architecture of the PeerTube runner for their own use.

In order to improve the accessibility of videos and at the same time contribute to the PeerTube ecosystem, France Université Numérique and the NLnet Foundation, through the NGI Zero Entrust fund, funded the development of automatic video transcription within PeerTube and the PeerTube runners. This transcription makes it possible to automatically create subtitles for videos using an artificial intelligence tool, Whisper, which provides very good results. The artificial intelligence engine and its model can be customised in the configuration.

This new feature can be enabled by PeerTube admins to automatically generate subtitles for newly published videos. The creation of subtitles can also be triggered on demand, allowing administrators to create subtitles for videos published before PeerTube 6.2. This automatic subtitling can also be done by PeerTube runners, as it requires a lot of computing power. France Université Numérique is already planning to use this method to subtitle all its content, which represents 3,500 hours of video.

Many thanks to NLnet (whose funding, unfortunately, is in danger of drying up) and France Université Numérique for their help and contribution!

And more…

As well as making your moderation life easier, PeerTube offers a new way of creating a thumbnail preview for your videos (in addition to the ability to select it from your device): directly from an image in your video! Play the video down to the image that perfectly illustrates the content and display it. Thanks to Kent Anderson for this external contribution!

To make sure you don't miss a live broadcasts, they are now highlighted on the Recently Added, Trending, Account videos and Channel videos pages.

And as with every new version, you can find all the bug fixes, improvements and other changes in the changelog!


You want to help us improve PeerTube? You can do so by sharing this information, by suggesting improvements and, if you can afford it, by donating to Framasoft, the non-profit that develops PeerTube.

Thanks in advance for your support!
Framasoft

29/4/2024

PeerTube 6.1 is out!

We're pleased to announce the 6.1 release of PeerTube 🙂

In addition to the integration of account import/export and other great features that we'll detail in this blog post, this version fixes 2 important security vulnerabilities concerning the ActivityPub federation (detailed at the end of the article).

We therefore recommend that you update your instances as soon as possible!

Account import/export

It is now possible to export all your account data (videos, channels, preferences, etc.) to a downloadable archive. This archive can be used as a backup tool or re-imported to another PeerTube instance. To be clear, this is not (yet) an account migration! Data (such as channels or videos) is duplicated and not moved from your old PeerTube account to your new instance.

You can find the list of data that will or won't be exported in our documentation!

This feature simplifies the process of creating an account on the "right" PeerTube instance, as it's now much easier to switch!

Original video file preserved

Until now, when you uploaded a video to PeerTube, it was transcoded into multiple formats and the original file was deleted. From v6.1, this version is preserved and can be downloaded from your library, as well as being present in the export archive!

In practical terms, this means that you can have an archive of your videos on a PeerTube instance (rather than taking up space on both your personal hard drive and a lower quality on the PeerTube instance).

Banner and avatar for instances

To help you better customize your instance, you can now add a banner that will be visible in the instance search on JoinPeerTube and on your PeerTube instance on the About page, login page, registration page, and also on the homepage using the special <peertube-instance-banner> tag!

As for the avatar, it will be visible on the future mobile application and can also be used on the homepage of your instance!

Shorter duration to count a view

To get closer to the behaviour of other centralised video platforms (Vimeo, Instagram, TikTok, Mux...), we've decided to count a View after 10 seconds (instead of 30 seconds).

But that's not the only thing that's changing: a view is no longer based on the user's IP address, but on a unique identifier generated by the web browser. This ensures, for example, that a video watched by 20 people in a university does not count as just one (because the computers tend to have the same IP address).

By the way, uploaders can access to detailed statistics on views and viewers. And PeerTube v6.1 now shows the number of viewers by region in addition to country.

More accessible subtitles

Access to subtitles has been made easier by adding an icon directly in the video player. Clicking on the CC button (7 in the screenshot) will display the subtitles in the last used language (or the first available in the list). You can also select a different language from the player settings menu (8 in the screenshot).

...and there's always more!

As always, there are many other improvements, bug fixes and changes. The full list can be found in the changelog, but here's a small selection:

  • This release fixes 2 major security issues in the ActivityPub federation. The first fix prevents data associated with private videos (likes, comments, etc.) from being leaked. The other fixes incorrect access control of objects coming from the federation. More details about this second vulnerability will be provided at a later date.
  • Turkish joins the family of 37 languages available on PeerTube! Thank you (merci, gracias, teşekkürler) to everyone who contributed to the thousands of translated strings!
  • On the UX (User eXperience) side, you can now download a video directly from your library, and admins have the ability to sort users and videos by file size stored on the server disk.

Do you want to help us improve PeerTube? You can by sharing this information, by suggesting improvements and, if you can afford it, by donating to Framasoft, the association that develops PeerTube.

Thanks in advance for your support!

Framasoft

18/4/2024

April 2024 PeerTube newsletter!

Bonjour,
We are Framasoft, the French non-profit developing the PeerTube software!

You have been waiting for this for years, and so have we...
... welcome to the PeerTube Ecosystem Newsletter! jingle

In this newsletter, we'll share with you some news, videos, projects or anything else related to the PeerTube ecosystem that we're excited about!

PeerTube in 2024

PeerTube is now 6 years old 🥳!
The project has come a long way to become the mature software it is now.
Does that mean it is finished? Not at all!
Find out what we plan to do with PeerTube this year in our news from last December!
Spoiler alert: get your smartphones ready!

P2Play ­— An Android PeerTube application for smartphones

Speaking of smartphones apps, Ivan Agosto resumed the development of P2Play!
P2Play is an open-source Android application for PeerTube.
You can download it from Play Store and F-Droid!

By the way, did you know that we at Framasoft are also working on a mobile app? We'll let you know as soon as we're ready!

A PeerTube Retrogaming Playlist

Fedi.Video, a fediverse account that helps you discover PeerTube content, has made a playlist full of retrogaming content found in different instances of PeerTube!
If you like pipes and shells, this is probably for you!

Obsidian Urbex - Abandonned Places Videos

Obsidian Urbex is a channel dedicated to urban exploration videos.
If, like me, you're fascinated by abandoned places that used to be luxurious, you'll love this collection of short videos!

"How do I find PeerTube content?"

If you read about PeerTube on the Fediverse a lot, you'll see this question is getting asked a lot!
We, at Framasoft, are working on improving this aspect of PeerTube but for now, did you know about Sepia Search, the search engine we built to find out PeerTube content?

Check it out at https://sepiasearch.org/

Very quick fix

Can you believe there has been only 2 hours between the reporting of an XSS injection in embed, by Syst3m0ver from aramido GmbH, and the release (v6.0.4) with the fix? If you're the administrator of a PeerTube instance, please update as soon as possible to v6.0.4!

Reminder: If you find a vulnerability, please contact us!


If you enjoyed this first newsletter, please give it a thumbs up and click the bell… wait, no 🤔
But if you have any PeerTube related content (channel, videos, app…) that you want to highlight, feel free to share it with our mastodon's account and we may relay it in our next newsletter!

Peertube also evolves thanks to your ideas, so don't hesitate to share them on our ideas board.

À bientôt !

21/12/2023

PeerTube stress tests: resilience lies in your peers!

We have many admins or uploaders wondering how many concurrent viewers a PeerTube instance can handle and how much its P2P feature can help the server to broadcast a live/video.

It's the reason why, with the support of NLnet and Octopuce, we have been running a real world stress tests on a regular PeerTube instance. Of course with the aim of optimizing the software, but first and foremost to be able to confidently give the number of concurrent viewers a PeerTube instance should be able to handle and understand how the P2P behaves in such conditions.

We chose to simulate 1,000 viewers as it is a symbolic number, but also because it covers 99% of the streams broadcasted on Twitch in 2022. PeerTube would then be able to technically handle 99% of these use cases, which is a large number of users ;)

If you would rather skip the technical stuff, you can jump directly to the conclusion.

Setup the benchmark

To get closer to real life testing, we decided to run 1,000 Chrome web browsers watching the same video, each one having a dedicated public IP to properly simulate actual real viewers.

In order to run 1,000 real Chrome web browsers, we decided to create a Selenium grid and to spawn 1,000 Selenium nodes using Docker. This way, each node can have its own IPv6 public address. Luc, the amazing sysadmin at Framasoft, developed scripts to automatically generate this Selenium grid using Hetzner cloud. His work can be found on https://framagit.org/framasoft/peertube/selenium-stack.

After the first conclusive tests where we reached 500 web browsers, we encountered difficulties with Hetzner cloud as they refused to increase our VPS quota to a number that would have allowed us to seamlessly run the Selenium grid with 1,000 web browsers. After spending several days trying to find alternatives, Octopuce, a French hosting company that hosts several PeerTube instances, offered us to use a powerful server to help us reach our goal of 1,000 web browsers. Shout out to them!

We have made several performance improvements in PeerTube core to reach 1,000 viewers. Some of them are already available in PeerTube V6 like federation and view events optimizations. Some others will be available in the next release (V6.1): ability to customize views/playback events interval, new viewer federation protocol to send much less messages etc.

Once the Selenium grid is ready and the PeerTube instance is updated to include the above performance improvements, we can spawn 1,000 web browsers to load a video on https://peertube2.cpy.re/ (our nightly updated PeerTube instance) using WebdriverIO. Each automated web browser is programmed to load the video watch page, play the video, and wait there until the test ends.

Benchmark conditions

The test PeerTube instance that has been installed following the official installation guide on Debian 12.2 with nginx, PostgreSQL and Redis on the same machine.

Hardware specifications:

  • 4 vCore of i7-8700 CPU @ 3.20GHz
  • Has a hard drive (not a SSD)
  • 4Go of RAM
  • 1Gbit/s network

The important PeerTube instance settings:

  • The chat plugin is not enabled
  • Logs are in warning mode to reduce logging overhead
  • Client logs are enabled
  • Metrics are enabled but HTTP request duration metrics are disabled
  • Viewers federation V2 is enabled (feature behind a feature flag that we plan to enable in PeerTube 6.2)
  • Object Storage (S3) is not enabled

Benchmarked videos/lives are public, so static files are directly served by nginx.

The Chrome web browser has its network speed limited using:

browser.setNetworkConditions({
  offline: false,
  download_throughput: 2000 / 8 * 1024, // 2000kbit/s,
  upload_throughput: 300 / 8 * 1024, // 300kbit/s
  latency: 500
})

Unfortunately, network conditions don't apply on WebRTC so we were unable to limit P2P uploads/downloads. These settings apply only on HTTP requests.

Benchmark results

We ran stress tests on 4 scenarios:

  • A live video with Normal Latency setting
  • A live video with High Latency setting
  • A live with High Latency setting where half of the viewers had P2P disabled
  • A regular VOD video

Live videos provide only one resolution with a bitrate of 650kbit/s, while the VOD video provides 4 resolutions, with the highest one having a bitrate of 1.2Mbit/s.

Here are the results of our 4 scenarios where 1,000 viewers are connecting on the live/video within a few minutes.

Live with a normal latency

Using the default live settings and so a latency of ~30 seconds, we can see that PeerTube CPU usage peaks as web browsers load the video (11:08:00) and tapers off as viewers watch the video (11:11:00). The main job of PeerTube at that time is to handle playback metrics and view events coming from web browsers for statistics and federation. RAM consumption and NodeJS event loop lag remain stable.

Most viewers download the video using HTTP when they load the page to buffer the live segments, and progressively try to download more distant segments using P2P. It's the reason why we see an HTTP download peak of 150Mbit/s at the beginning of the graph (11:08:00) which gradually drops to 90Mbit/s (11:12:00). At this point, web browsers mainly exchange live segments using P2P at up to 370Mbit/s. Under optimal conditions, the P2P aspect of PeerTube reduces the bandwidth required to broadcast a live video by a factor of 3 or 4, which corroborates feedback received from some PeerTube admins.

Live with a high latency

We wanted to test a live with High latency setting set (~60 seconds) so web browsers have more time to download live segments.

We now have a ratio of 65Mbit/s for HTTP and 370Mbit/s for P2P (15:25:00). A nice improvement, but we think we can improve the HTTP/P2P ratio in the future by changing some P2P engine settings.

Live with a high latency and half of the viewers with P2P disabled

This scenario tries to mimic "real world" viewers by disabling P2P for half of them.

We have a ratio of 260Mbit/s for HTTP and 190Mbit/s for P2P (15:42:00). The swarm of 500 P2P-enabled viewers exchange segments with the same ratio as the live with a high latency, while viewers with P2P disabled just download segments from the server.

VOD video

It's interesting to focus on lives and analyze their P2P ratio since viewers are simultaneously watching and sharing the same segments. But we can also imagine use cases when a VOD video becomes viral:

Bandwidth consumption is much higher than for a live because the video bitrate is higher, but also because the web browser buffers much more the video, especially if P2P segments are available. This is the reason why we have a peak of 2,000Mbit/s for P2P at the beginning, gradually dropping to 1,150Mbit/s (15:10).

If we zoom on the HTTP graph:

We observe that web browsers download nearby segments using HTTP to avoid playback problems, and then try to download distant segments using P2P. That's why we have a peak of 200Mbit/s for HTTP download at the beginning of the graph (15:09:00).

After a few minutes the P2P/HTTP ratio becomes very big with 1150Mbit/s for P2P and 25Mbit/s for HTTP (15:14:00). It means P2P works very well on VOD videos when viewers are watching the same parts of the video. It's an expected behaviour since we have more time to exchange and buffer distant video segments using P2P.

As a bonus, here is the screen of my personal web browser during the stress test where we can see that in an optimal situation and a fiber broadband connection, "regular" viewers can have a very big P2P ratio (800MB uploaded/100MB downloaded).

Technical Overview

Here is an overview of P2P ratio of the live with normal latency and the VOD video with 1,000 viewers:

HTTP peak HTTP after 5 minutes P2P after 5 minutes HTTP/P2P ratio after 5 minutes
Live 150 Mbit/s 90 Mbit/s 350 Mbit/s 25% (P2P saves 75% of bandwidth)
VOD 200 Mbit/s 25 Mbit/s 1150 Mbit/s 2% (P2P saves 98% of bandwidth)

We consider these values hold in optimal conditions, since our simulated web browsers had a fast internet connection for P2P that we could not limit. But in our experience, they seem to represent what happens in real life.

Conclusion and further work

With these results we can see that a regular PeerTube website (server rental at around 20$/month) can correctly handle 1,000 concurrent viewers if the administrator follows our scalability guide.

It means that PeerTube, a Free-Libre software funded by grassroots donations and grants from the NGI programs, that has been developed over 6 years by benevolent contributors and one paid developer, offers an affordable, resilient, efficient and solid alternative to tech giants' technology. It might be hard to realize but it is true: together, we made it this far.

Even if handling 1,000 concurrent viewers is a nice achievement, PeerTube can still go further with extra configuration.

We also have a few ideas on how to handle even more simultaneous viewers in the future:

  • Optimize the settings of our P2P engine for when "High latency" is set for lives
  • Add PeerTube configuration to specify external P2P trackers more suited to handle more peers
  • Distribute the work to handle views events on multiple machines
  • Lazy load some components in the client (like the comments section) to avoid making HTTP requests if the components are not in the web browser viewport

Thanks for reading and don't hesitate to share your experiences with PeerTube and/or limits you encountered, we'd be happy to work on them. Also, don't forget to support our work if you can, and share the good news!

12/12/2023

Mobile App, redesign, new dev, promotion... let’s build a bright future for PeerTube!

Developing an ethical and emancipating alternative to YouTube, Twitch or Vimeo without Surveillance Capitalism’s means is a huge undertaking. Especially for a small French not-for-profit that already manages several projects to promote digital commons.

🦆 VS 😈: Let's take back some ground from the tech giants!

Thanks to your donations to our not-for-profit, Framasoft is taking action to advance the ethical, user-friendly web. Find a summary of our progress in 2023 on our Support Framasoft page.

➡️ Read the series of articles from this campaign (Nov. - Dec. 2023)

We (Bonjour! We are Framasoft!) have been developing PeerTube for six years. Two weeks after releasing the sixth version of the software, let’s take a step back on six years of work, examine the huge opportunity that the present times hold for PeerTube, and look towards what we plan to do next year to prepare for its success... if you give us the means to get there!

Click to support Framasoft and push back against the Yetube – Illustration CC-By David Revoy
Click to support Framasoft and push back against the Yetube – Illustration CC-By David Revoy

Not a rival, just an alternative

The realization that led us to develop PeerTube is that no one can rival YouTube or Twitch. You would need Google’s money, Amazon servers’ farms... Above all, you would need the greed to exploit millions of creators and videomakers, groom them into formatting their content to your needs, and feed them the crumbs of the wealth you gain by farming their audience into data livestock.

Monopolistic centralized video platforms can only be sustained by surveillance capitalism.

We wanted small groups such as institutions, educators, communities, artists, citizens, etc. to be able to afford to emancipate themselves from Big Tech’s platforms, without getting lost in the world wide web. We needed to develop a tool to democratize videohosting, so it had to be designed with radically different values in mind.

And that is what we did. We build PeerTube to empower people, not databases or shareholders.

Today, PeerTube is:

  • a Free-Libre software (transparency, protection against monopoly)
  • you can host on your server (self-hosting, autonomy, empowerment)
  • to create your video and livestream platform, with your own rules (community building, self-management)
  • that lets you federate (or not!) to other PeerTube platforms through ActivityPub protocol (federation, network, outreach)
  • that adds (optional) peer-to-peer streaming to classic streaming so it can withstand affluence (resilience, sharing, decentralization)
  • where more powerful servers can help less fortunate ones with redundancy (solidarity, resilience)
  • that can store videos externally with S3 storage (adaptability, cost-efficiency)
  • that can deport CPU-hungry tasks such as video or live transcoding to a dedicated server (efficiency, resilience, sustainability)

So no: PeerTube is not, and will not be a rival to YouTube or Twitch. PeerTube is powered by other values that those coded into Google’s and Amazon’s ecosystems. PeerTube is an alternative, and that’s exactly why this is so exciting.

Click to support Sepia – illustration David Revoy – licence: CC-By 4.0
Click to support Sepia – illustration David Revoy – licence: CC-By 4.0

PeerTube is a software: 6 years of developments

In the last six years, with more than 275 000 lines of code, we got:

  • From a POC to a fully operative federated video platform with p2p broadcasting, complete with subtitles, redundancy, video import, search tools and localization (PeerTube v1, oct. 2018)
  • Notifications, playlists, a plugin system, moderation tools, federation tools, a better video player, a presentation website and an instances index (PeerTube v2, nov. 2019)
  • Federated research tool (and a search engine https://sepiasearch.org), more moderation tools, lots of code improvement, UX revamping, and last but not least: p2p livestream (PeerTube v3, Jan. 2021)
  • Improved transcoding, channels and instances homepage customization, improved search, an even better video player, filtering videos on pages, advanced administration and moderation tools, new video management tool, and a big code cleaning session (PeerTube v4, Dec. 2021)
  • A video editing tool, improved video statistics and metrics display, replay feature for permanent livestreams, latency settings for lives, an improved video player (for mobile displays), a more powerful plugin system, more customization options, more video filtering options, a new and user friendly feedback tool and a renewed presentation website (PeerTube v5, Dec. 2022)
  • Account request moderation, « back to live » button, remote transcoding (to deport CPU hungry task on a dedicated server). storyboard (previews in the progress bar), video chapters, improved accessibility, upload a new version of a video, and password-protected videos. (PeerTube v6, Nov. 2023)

And that is just when you only consider the software development part of PeerTube. In order to support and promote this software, we had to build a whole ecosystem.

PeerTube is also an ecosystem

PeerTube, nowadays, is also a coding community. On the project forge (online space to contribute on developments), we’ve had more than 400 contributors, 4,300 issues (features and support requests) closed over 6 years and 500 still open, and 12,400 contributions integrated upstream.

As not anyone can familiarize themselves with more than 275 000 lines of code, an easy way to contribute to PeerTube is by developing plugins: there are hundreds of them! Among them, there are the live chat (to get a chat during livestreams), plugins to authenticate against external authentication platforms, annotations to add in the video player, a transcription plugin to automatically create subtitles for your videos or plugins to add monetization to PeerTube videos.

Contributors also helped by translating PeerTube into more than 36 languages (join them here), by providing answers on our forum, by updating our official documentation, or by sharing ideas on our Let’s Improve PeerTube feedback tool.

There are now more than a thousand PeerTube platforms all over the world (that we know of ^^), hosting almost a million videos. We created an instances index that feeds content to SepiaSearch, our search engine for PeerTube videos, channels and playlists. We moderate it according to our terms and conditions, but anyone is free to use the code we develop to create their own index and search engine.

Fortunately, others are working towards promoting and moderating PeerTube content, by creating directories [FR], recommendations threads, moderation tools, Firefox extensions, and all kinds of amazing content.

We promote PeerTube with an official website Joinpeertube.org, where the latest news are shared on the blog and the newsletter. There is also a mastodon account (and an -almost abandoned- account on Twitter). We also spend lots of hours talking to medias, researchers, innovators, communities, contributors, etc.

Fighting dragons with toothpicks

So, how can we estimate the cost of those 6 years of work? Should we just consider development time and the management of the development community (issues, code review, support)?

Should we also count the work done on blogposts, illustrations and promotion material, establishing roadmaps, working with designers, exchanging experience with researchers, videomakers, and amazing projects, some of which we supported with funds? What about the time for moderating our search engine or cleaning after spammers on our feedback tool?

Even though we cannot pinpoint the exact budget Framasoft spent on PeerTube since 2017, our conservative estimate would be around 500 000 €. Over six years. As we got two grants from the European commission (through the NGI0 Search & Discovery and Entrust programs) totaling 132 000 €, it means that 73,6 % of PeerTube budget came from donations.

Now let’s overestimate the cost of PeerTube to 600 000 € over 6 years, to make sure we covered every expense.

Even then, PeerTube total cost would represent 22 millionth (0.0022 %) of YouTube’s ad revenues last year. Yes, we did the math.

(source – 29.243 B USD // 632,853 USD)

We are – figuratively – fighting dragons with toothpicks. That’s why we think that PeerTube cannot and will not rival YouTube nor Twitch (and even less TikTok that presents a whole other experience).

But, as an alternative, PeerTube is already successful.

Click to support Sepia against the Videoraptor – illustration David Revoy – licence: CC-By 4.0
Click to support Sepia against the Videoraptor – illustration David Revoy – licence: CC-By 4.0

A success in our eyes

Today, we know of more than 1000 instances (servers on which PeerTube is installed and running), sharing almost a million videos.

As it is not limited by the captology mechanics of an ad-and-attention-based model, PeerTube offers features not available from tech giants:

  • compatibility with other social tools via ActivityPub (Imagine you could tweet a comment to a YouTube video: with Mastodon and PeerTube, you can.)
  • share a video from a start timecode to a stop timecode (YouTube has caught up with us, since)
  • untempered chronological access to your suscriptions feed (no need to « click the bell » in addition to subscribing)
  • password-protected videos (unavailable in YouTube, paid in Vimeo)
  • replace a video by an updated version

We intended to make PeerTube specifically for people that need (and want) to share their videos outside of the surveillance capitalism model. Obviously we all know (and like) some YouTubers and Twitch-streamers, but they are the visible part of the iceberg of online video sharing.

Institutions, Educators, Independent medias, Citizens, and even creators should have the freedom to share videos online without contributing to a company’s monopoly, having to accept forced advertisement, or sacrificing on their audience’s data and privacy. The great news is, some of them have already found such freedom, and it makes us proud:

We want to build on the recognition PeerTube is getting, that’s why we have planned a lot of work for 2024!

PeerTube’s roadmap for v7, in 2024

The features we have planned for the next year of development on PeerTube all have the same goal: facilite adoption by improving ease-of-use in several ways. As for version 6, most of those features has been chosen from the ideas you shared and voted for on our feedback tool.

We plan to:

  • Add a data export/import system (with or without video files), so users can easily change their instance.
  • Get a full accessibility audit, to facilitate use for people with specific needs, and complete the work done this year (see version 6 release). If we have time left on integrating the report’s recommandations, we will see if and how we could add speech-to-text transcription
  • Add a comment moderation tool usable for both instance administrators and video uploaders.
  • Create a new moderation tool to sort content according to preset keywords lists ( « far-right dogwhistling words in German », « queerphobic idioms in English », etc). This tool will present corresponding content to instance administrators and moderators, that will then determine if it fits their moderation policy.
  • (Technical) separation of audio and video streams. Such improvement will unlock the possibility, in the future, to develop and get multi-audio track videos (e.g. multiple langages), or multi-videos track with the same audio stream (e.g. multiple angles)
  • Add a new « audio-only » resolution (in the « 720p », « 1080p », etc. menu) for our HLS player. It will enable users to only get the audio track streamed to them, improving sustainability when they only want to listen to a video and look at other tabs.
  • Rethink the sensitive content characterization. At the moment, you can only tag videos as « Safe For Work » / « Not Safe For Work ». But « sensitive content » can imply lots of cases: violence, nudity, strong langage, etc. We will work with designers to think about the appropriate way to characterize and treat such cases.
  • Revamp the video management space. We have added lots of new features along the years (live and replay, studio editor, etc.)... it’s great, but tabs and menus accumulated. We will work with designers to rethink it from the ground up and make it easy-to-use.
  • Get a complete review and implement a redesign of the experience and interface of PeerTube. Even though we’ve had lots of help along the way, PeerTube has not benefited of guidance in design from the get-go. We want to think this work as a reboot, where everything (even the orange?) is on the table, if it helps with adoption and ease of use.

Hep us push back against the Videoraptor- Illustration CC-By David Revoy
Hep us push back against the Videoraptor- Illustration CC-By David Revoy

Doubling the dev team for resilience...

OK, when you go from one to two developers, « doubling » is easier... but it was still a big deal to us.

First, because Framasoft is a not-for-profit funded mainly by donations. So far, we’ve had the honor and privilege to get enough support to fund our expenses, the main being our 10 employees. But donation-based economics models are, by definition, highly unpredictable. That is especially true in an economy where inflation, energy costs, etc. make most of our supporters rethink their budget.

Another reason lies within our core value: we believe in decentralization and networks of small actors (over growing into giants and monopolies). We also believe that prioritizing humans and care implies to stay in a small team configuration, where we truly know each other.

And we think that the way we applied those values into our not-for-profit is key to the efficiency, the creativity and the talents expressed by our members (both volunteers and employees). That’s why we worked on limiting Framasoft’s growth, and had the symbolic limit of « ten employees tops ».

During 2022 and 2023, there were lots of discussions on this topic within Framasoft. On one hand, we can’t keep on developing PeerTube with only one developer (even though someone as talented as Chocobozzz), who could win the lottery, leave, or just change carriers. On the other hand, if we hired a new developer, what would be their profile? How can we make sure they would fit in? Can we secure a long lasting job for them?

In late 2022, Chocobozzz asked us to post an internship offer. It was both to test if, after 5 years coding solo on PeerTube, teamwork came back easily (it did) ; but also to train someone on PeerTube’s code core, see how it can be apprehended by newcomers, and how to improve its documentation.

Wicklow joined us for an internship between February and August 2023, and produced the « password protected video features » released in version 6 of PeerTube. We didn’t plan on hiring him: we had, then, other profiles in mind, and thought we wouldn’t be able to start a hiring process before 2024. We specifically told him so, as not to give him false hope... But as we benefited from a grant extension from NGI0 program, we also realized that he was a perfect fit in the project, for the team and in our not-for-profit.

Long story short: we hired Wicklow in September 2023, just as he graduated, on a one-year contract (that we hope to secure with your help!).

...and to create an iOS/Android mobile app!

This new hire has two goals. First and foremost, we want another developer to become familiar with PeerTube’s core code, and lessen the « bus factor » . Wicklow should also become gradually able to help Chocobozzz in managing the code community.

As the community grows (and we are very thankful), so does the managing workload: answering to issues and support requests on our forum, reviewing code contributions, etc. Even though being present for the community is important, it’s taking up to half of Chocobozzz’s time, and that means even less time to develop new features.

The second and main goal for Wicklow in 2024 would be, with the help of designers, to create and publish an official PeerTube mobile app. Mobile viewing has become the main way to watch videos. Even though there are already mobile apps that can play videos on PeerTube, we feel that an official app could help with PeerTube’s adoption and attractiveness.

For 2024, the app would be limited to finding and watching videos. We want users to be able to use a federated search engine, watch videos and livestreams, log in to their account on their PeerTube instance, access their notifications, subscriptions, playlists, etc. If successful, this first version of the app could be extended to other use-cases and features in the future.

Our plan is to publish this app both on iOS (pending Apple’s review, that can be tricky) and Android... and, as an extended goal (so « if all goes well »), on Android TV as well.

Sepia, PeerTube’s mascot, strong from your support – illustration David Revoy – licence: CC-By 4.0
Sepia, PeerTube’s mascot, strong from your support – illustration David Revoy – licence: CC-By 4.0

Promoting the PeerTube Ecosystem

PeerTube is more than code, and we want to shed a light on the incredible community that is thriving around this project.

We often see amazing plugins, interesting instances and channels, new initiatives and experimentations... that we would like to share. But we seldom have and take time to do so.

In the meantime, we also witness many people wondering if PeerTube allows livestream (it does!) if there is a chat for lives (yes: it’s a great plugin!), or if there are websites to find content on PeerTube (yes again!)

We plan to work on promoting PeerTube’s ecosystem, through the blog and newsletter on our website JoinPeerTube, our Mastodon account, and by working on a showcase Peer.tube instance.

To kick off this work, we will go live and answer all your questions about PeerTube during a livestream hosted by Laurens from the Fediverse Report blog and newsletter, on our Peer.Tube channel! You can already go on Mastodon and ask your questions with the #PeerTubeAMA hashtag.

This AMA (« Ask Me Anything ») will take place tomorrow, Dec 13th, from 6 to 8pm (CET), on this link.

Click on the image to get to the livestream
Click on the image to get to the livestream

(and if all goes well, we’ll publish the replay on the same channel)

Funded by you... and Europa!

As we stated sooner in this (long) blogpost, we were fortunate enough to get grants from the European Commission program NGI, through the NLnet foundation (many thanks to them!). The previous grants helped us fund a quarter of our six years of work on PeerTube. We are glad to announce that we got another grant for 2024, that will cover planned development costs.

It means that, as it was for 75 % of the work until now, funding the rest of our plans relies on donations. Communicating about PeerTube and its ecosystem, sharing experience with diverse actors, design costs, community support and management, etc. All those costs will be, as usual, funded by... some of you!

Our current donation campaign will determine Framasoft budget for 2024, and from its success we will know if we can secure a stable job for our second developer, while keep on all the other projects and actions that we take on.

Once again this year we need you, your support, your sharing, to help us regain ground on the toxic GAFAM web and multiply ethical digital spaces.

So we’ve asked David Revoy to help us present this on our « Support Framasoft » page, which we invite you to visit (because it’s beautiful) and above all to share as widely as possible:

If we are to balance our budget for 2024, we have three weeks to raise €138,659: we can’t do it without your help!

28/11/2023

PeerTube v6 is out, and powered by your ideas !

It's #givingtuesday, so we're giving you PeerTube v6 today! PeerTube is the software we develop for creators, media, institutions, educators... to manage their own video platform, as an alternative to YouTube and Twitch.

🦆 VS 😈: Let's take back some ground from the tech giants!

Thanks to your donations to our not-for-profit, Framasoft is taking action to advance the ethical, user-friendly web. Find a summary of our progress in 2023 on our Support Framasoft page.

➡️ Read the series of articles from this campaign (Nov. - Dec. 2023)

The sixth major version is being released today and we are very proud! It is the most ambitious one since we added peer-to-peer livestreaming. There is a good reason for that: we packed this v6 with features inspired by your ideas!

We are so eager to present all the work we achieved that we'll get right into it. But stay tuned: in two weeks, we'll take more time to talk about PeerTube's history, the state of this project and the great plans we have for its future!

This year: two minor updates and a major achievement

In 2023, and before preparing this major update, we released only two minor versions... but one of them brought to the table a major technical feature that will help democratize video hosting even more.

March 2023: PeerTube v5.1

You'll get more details in the news dedicated to the 5.1 release, so to keep it short, this version brought:

  • An "asking for an account" feature, where instance moderators can manage and moderate news account requests
  • A back-to-live button, so when you can lag behind during a livestream, you can go back to the direct
  • improvements on the authentification plugin, to facilitate signing on with external credentials
June 2023: PeerTube 5.2...

As you'll find out in our 5.2 release blogpost, there were some smaller but important new features such as:

  • Adapting RSS feeds to podcast standards, so any podcast client could be able to read a PeerTube channel, for example
  • The option to set the privacy of a livestream replay, that way streamers can choose beforehand if the replay of their live will be Public, Unlisted, Private or Internal
  • Improved mouse-free navigation: for those who prefer or need to navigate using their keyboard
  • And upgrades in our documentation (it's quite thorough: check it out!)
...with a major feature: Remote Transcoding

But the game changer in this 5.2 release was the new remote transcoding feature.

When a creator uploads a video (or when they are streaming live), PeerTube needs to transform their video file into an efficient format. This task is called video transcoding, and it consumes lots of CPU power. PeerTube admins used to need (costly) big-CPU servers for a task that wasn't permanent... until remote transcoding.

Remote transcoding allows PeerTube admins to deport some or all of their transcoding tasks to another, more powerful server, one that can be shared with other admins, for example.

It makes the whole PeerTube administration cheaper, more resilient, more power-efficient... and opens a way of sharing resources between communities!

We want, once again to thank the NGI Entrust program and the NLnet foundation for the grant that helped us achieve such a technical improvement!

PeerTube v6: powered by your ideas!

Enough about the past, let's detail the features of this new major version. Note that, for this whole 2023 roadmap, we developed features suggested and upvoted by... you! Or at least by those of you who shared your ideas on our feedback website.

Protect your videos with passwords!

That was a very awaited feature. Password-protected videos can be used in lots of situations: to create exclusive content, mark a step in a pedagogical plan, share videos with people trusted by the ones you trust...

On their PeerTube account, creators can now set a single password when they upload, import or update the settings of their videos.

But with our REST API, admins and developers can take it a step further. They can set and store as many passwords as they want, thus easily give and revoke access to videos.

This feature was the work of Wicklow, during his internship with us.

Video storyboard: preview what's coming!

If you like to peruse your videos online, you might be used to hover the progress bar with your mouse or finger. Usually, a preview of the frame appears as a thumbnail: that's called a storyboard feature, and that's now available in PeerTube!

Please note that as Storyboards are only generated when uploading (or importing) a video, they will only be available for new videos of instances that upgraded to v6...

Or you can ask, very kindly, to your admin(s) that they use the magical npm run create-generate-storyboard-job command (warning: this task might need some CPU power), and generate storyboards for older videos.

Upload a new version of your video

Sometimes, video creators want to update a video, to correct a mistake, offer new informations... or just to propose a better cut of their work!

Now, with PeerTube, they can upload and replace an older version of their video. Though the older video file will be permanently erased (no backsies !), creators will keep the same URL, title and infos, comments, stats, etc.

Obviously, such a feature requires trust between videomakers and admins, who don't want to be responsible for a cute kitten video being "updated" into an awful advertisement for cat-hating groups.

That's why such a feature will only be available if admins choose to enable it on their PeerTube platforms, and will display a "Video re-upload" tag on updated videos.

Get chapters in your videos!

Creators can now add chapters to their videos on PeerTube. In a video settings page, they'll get a new "chapters" tab where they'll only need to specify the timecode and title of each chapter for PeerTube to add it.

If they import their video from another platform (cough YouTube cough), PeerTube should automatically recognize and import chapters set on this distant video.

When chapters are set, markers will appear and segment the progress bar. Chapter titles will be displayed when you hover or touch one of those chapters segments.

Stress tests, performance and config recommandations

Last year, thanks to French indie journalist David Dufresne's Au Poste! livestream show and his hoster Octopuce, we got a livestream stress test with more than 400 simultaneous viewers: see the report here on Octopuce's blog [FR].

Such tests are really helpful to understand where we can improve PeerTube to reduce bottlenecks, improve performance, and give advice on the best configuration for a PeerTube server if an admin plans on getting a lot of traffic.

That's why this year, we have decided to realize more tests, with a thousand simultaneous users simulated both in livestream and classic video streaming conditions. Lots of thanks and datalove to Octopuce for helping us deploy our test infrastructure.

We will soon publish a report with our conclusions and recommended server configurations depending on usecases (late 2023, early 2024). In the meantime, early tests motivated us to add many performances improvements into this v6, such as (brace yourselves for the technical terms):

  • Process unicast HTTP job in worker threads
  • Sign ActivityPub requests in worker threads
  • Optimize recommended videos HTTP request
  • Optimize videos SQL queries when filtering on lives or tags
  • Optimize /videos/{id}/views endpoint with many viewers
  • Add ability to disable PeerTube HTTP logs
...and there's always more!

A new major version always comes with its lot of changes, improvements, bugfixes, etc. You can read the complete log here, but here are the highlights:

  • We needed to settle a technical debt: v6 removes support for WebTorrent to focus on HLS (with WebRTC P2P). Both are technical bricks used to get peer-to-peer streaming in web browsers, but HLS is more fitted to what we are doing (and plan to do) with PeerTube
  • The video player is more efficient
    • It is not being rebuilt anymore every time the video changes
    • It keeps your watching settings (speed, fullscreen, etc.) when the video changes
    • It automatically adjust its size to match the video ratio
  • We have improved SEO, to help videos hosted on a PeerTube platform appear higher in the search results of search engines
  • We worked a lot on improving PeerTube's accessibility on many levels, to streamline the experience of people with disabilities.

What about PeerTube's future?

With YouTube waging war against adblockers, Twitch increasingly exploiting streamers, and everyone becoming more and more aware of the toxicity of this system... PeerTube is getting traction, recognition and a growing community.

We have so many announcements to make about the future we plan for PeerTube, that we will publish a separate news, in two weeks. We are also planning on hosting an "Ask Us Anything" livestream, to answer the questions you'd have about PeerTube.

Please stay tuned by subscribing to PeerTube's Newsletter, following PeerTube's Mastodon account or keeping an eye on the Framablog.

Click to support us and help Sepia push back Videoraptor – Illustration CC-By David Revoy
Click to support us and help Sepia push back Videoraptor – Illustration CC-By David Revoy

Thank you for supporting PeerTube and Framasoft

In the meantime, we want to remind you that all these developments were achieved by only one full-time payed developer, an intern, and a fabulous community (lots of datalove to Chocobozzz, Wicklow, and the many, many contributors: y'all are amazing!)

Framasoft being a French not-for-profit mainly funded by grassroots donations (75% of our yearly income comes from people like you and us), PeerTube development has been funded by two main sources:

  • French-speaking FOSS enthusiasts
  • Grants from the NGI initiative, through NLnet (in 2021 & 2023)

If you are a non-French-speaking PeerTube aficionado, please consider supporting our work by making a donation to Framasoft. It will greatly help us fund our many, many projects, and balance our 2024 budget.

Once again this year we need you, your support, your sharing to help us regain ground on the toxic GAFAM web and multiply the number of ethical digital spaces. So we've asked David Revoy to help us present this on our support Framasoft page, which we invite you to visit (because it's beautiful) and above all to share as widely as possible:

If we are to balance our budget for 2024, we have five weeks to raise €176,425: we can't do it without your help!

Thanks again for supporting PeerTube,
Framasoft's team.

21/6/2023

Version 5.2 of PeerTube is out!

This version comes with a small technical challenge that we're proud to have overcome! This new feature won't be as visible as a graphical change, but it will make hosting a PeerTube platform easier, more resilient and cheaper.

Let's see what it's all about :)

This is a resolution: video transcoding

Video transcoding is the process of converting a video file into different formats that can be played on different devices. In simple terms, it takes your video file (for example, mp4) and converts it into different formats that can be read by web browsers, applications, etc. Transcoding is done when a video is uploaded to the PeerTube instance, during live broadcasts or when editing your video with the PeerTube Studio.

In addition to the formats, transcoding allows you to have different video qualities (from pixel mush to the possibility of seeing an ant when zooming in on a panorama). These are the famous '720p', '1080p' and so on.

The problem is that transcoding 4k videos of kittens requires a lot of server computing resources (called "CPU"). Even a small kitten. And big CPUs mean big prices. It's a shame to have to rent a more powerful server just to transcode faster one big video a month.

If only we had a solution... 🤔

This is an evolution: remote transcoding

The solution we propose: remote transcoding! The idea is to let the servers of the PeerTube platform broadcast the videos, by having the ability to run transcoding tasks on other computers (for example, remote servers, that could be dedicated to the task, that could be shared, etc.). You can find out how to do this in the documentation.

We explain here how to set up one of these remote servers by installing a "PeerTube runner" on it. You can even turn your personal computer into a runner using command lines, just long enough to transcode your videos! Yes, it is THAT flexible!

For the more tech-savvy among us, this feature was inspired by Gitlab runners for their architecture and BOINC for their ease of use. This is one of the strengths of free-libre softwares: rather than reinventing the wheel, we take inspiration from the work of those who were there before and build a new brick for those who come after us!

You can find out more in our documentation.

You can see how it's done on this video and also learn more from this video of Jeena (who shares his chronicles as a PeerTube platform administrator on his PeerTube instance, of course) presenting how remote transcoding works.

This is a (French) revolution

With the federation of video catalogues, the peer-to-peer broadcasting in the event of a video's success, the redundancy of videos for PeerTube platforms that want to help each other, the possibility of storing videos on a dedicated server... PeerTube has always aimed to democratize online video hosting and distribution.

Remote transcoding takes a step further by encouraging the pooling of CPU-intensive tasks and (we hope) encouraging communities to work together. From now on, a PeerTube platform can be hosted on very low-power (and therefore low-cost) servers.

In addition, this new feature has been designed to, in the future, enable other CPU-intensive tasks to be performed remotely (such as audio-to-text video transcription).

A technical feature like remote transcoding isn't exactly sexy. These developments are not the easiest to fund, especially through donations. We'd like to thank NLnet for supporting us and giving us access to NGI0's funding programs that funded this feature!

These are improvements

In addition to remote transcoding, 5.2 includes a number of improvements:

  • RSS feeds for podcasts: a first building block has been developed to allow your PeerTube content to be integrated into podcast players!
  • Mouse-free navigation: if you like to navigate using only the keyboard, you'll love some improvements!
  • The Studio feature (introduced in version 4.2), which allows you to edit an uploaded video, has finally been documented (even though it is incredibly simple)!
  • Define the visibility of a replay: it is now possible to define a different visibility for a replay than for a live. This means you can make a live public, but make the replay private (or vice versa, or whatever)! This feature was developed by Wicklow, a PeerTube development intern: thanks to him!

This is a call for donations

Remote transcoding is brand new: we need your feedback on how to improve it (and you can also just tell us you like it). The best place to do this is our forum).

What's next? PeerTube is on its way to v6, towards the end of the year. In this version you'll be able to password protect videos (thanks to Wicklow!), get a preview thumbnail by hovering over the playback bar, add chapters to your video and even upload a new version of your video. In short, we've got a lot of work to do!

Do you want to help us improve PeerTube? You can do so by contributing to the software, sharing this information and (if you can afford it) making a donation to our not-for-proft, Framasoft.

Thanks in advance for your support!

Framasoft

28/3/2023

PeerTube 5.1 is out!

Version 5.1 of PeerTube has been released! On the menu: moderation of account creation, a button to resume live broadcasting, improved management of external authentication plugins... and other useful developments. Let's take a tour of the new features!

Moderated account creation requests

First new feature in this minor release: account creation requests can now be validated a priori by administrators.

When this feature is enabled and a person registers on an instance, they will have to fill in a field (such as "Why do I want to create an account on this platform?") and then wait for their registration to be validated before they can access their account.

The moderators see the different requests and can accept or reject them.

An email is sent directly to the user when the request is processed. The account is automatically created when the request is approved.

In this way, we hope to allow different instances to reopen their registrations without risking potential waves of spam.

New "Resume Live" button

A "resume live" button has been added to the player! The button is red when the player is synchronized with the current live stream and grey when it is not. A single click to resynchronise the live stream is quite handy!

Improved management of external authentication plugins

Developers will be able to take advantage of an improvement to the API for external authentication plugins: define a quota for users, update users or implement an automatic redirect to the external service when a session expires. These improvements were financed by the Department of Public Education (DIP) of the State of Geneva. Thanks!

And more...

This version has seen various improvements to the accessibility of the interface, as well as performance improvements (optimized rendering of the home page editor and more efficient comment retrieval).

Another development worth mentioning is the arrival of two new languages: Icelandic and Ukrainian. Thanks to the contributors for these translations!

We have also fixed many bugs reported by the community. We are now up to more than 4000 tickets processed since the beginning of the PeerTube project, and that seems huge! This time spent improving, maintaining and supporting the software is funded directly by you, through your donations. Thank you very much!

We hope you find this new version useful and we thank again all PeerTube contributors!

Framasoft

8/2/2023

What 2023 will bring for PeerTube...

We (Framasoft, a small not-for-profit association!) are proud to present our roadmap for the developments and side projects we have planned for PeerTube in 2023. This roadmap combines both the progress we wanted to make to the software and the proposals you have sent us over the last few months.

It is important to note that we are dedicating only one developer to PeerTube (yes, only one!), PeerTube being one of more than fifty projects led by our association.

End of February: PeerTube 5.1

We plan to release version 5.1 at the end of February. Here are the new features we are planning to release:

  • Easier management of account registrations (with administrator approval)
  • Developers will be able to take advantage of an improved API for external authentication plugins (setting a quota, updating the user, etc.)
  • Optimize retrieval of video comments
  • Adding a Resume Live button in the video player
  • Improvements and bug fixes (including bugs found during the end of December load test, in French)

May 2023: PeerTube 5.2

This May we plan to release PeerTube 5.2, which will feature remote transcoding (feature that received many votes!). This will reduce the power required for a PeerTube server by delegating power consuming tasks to external machines.
Initially this will only be for hosted videos, but will be designed to be able to evolve (for livestreams for example). Quite a technical challenge ahead!

November-December 2023: PeerTube v6

We plan to release the next major version of PeerTube at the end of the year, and the new features are all inspired by your suggestions on our feedback tool Let's Improve PeerTube. You will find:

But also...

At the beginning of this year, we welcome Wicklow in the team, for a 6 months internship. This is an opportunity to support the PeerTube developer and to familiarize more people with the code base of the software.

We will also of course continue to fix bugs, clean up the code and improve the architecture of the software and support external and community development, such as the Live-Chat plugin.

Finally, we will work on content curation for our Peer.tube showcase platform (yes, with a dot in the middle!), to allow us to present a gateway to PeerTube, which looks like Framasoft.

PeerTube, like all our projects, is mainly funded by donations to our association. On this roadmap, only the remote transcoding feature of v5.2 is already funded, thanks to a donation from the NLnet foundation.

Do you want to help us achieve this roadmap? You can support us by contributing to PeerTube, by sharing this information and (if you can afford it) by making a donation to Framasoft.

Thank you in advance for your support!
Framasoft

21/12/2022

A statement about the German ISD study on PeerTube

We, Framasoft, have been developing the PeerTube software for 5+ years.

Framasoft is a French non-profit of 38 members (10 employees, 28 volunteers), PeerTube is one of our 50+ projects, and we do all this work with only one developer (who is not event full time on PeerTube). Please note that maybe 2 or 3 among us understand, more or less fluently, German.

On dec. 19th, a journalist from Tagesspiegel Background informed us that a study by German researchers on the use of PeerTube by right-wing extremists was about to be published. He asked us 3 questions about the scope of the problem and what could be done, and we answered him that day.

On dec. 20th, we have been able to get this study (it is available online here) and translate it. This is why it took us time to write and publish a collective statement.

First of all, we would like to thank the researchers of the Institute for Strategic Dialogue for their work. The more we will gain knowledge of how disinformation manipulators and right-wing extremists use PeerTube, the more the PeerTube communities will learn how to effectively protect themselves from such content.

Shared knowledge is shared power.

PeerTube says no to fascists and conspiracy manipulators

Let's be crystal clear: Framasoft's values are fundamentally opposed to right-wing extremism. This is also true for conspiratorial manipulations that lead to hurting and killing people (here is our recently published manifest stating our core values - Warning: may be poorly translated from French).

We agree with the results of the study. In our experience, right-wing extremists represent a very, very small share of the PeerTube federation (called the "vidiverse"), but they know how to be very loud, energy consuming trolls.

We should not ignore the fact that, in 2022, if any society is producing fascist and Nazi groups, it is not because of technology, but because of a deeper problem, which is mainly related to the complacency of some governments with extreme right-wing ideas. Nevertheless, it is also true that some technical devices that work on the basis of audience measurement and advertising are the first to disseminate extremist ideas. The Fediverse does not work like that, but we should work to keep it healthy.

PeerTube is free software, we cannot prevent these people from using it. Germany, France and most modern democracies have already introduced laws that can lead Justice to condemn PeerTube administrators who knowingly and willingly host hateful and Nazi content.

What we can do (and have been doing and are willing to continue) is giving PeerTube communities the tools to moderate, protect themselves from and ostracize right-wing extremists and harmful PeerTube platforms.

We "moderate" (read: ban) fascist content from any tool we manage. Thus, we regularly clean the instance index. For example we removed from the index problematic instances, several of which are German. This does not prevent these instances from existing, but at least we try to keep the index healthy.

We need the communities to step up

The study clearly states it: one of the major solutions to such content relies in empowering the communities.

PeerTube-isolation is a blocklist that is maintained in total independence from us. Installing their plugin on your PeerTube platform can help you make sure you won't federate with dangerous content.

We encourage anyone who wants to help to contribute to the PeerTube-Isolation community work. We automatically pull out the instances they block from the index that feeds SepiaSearch, our PeerTube Search Engine.

Our goal is to keep harmful and hateful content isolated in their own federation bubble, where they can be as loud as they want. Thus they won't contaminate others with their dangerous filth. Thus they'll understand they are not welcomed in the PeerTube vidiverse, and they won't have any interest trying to invest it.

In addition, we are always exploring new ways to help PeerTube communities and administrators moderate hate speech and harmful content. If you can think of a feature we could add to PeerTube to help isolating such filth, please share it on Let's Improve PeerTube.

A call to (help) PeerTube instance administrators

That being said, a tool can only do so much.

Instance administrators need help, because they have several tasks to fulfill: system administration (backup, updates, etc.), content curation (do I want to host edutainment videos? original fictions? videos by Queer creators?), federation policies (which platforms do I want mine to follow? which follows do I accept?), moderation policies (and moderation can be needed in the federation choices, content hosted, comments, etc.)

It is a very complex job, and usually you should not to be alone to complete it. It is a crucial job, though. We need instance administrators to have rules about the platform they federate with, so they can enforce their own policies and - hopefully- stop the dissemination of harmful and dangerous content. But it is a lot of work, so it requires a lot of help.

If you want to help, try to join a PeerTube administration team. Offer them help. Report problematic content. If public organizations can provide training, help, and tools, it can always be useful ! But PeerTube is a Commons: we cannot address such an issue unless we work together as a (diverse and plural) community.

Shared knowledge is shared power

The PeerTube communities sure need more shared knowledge on right-wing extremists, their content, their methods, their arguments & fallacies, and how to protect ourselves from it.

But we also need more people helping and taking charge, together, as communities, because we are very invested in keeping PeerTube ecosystem healthy.