Send in your ideas. Deadline December 1, 2024

Librecast Live

Live streaming with multicast

The Librecast Live project contributes to decentralizing the Internet by enabling multicast. Multicast is a major network capability for a secure, decentralized and private by default Next Generation Internet. The original design goals of the Internet do not match today's privacy and security needs, and this is evident in the technologies in use today. There are many situations where multicast can already be deployed on the Internet, but also some that are not. This project will build transitional protocols and software to extend the reach of multicast and enable easy deployment by software developers. Amongst others it will produce a C library and POC code using a tunneling method to make multicast available to the entire Internet, regardless of upstream support. We will then use these multicast libraries, WebRTC and the W3C-approved ActivityPub protocol to build a live streaming video service similar to twitch.tv. This will be a complement to the existing decentralised Mastodon and Peertube projects, and will integrate with these services using ActivePub. By doing so we can bring live video streaming services to these existing decentralised userbases and demonstrate the power of multicast at the same time. Users will be able to chat and comment in realtime during streaming (similar to YouTube live streaming). This fills an important gap in the Open Source decentralised space. All video and chat messages will be transmitted over encrypted channels.

Why does this actually matter to end users?

If you want to share your message (or data) with the world, you send a packet that travels across a great deal of the networks that make up the internet to finally reach its destination and deliver someone the file, video or software they were looking for. There are actually quite a number of routes your data can take and ways to deliver messages over the internet, each with their own ups and downsides. The Next Generation Internet intends to create a more user-centric, private and decentralized internet. One of the ways to reach this goal is by making internet routing itself more privacy-friendly and decentralized.

An existing, but underappreciated routing scheme that can make our internet traffic less privacy invasive and more decentralized, is multicast. Instead of unicast which delivers something to one specific point in a network, multicast shares a message with a group of nodes that express their interest in the particular package. Such a node can for example be an internet service provider, where users can subscribe to particular content. Think of it like a television channel where you can subscribe to all sorts of stations broadcasting their programs, or Twitter, where you can follow people without needing to register anywhere.

Multicast has the potential to level the playing field for parties that want to transmit sizable traffic and to protect the privacy of users. Instead of having to rely on some facilitating third party to transmit large or continuous files to a thousands or millions of people, you can route your content instead more efficiently to several hundred internet service providers that your user base can then subscribe to. This has the added benefit for users that they would only need to register with their ISP for this particular content, instead of disclosing to the entire world what they want to watch. This project aims to make multicast easier to deploy and will develop a live streaming video service that users on decentralized, self-hosted social media can use to privately stream and chat with. Making multicast more usable can ultimately help to create an internet that is decentralized and private by default.

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.