 Welcome to the Ampère Tube Strikes Back. So it's in French, it's look like the Empire Strikes Back, and obviously it doesn't work in English, but thank you for coming here. So let's decentralize YouTube. I'm from the sky. Chocobos is not here. He's a little bit shy, but... He's here! So let's go. We have a problem. YouTube is hegemonic. You want to watch a video for scientific video, for cat video? Do you like cat video? Yes. You go to YouTube first. That's a problem. And it's a big silo of data in the decentralized web we want and love. And it has other bad sides. User spying, ads. Would you like ads in the room? Why do you want it if you like ads? You lie. And other problems. This is a vicious circle. The more it has videos, the more users go to YouTube first. And if YouTube is the most viewed site for videos, users go first here. And video makers come here first. So, vicious circle. We need to break that circle. I'm French, so excuse my accent. If you want to have an alternative to YouTube, to host an alternative to YouTube, you have two big issues. First, you need to have a lot of disk space. It costs a lot of storage. And then, the bandwidth. I think I have read that YouTube used 27% of worldwide bandwidth in a year. It was in 2015, I think. So, do you want to pay the cost for that bandwidth? You may want, but you don't have the money. Here, it would cost a lot, lot, lot, lot, lot, lot, lot, lot of money. We have, in the Floss community, we have video hosting software. But if it serves the storage program, because you only host your own videos or videos of your friends or whatever, if you have a video that goes viral, you have the bandwidth problem. You don't have the YouTube infrastructure to serve a lot of people at the same time. And there's another problem. You won't be discovered through... Excuse me, it's very complicated to say it even in French. Serendipidity. What is serendipidity? It's when you go to Wikipedia and look for whatever, YouTube or cats, and you end with on the page of a medieval history of friends. Oh, first I was here. Now I'm here. I learn a lot of things, but... Oh, did I go here? Because it speaks about... YouTube is quite a medieval system. There is the Lord of the Castle, Google. And we are the servants of the Lord of the Castle. So whatever. You don't have the serendipidity in your own hosting software because you host your own videos and the videos of your friends, obviously. But there is not an recommendation algorithm. It's like when you go on a video on YouTube about cats. You like cats? You may want to watch these videos with cats. So you don't have that. But there is a new hope. So let me introduce PeerTube. It's a self-hosting video platform. The servers are federated through ActivityPub. Comments and likes are federated through ActivityPub too. And it uses web to run to see the video. I explain each point. The history of PeerTube began a long, long time ago. In a country not so far away because we're in Belgium and France is not so far, it began to cut an alternative to YouTube based on web to run. So PeerTube, like to peer-to-peer and tube. It began two years ago. It developed it on its free time for two years, slowly like everybody does when it does things on its free time. And in October 2017, from a software which is a non-profit organization which is my boss, hired him for four months to work full-time on PeerTube because from a software believe in PeerTube. We saw the potential of PeerTube and it needed to cut faster. We need to have a free working platform quicker. So we hired him. From the beginning, Chacobos wanted two things. He wanted to federate the server. So you can have the serendipity since the video of one platform are available on the other server. And he wanted to share the bandwidth between the watchers of videos. So with that, you cut the two money problems. But you have to know that it changed a lot of things through the two years of developing PeerTube. It began with GQuery. Now it's Angular 5, transpiled from TypeScript to Forza Frontend. At the beginning it was your whole plain Node.js JavaScript. Now you use TypeScript 2. MongoDB. I won't say anything about MongoDB. Don't like. 2.grSQL, which is a great, great, great, great database and from Electron to Webside for seeding the videos. Why Electron on the server? Because he used WebRTC and only browsers provide WebRTC API. So he had to use an external process and Electron had less Electron to seed the video. And finally, the federation protocol, which was developed for PeerTube only, so PeerTube can talk to PeerTube and PeerTube only. And now it uses ActivityPub, which means that anything that talks any ActivityPub can talk to PeerTube. So for the federation, server federation, it's quite like Twitter. Server A can follow server B through ActivityPub. Twitter, Mastodon. You know what I mean. It indexes the video of server B and displays them on its own homepage. So it indexes the video by fetching the metadata of the video, description, likes, commands, and so on. Then it builds its index. And you can watch the video of the B server from the interface of the A server. That's quite cool, isn't it? But they still are streamed from the B server. It's like the A server is just a proxy. The interface is just a proxy. It's embedded. We'll go on that later. For the command like, dislike federation, the user on server A can command like, dislike a video from another server B. The action can be pushed over ActivityPub to the B server and then replicated if the C server, which follows the B server as the same video, it got the update of the like, dislike, and commands. And since it's ActivityPub aware, since it's ActivityPub, any ActivityPub aware software can talk with PeerTube. And Mastodon right now can do that. It may require some developments since Mastodon has to to implement the video, I'm not the developer, so I don't know all the technical details, but a little bit of code, and it worked. You can go to fromadotlink-peertube-mastodon to see it in action. Somebody on Mastodon can subscribe to a video maker on PeerTube. When the video maker publish a new video, there is a toot in Mastodon that says, hey, a new video here. And the Mastodon user can comment from Mastodon. It's awesome. Go here if you don't believe me. But I find a lot lack of face disturbing. So now, the PeerTube viewers side of PeerTube, each time you're viewing a video, you're seeing it just like veterans. You're not only seeing something, you're seeing it here. You're viewing, you're seeing. So if a video goes viral, the more people are watching the video, the more seeders there are. So I'm sure it may help a little bit from the bandwidth issue. One thing that will make Network Administrator happy is that you will find seeders more close to you from a network point of view. You will reduce the traffic and jigs are big hub of Internet and this is exchange point. And if you don't have to go to an exchange point to view this video because there are seeders right next to you, your neighbor, it will reduce the traffic on it. It's a good thing for the network. PeerTube is currently in Alpha stage, but we should have a beta version by the end of March. Maybe mid-March, I don't know, ask him. And there is already a lot of cool features in it. Some fellow-rated videos with tags, categories, likes. Abuse on video. If you are hosting a video platform, you may want, you will want to have an abuse system. Here, this video is copyrighted or something illegal. And you have to have a system to call the administrator and tell it's bad. Please remove it. And in a federation, it's complicated. You will not ask every administrator of every server from server that's following the original instance to say, please remove it. No, you remove once. It's removed everywhere. The user can register, remove the account. Cool feature. Be limited with the discota. So you can open your instance. Say, hey, everybody, come here. But you will have Android Mega. Roles, admin, moderator, user. For now, maybe in the future, we will have more roles if there is a need. Mastodon user will be quite... Mastodon user know that system, not that for work. Here, it's called explicit content. So you can flag a video saying it's explicit content. You don't show the video on the front page or you hide it. You have to take an action to actually display it. And more. I don't know them because I'm not the developer. And there is a lot of future developments, features that will eventually come. Subtitles would be cool. A recommendation algorithm, better than YouTube, but there was a story of someone who had to watch a video about alt-right month-month or just Republican Party, I don't remember. And the recommendation algorithm of YouTube said, hey, you may like that. You may like that. The more video she watched, the more alt-right she goes. So maybe a better recommendation algorithm. Just suggest more and more cuts. And maybe kittens. Upload a video from a URL or a torrent file because for now you just have to upload multiple servers. And you want to share the bandwidth from all these murals because for now the first seeder of a video is only the server where the video is. So video mirroring equals more seeders from the beginning. An RSS feed. And more. Even the developer doesn't know how much feature people want. I'm sure he's watching his GitHub issue list and say, oh, oh, oh, that. So, one map. Not just for YouTube. But I think a good alternative to YouTube is already a good one map. But is still a lot of work? Will you help? Go to github.com. Go to github.com. Free Z. Come to the rock slide. You can download the slides from adult links. Do you have any questions? Yes. Talk to me. Don't be afraid. Yes, I'll say. So what happened if the video is on B server and you're on an E server that follows the B server and you want to watch the video from the E interface, you want to watch the video from the B server. What happened if the video has been deleted on the B server? For now, you're screwed. But with video mirroring, it may have a cache. But if the video is deleted on the B server, if it's a censorship problem because if the video maker decided to delete the video, it's a problem. If the admin of the instance deleted the video because it was an illegal video or whatever, it's another problem. For censorship, with the video mirroring system, you may still have the video. But the video mirroring is not ready yet. But we hope to have it. It's in the roadmap. It's a feature that has a high probability. First of all, thank you so much for being so awesome. And really seriously, PharmaSoft is just... And thank you in person for translating some of my articles into French. That means a lot to us. But the question, which platforms are the videos supported on? Because I couldn't run it on iOS and Mac right now. Is that a codec issue or...? Safari is right now not compatible with YouTube. You may want to use a modern web browser. It's... We have to wait for Safari to implement features that are not available yet. I think the problem is the same for Edge, maybe. Does it work? Okay, Edge. Who cares, yeah. It's a plan to have different policies for the different servers. Do they want to accept some videos on some servers? Are they pre-approved videos? It's quite like the same problem for the same thing than on Mastodon instance. You may want to have an instance just for cats, for everyone, just for dogs, whatever. It's the administrator of the instance that tells the policy. For the federation, if the A server follows the B server, the A server has a video of everything. The B server only has a video of cats. And you may think why video of cats, why video of B server, which is cats only, you can see them on the A server. Well, it's the federation. But you can blacklist a server. You can say, no, you won't follow me. You won't follow my server. And so you can keep your server private, semi-private, not in the federation. And you can, either the administrator of the instance choose who to follow. If you want to have only cats video on your server, the administrator will only follow the instance of cats video of the server. So does it answer your question? Not sure. Can anybody near me can repeat the question because he doesn't have another mic now? You can. Another format. In the future. You said that basically the first seeder is only the server on which the video was first uploaded. Well, except for mirrors in the future, etc. So if a server with a large storage space comes up and have one viewer per video, which means a lot of videos, it will probably bring the server to its knees, right? Yeah, you will have the bandwidth problem. And I don't know about the RAM or CPU which use when it seeds. Don't know the performance. He said it's small. So it may work. But if you have a billion video and billion people, one people on each video, you have to test it. Wouldn't that be a way to bring down a server maliciously? If you have a large server and you open one connection per video after browsing it, you're pretty much sure you will hit a lot of videos that were not sitting at the moments. The developer said... Thanks. Just... we may want to... we may test it, launch test instance, but right now it's on the Alpha, and before that we want a thing that works. So my question would be, I think it's really important that we get good performance in terms of streaming videos. If it's too slow, people won't use it. What if I'm a user on a federation server and I would like to help it with storage and bandwidth? So even when I'm not watching videos or I'm watching other videos than other people, I would still like to donate my storage and bandwidth to those people. Can I do that? Almost. You choose web torrents and some torrents, softwares are issues to implement web torrents. A web torrent is not like the bit torrent protocol exactly, so it has to be adapted. And in the future, you may be able to launch transmission or deluge or whatever and download the file and seed the file like any other torrents. But we have to wait for torrents of softwares to implement web torrents. Time is up.