CINXE.COM
NLnet; PeerTube
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1" /><meta name="theme-color" content="#ffffff" /><meta name="robots" content="index,follow" /><link rel="shortcut icon" href="/favicon.ico" /><link rel="icon" type="image/x-icon" href="/favicon.ico" /><link rel="stylesheet" type="text/css" href="/nlnet.css" media="screen, projection" /><link rel="alternate" type="application/atom+xml" title="NLnet News" href="/feed.atom" /><title>NLnet; PeerTube</title> </head> <body class="" id="topofpage"> <div class="notice"><a href="#main" class="skip">To main content</a><div class="container"> <div class="row"> <div class="col12" id="call_banner"><strong><span><a href="/news/2025/20250201-call.html">Send in your ideas. Deadline April 1, 2025</a></span></strong><script> if (document.location.host !== "nlnet.nl") { const banner = document.getElementById('call_banner'); const a = document.createElement("a"); a.href = "https://nlnet.nl" + document.location.pathname; a.appendChild(document.createTextNode("compare")); a.style.float = "right"; banner.appendChild(a); } </script></div> </div> </div> </div> <nav id="nav_main"> <div class="container"> <div class="row"> <div class="col12"> <div class="flex wide_nav"><a href="/"><img src="/logo/banner.svg" alt="NLnet logo" class="header_logo" /></a><div id="main_menu"><label for="show-menu" class="show-menu"><span class="gg-menu"></span><span class="hide">Menu</span></label><input type="checkbox" id="show-menu" role="button" /><ul> <li><a href="#">Funding</a><ul class="hidden"> <li><a href="/funding.html">Apply for funding</a></li> <li><a href="/themes/">Theme funds</a></li> <li><a href="/NGI0/">NGI Zero</a></li> <li><a href="/NGI0/services/">Support services</a></li> </ul> </li> <li><a href="#">Projects</a><ul class="hidden"> <li><a href="/project/index.html">All projects</a></li> <li><a href="/project/current.html">Currently running</a></li> <li><a href="/thema/">Thematic index</a></li> <li><a href="/stories/">Stories</a></li> </ul> </li> <li><a href="#">News & events</a><ul class="hidden"> <li><a href="/news/">News</a></li> <li><a href="/events/">Events</a></li> <li><a href="/webinars/">Webinars</a></li> <li><a href="https://podcast.nlnet.nl/@NGIZero">Podcast</a></li> <li><a href="/tour-schedule/">NGI Zero Tour Schedule</a></li> <li><a href="/speakerbureau/">Speaker bureau</a></li> </ul> </li> <li><a href="#">Resources</a><ul class="hidden"> <li><a href="/NGI0/bestpractices/">Best practices</a></li> <li><a href="/pres/">Presentations</a></li> <li><a href="/hex/">Hex stickers</a></li> </ul> </li> <li><a href="#">Support NLnet</a><ul class="hidden"> <li><a href="/donating/">Financial contribution</a></li> <li><a href="/help/">Join the OIN</a></li> </ul> </li> <li><a href="#">About us</a><ul class="hidden"> <li><a href="/foundation/">Foundation</a></li> <li><a href="/people/">People</a></li> <li><a href="/press/">Press</a></li> <li><a href="/foundation/media-coverage/">In the media</a></li> <li><a href="/contact/">Contact</a></li> </ul> </li> </ul> </div> </div> <!-- <div class="mobile_nav"> <details> <summary class="flex"> <a href="/"> <img src="/logo/banner.svg" alt="NLnet logo" class="{$logo_class}"/> </a> <div> <img src="/image/veganburger.svg" alt="menu"/> </div> </summary> {$topnav} </details> </div> --> </div> </div> <div class="row"> <div class="col7"> <ul class="breadcrumb"> <li><a href="/project/"><img src="/image/ic_projects.svg" alt="icon" />Projects</a></li> <li><a href="/project/PeerTube">PeerTube</a></li> </ul> </div> </div> </div> </nav> <div class="container"> <div class="row"> <div class="col3 reorder1"> <div class="box marge bg_rounded"><a href="https://joinpeertube.org/"><img src="/project/PeerTube/PeerTube.logo.svg" alt="logo" class="width-constrained" /></a></div> <div class="box marge bg_rounded"><a href="https://joinpeertube.org/"><img src="/project/PeerTube/peertube.hex.svg" alt="hex" class="width-constrained" /></a></div> <div class="box marge bg_grey rounded"><strong>Resources</strong><br />Blog :<br /><a class="constrainedlink" href="https://framablog.org">https://framablog.org</a><br /><a href="/gallery/repology.html#repology_Repology"><img src="/image/badge/repology_badge.svg" alt="Repology" class="width-constrained" /></a><br />Source code :<br /><a class="constrainedlink" href="https://github.com/Chocobozzz/PeerTube">https://github.com/Chocobozzz/PeerTube</a><br />Documentation :<br /><a class="constrainedlink" href="https://docs.joinpeertube.org">https://docs.joinpeertube.org</a></div> <div class="box marge bg_grey rounded"><strong>Wikipedia</strong><br /><a href="https://en.wikipedia.org/wiki/PeerTube"><img src="/image/badge/wikipedia_badge.svg" alt="Wikipedia" class="width-constrained" /></a></div> <div class="box marge bg_grey rounded"><strong>Website</strong><br />More info available :<br /><a class="constrainedlink" href="https://joinpeertube.org/">https://joinpeertube.org/</a></div> <div class="box marge bg_grey rounded"><strong>Grant</strong><br />Theme fund: NGI0 Discovery<br />Period: 2021-02 — 2022-10</div> <div class="box marge bg_grey rounded"><strong>More projects like this</strong><div><a href="/thema/Networkinfrastructure.html">Network infrastructure</a></div> <ul class="marge rounded pointer"> <li>See <a href="/thema/">all themes</a></li> </ul> </div> <!-- disabled for now <div class='box marge bg_grey rounded'><strong>Next project:</strong><br />> $next_project </div> --> </div> <div class="col6" id="maincolumn"> <h1 class="column_heading">PeerTube</h1> <p><em>A decentralised streaming video platform</em></p> <div class="abstract"> <p>PeerTube is a free, libre and federated video platform. Video is a very popular class of content and meanwhile accounts for a signicant share of internet traffic, but the choice of hosting has a lot of implications - if you send your viewers to some proprietary platform because you want to avoid cost, what happens after they watch your video? And who watches them watch? PeerTube allows for a federation of interconnected hosts (so more choice of videos wherever you go to see them) while containing the risk of exposing users to profiling, algorithmic pressure that favors extreme content, censorship and other negative aspects of centralised services like YouTube or Vimeo. PeerTube implements the ActivityPub standard and works with peer-to-peer distribution - and therefore viewing. This means no slowing down when a video suddenly goes viral, and much lower distribution costs thanks to shared bandwidth. PeerTube aims to make it easier to host videos on the server side, while remaining practical, ethical and fun on the Internet user side. In this project, Framasoft will work on PeerTube 4.0 with interesting new features such as better search, live streaming, channel customisation and improved accessibility.</p> </div> <ul class="box marge bg_grey rounded pointer"> <li>The project's own website: <a href="https://joinpeertube.org/">https://joinpeertube.org/</a></li> </ul> <h3>Why does this actually matter to end users?</h3> <p>In the same year when the ARPAnet (the predecessor of the internet) was invented, people tuned into their tube televisions to watch a global live broadcast of astronauts first landing on the moon. If they missed that historical moment, that would be it. There was no ability for normal people to record television broadcasts, no ability to rewind or look back programmes from the online guide. At the turn of the millennium, three decades later, everyone was still watching traditional television: quite a few people may have had a video recorder, but this needed to be programmed in advance or you would still miss your favourite tv programme. And there had better not be two programmes you would want to record at the same time.</p> <p>That has all changed in recent years. On demand video via the internet has meanwhile assumed an important, but also somewhat controversial role. A tiny set of dominant online video hosting platforms (most people would have trouble naming more than two) has emerged, these control how hundreds of millions of users spend many billions of hours of human lives every year. The platform's features and algorithms determine what you see, who can be discovered (whether this is called "trending", "recommended" or "autoplay"), who is banned and deleted, and who is just left out of the spotlight. Users can only follow the patterns laid out for them on screen. The platforms also determine what information is logged about your searches and binge viewing behaviour, and privately decide who they sell your interests and location to. That is a far cry from the privacy granted by traditional television and radio broadcasting, where literally noone outside of the room could know which programme you would pick from the aether. What data is tracked, and what filters and algorithms are used by these online video platforms, remains opaque for users. Contrary to traditional media, the platforms feel no responsibility for checking facts: they focus on commercial value to them, not social value.</p> <p>Relying on third party platforms is especially awkward for public services and organizations, as they have moral responsibilities to their citizens and constituencies to protect their privacy and promote democratic and social values. There is no reason for publicly funded and private content (possibly about you and me) or material in the public domain to be exclusively available through a foreign commercial service that may change their terms of data ownership and usage on the fly.</p> <p>As a society, we want a diversity of independent platforms and search tools to facilitate a wide cultural arena. We should keep content open and available in a sustainable way, where we as a society can interact with it in a way that no-one feels exploited by or uncomfortable with. PeerTube is such an alternative to closed-off and commercial video platforms like YouTube. PeerTube is open source and free (free as in freedom) software that uses peer-to-peer technology to easily and quickly provide and share uploaded video material. Or put differently: a turnkey video platform in a box. Anyone that owns a computer connected to the internet can in principle create their own video platform, and set their own rules for users and content. Videos are stored by each instance independently, and so there is no censorship or systemic bias. Important features like live streaming, channel customisation, as well as better search and accessibility will be the topic of work for this project, making PeerTube an increasingly viable alternative to commercial and tracker-heavy video and streaming platforms.</p> <p>Run by Framasoft</p> <div class="attention"> <p><a href="https://NLnet.nl" name="ack"><img src="/logo/banner.svg" alt="Logo NLnet: abstract logo of four people seen from above" class="logocenter" /></a> <a href="https://NLnet.nl/discovery"><img src="/image/logos/NGI0Discovery_tag.svg" alt="Logo NGI Zero: letterlogo shaped like a tag" class="logocenter" /></a></p> <p>This project was funded through the <a href="/discovery">NGI0 Discovery</a> Fund, a fund established by <a href="https://nlnet.nl">NLnet</a> with financial support from the European Commission's <a href="https://ngi.eu">Next Generation Internet</a> programme, under the aegis of <a href="https://commission.europa.eu/about-european-commission/departments-and-executive-agencies/communications-networks-content-and-technology_en">DG Communications Networks, Content and Technology</a> under grant agreement N<sup>o</sup> <a href="https://cordis.europa.eu/project/id/825322">825322</a>.</p> </div> </div> <div class="col3 reorder2"> <div> <h3>Navigate projects</h3> <ul class="pointer"> <li><a href="/project/current.html">Currently running</a></li> <li><a href="/project/index.html">All projects</a></li> <li><a href="/thema/index.html">Thematic index</a></li> </ul> <p class="box marge"> <h5>Currently open for proposals:</h5> </p> <ul class="pointer"> <li><a href="/commonsfund/">NGI0 Commons Fund</a></li> <li><a href="/taler/">NGI TALER</a></li> <li><a href="/mobifree/">NGI Mobifree</a></li> <li><a href="/fediversity/">NGI Fediversity</a></li> </ul> <div><a href="/foundation/jobs/regionalrepresentative.html" class="part part_link part_green"><img src="/image/git-merge-2.svg" width="40" height="40" alt="git merge icon" /> <h5 class="color_white">Job opening</h5> <font color="white">NGI Zero is looking for a Regional Representative.</font> </a></div> <div><a href="https://podcast.nlnet.nl/@NGIZero" class="part part_link part_blue"><img src="/image/ic_antenna_white.svg" width="40" height="40" alt="podcast logo, antenna with radio waves" /> <h5 class="color_white">Listen to our podcast</h5> <font color="white">Converstations with people building the Next Generation Internet</font> </a></div> <!-- <div> <a href="https://social.nlnet.nl/@nlnet" class="part part_link part_blue"><img src="/image/ic_fediverse.svg" width="50" height="50" alt="fediverse logo, 5 nodes in pentagon shape with all diagonals, black" /> <h5 class="color_white">Come meet us in the Fediverse</h5> @nlnet@nlnet.nl </a> </div> <div> <a href="/bluehatsprize/" class="part part_link part_green"><img src="/image/ic_hat.svg" width="40" height="40" alt="bluehats logo, three blue hats" /> <h5 class="color_white">Nominate FOSS projects</h5> Nominate Free Software Projects for the four €10.000 BlueHats Prizes. </a> </div> <div> <a href="/help" class="part part_link part_green"><img src="/image/ic_hand.svg" alt="" /> <h5 class="color_white">Want to do us a favour?</h5> Help us with 5 minutes of your time. </a> </div> --> </div> <div class="part"> <h3>Search</h3> <form onsubmit="/js/searchbutton.js" method="get" accept-charset="UTF-8" action="/search/static.html" class="sitesearch"><input id="searsia-input" type="text" name="q" class="form-control" value="" autocomplete="off" /><label for="searsia-input"><span class="hide">Search</span></label><input type="submit" id="searsiasubmit" name="submit" value="Search" /><label for="searsiasubmit"><span class="hide">Submit search</span></label></form> </div> </div> </div> </div> <footer> <div class="container"> <div class="row"> <div class="col3"><strong>NLnet</strong><ul class="menu"> <li><a href="/foundation/">Foundation</a></li> <li><a href="/people/">People</a></li> <li><a href="/press/">Press</a></li> <li><a href="/foundation/media-coverage/">In the media</a></li> <li><a href="/contact/">Contact</a></li> <li><a href="/privacy/">Privacy statement</a></li> </ul> </div> <div class="col3"><strong>News & events</strong><ul class="menu"> <li><a href="/news/">News</a></li> <li><a href="/events/">Events</a></li> <li><a href="/webinars/">Webinars</a></li> <li><a href="/tour-schedule/">NGI Zero Tour Schedule</a></li> <li><a href="/speakerbureau/">Speaker bureau</a></li> </ul> </div> <div class="col3"><strong>Connect with us</strong><ul class="menu"> <li><a href="https://social.nlnet.nl/@nlnet">Fediverse: NLnet</a></li> <li><a href="https://mastodon.xyz/@NGIZero">Fediverse: NGI Zero</a></li> <li><a href="https://podcast.nlnet.nl/@NGIZero/">Our podcast</a></li> <li><a href="https://vc.ngi-0.eu/rooms/ahq-y96-uhs-jka/public_recordings">Our webinars</a></li> <li><a href="/feed.atom">RSS feed</a></li> </ul> </div> <div class="col3"><strong>Site search</strong><p></p> <form onsubmit="/js/searchbutton.js" method="get" accept-charset="UTF-8" action="/search/static.html" class="sitesearch"><input id="searsia-input" type="text" name="q" class="form-control" value="" autocomplete="off" /><label for="searsia-input"><span class="hide">Search</span></label><input type="submit" id="searsiasubmit" name="submit" value="Search" /><label for="searsiasubmit"><span class="hide">Submit search</span></label></form> </div> </div> <div class="row"> <div class="col3"><strong>Funding</strong><ul class="menu"> <li><a href="/propose/">Open calls</a></li> <li><a href="/themes/">Theme funds</a></li> <li><a href="/NGI0/">NGI Zero</a></li> <li><a href="/NGI0/services/">Support services</a></li> </ul> </div> <div class="col3"><strong>Projects</strong><ul class="menu"> <li><a href="/project/">All projects</a></li> <li><a href="/project/current.html">Currently running</a></li> <li><a href="/thema/">Thematic index</a></li> <li><a href="/stories/">Stories</a></li> </ul> </div> <div class="col3"><strong>Newsletters</strong><ul class="menu"> <li><a href="https://lists.nlnet.nl/mailman3/lists/newsletter.lists.nlnet.nl/">The NLnet newsletter</a></li> <li><a href="https://lists.ngi-0.eu/subscribe/ngizero-newsletter">The NGI Zero newsletter</a></li> </ul> </div> <div class="col3"><strong>Support NLnet</strong><ul class="menu"> <li><a href="/donating/">Financial contribution</a></li> <li><a href="/help/">Join the Open Invention Network</a></li> </ul> </div> </div> </div> </footer> </body> </html>