Federation feature explained

Hi. I am relatively new to PeerTube. It’s an interesting project for self-hosting video platforms. Especially the remote runners feature for transcoding videos remotely is a nice feature. I am now running a PeerTube instance myself on my own server at home for about a month or so, but as a “standalone” instance. However I seem not to understand the purpose of the federation feature at all, so I hope someone can enlighten me please.

As far as I see, a PeerTube instance (let’s call it instance A) can follow another PeerTube instance (instance B). Instance A will then show all own videos and additionally all videos from instance B. But it looks like PeerTube does not make it obviously clear where a video is actually hosted. If a user goes to instance A, then from his point of view it looks like instance A is hosting all videos and all users are registered on instance A - especially from the point of view of 99% of regular users, who never even heard about “PeerTube” and may think that the website is just another video platform. There is no indication, no redirection, nothing. PeerTube is only showing a tiny little info “Origin: [link]” under the video, but clicking on it doesn’t redirect the user to that other PeerTube instance. Instead the user stays on the same website and simply gets an overview of all the user’s videos - again, similar like on YouTube, when you click on someone’s name to go to their channel and get a list of their views, but in case of PeerTube the user stays on the same instance. In fact, I didn’t found a single link allowing a user to go to someone else’s instance.

Is my understanding correct so far or did I horribly missed something? I don’t want to sound pessimistic, but how is that fair? If one huge PeerTube instance lists many videos from multiple other PeerTube instances, then users will have no incentive to go to other websites / PeerTube instances anymore, since they already have all videos in one place, am I right? This one big instance profits from other videos without having the burden to host these videos or pay for the storage or the traffic. The servers who are actually hosting the videos become just faceless data providers, because their videos are remotely integrated into another website’s interface, which pretends to be hosting the foreign videos. If this is how the federation feature works, than it combines all the worst disadvantages, compared to other video platforms, like YouTube (they are also centralizing videos on the internet, but at least they are paying for their own servers and hosting everything themself). Especially for PeerTube, I assume that most PeerTube instances are being operated by schools, companies or mostly normal people at home, who have barely enough resources to host their own instance.

Wouldn’t it be much more fair to simply redirect users to other PeerTube instances, depending on which video they click? For example if a user clicks on instance A’s video, he stays on the same website, but if he clicks on a video which is hosted on instance B, he will be redirected to the website / server of instance B to watch it there.

Sorry, I really do not want to bash on PeerTube. The project itself is great, but I am either missing something here or I really do not see the benefit or purpose of the federation feature as it is implemented currently. Or let me ask it differently: Why should I go to individual PeerTube instances, if I can just stay on the biggest one and watch all videos there? :thinking:

Hope this doesn’t come across as insensitive because i’m really just trying to explain, but a lot of users have another point of view and other priorities which explain the choices made in how Peertube works. (If anybody wants to correct me, please join in)

For a lot of users, having more available videos without switching websites is a plus.

Peertube really strays away from the point of view that traffic is the reward and so this completely goes against the YouTube model. Traffic is also a cost. Note that view counts are still compiled though.

It really is sharing as you’re providing without the intention to necessarily get something (like traffic) from it.

Peertube does favor attribution to the original source, maybe not as easily. Maybe that could be improved.

But I guess the platform is really user-centric. Less uploader-centric. So it might seem less fair to the uploader, but the goal is to be fairer to the viewer. Although, you should notice that it allows a video to profit from other instances’ resources with replication. Redirecting to other instances implies that instance has the resources to serve all its viewers which might not be the case.

To answer your last question, the goal is for you to be able to stay on the same instance.

Hope this doesn’t come across as insensitive because i’m really just trying to explain

No, everything is fine. You’re welcome. I’m not a snowflake. :wink:

a lot of users have another point of view and other priorities which explain the choices made in how Peertube works

Having a different opinion is absolutely fine, but I am not interested in personal opinions or preferences. I am talking about objective points - in this case the disadvantages for the creators / hosters of videos.

Peertube really strays away from the point of view that traffic is the reward and so this completely goes against the YouTube model.

Ok, two problems here: I am not talking about rewards, views, subscribers, likes or anything like that, which you can usually find on other platforms, especially social media. I am talking about the resources, which people, who are hosting their videos, have to carry alone, while other instances silently profit from it. That is actually worse performance-wise, compared to YouTube.

And I would say that from the point of view of the users, PeerTube does actually works very similar like YouTube. That’s exactly what I am trying to point out here. YouTube aggregates all videos on one platform. The federation feature in PeerTube has a very similar effect: It allows one or a few huge instances to aggregate many videos from other instances. So from the users point of view (especially people who don’t know what PeerTube or federation is), it looks like one big video platform. Like YouTube.

Peertube does favor attribution to the original source, maybe not as easily. Maybe that could be improved.

Well, it really doesn’t. It neither redirects the viewer to the original source, nor does it mentions the original source. In fact, beside a tiny small icon without any description (the text right next to it is a different link, which links internally on the same instance), there is no mention whatsoever about the original source. And I think that it should be improved. Right now the entire benefit goes to the viewers, while the people who are creating the videos have the entire burden of hosting, paying and maintaining for everything without getting a proper attribution. The reason why I am saying that this is less of my personal opinion, but (I think) more of an objective fact, is because PeerTube isn’t really widely known. The project cannot really grow, if it is basically entirely dependend on the people who are creating and hosting videos, if the very same people then have also the burden of hosting and paying for everything (unlike with, for example, YouTube, where everything is completely free). And if on top of that the same people won’t even get a proper recognition, then this won’t motivate a lot of them to use PeerTube and hosting their own videos (or at least not with active federation feature).

But I guess the platform is really user-centric. Less uploader-centric.

Yes, I agree. But the problem here, again, is that if the entire load is on the uploaders and they have a much worse situation than on other platforms, then I don’t really think it’s a well-thought-out plan in the end. Except PeerTube is intentionally designed to remain a small, niche software and there is no incentive to drive more people towards the project, then my critique becomes irrelevant here. :sweat_smile:

Although, you should notice that it allows a video to profit from other instances’ resources with replication.

As far as I understand, PeerTube does not replicate video data. It uses P2P to share data between concurrent watching users, which… well, requires concurrent watching users. Something that almost never happens, because there are not many people using PeerTube instances in the first place. In almost all cases there is only one person watching a video and so this feature remains completely unused. I tested it myself, by going to some big instances and watching videos there - I was almost always the only one currently watching a video. In fact - the constant replication of meta data could be probably causing even more load over time than what P2P is saving in practice.

Redirecting to other instances implies that instance has the resources to serve all its viewers which might not be the case.

What? The instance, where the videos are being hosted, is always the one who is serving the data, even if the user watches a video from another instance. It’s not like different instances are replicating the video data. Also the Peer-to-Peer feature doesn’t work like that, as far as I know. Again, it doesn’t matter from where people are watching a video - it’s always the server, which hosts the videos, who is serving the data, so the entire load always rests on the original server. The P2P feature is not dependent on multiple instances and it works even if all people are watching videos on the original server. The resource load does not increase with the growing amount of concurrent viewers, since the viewers are sharing the video data chunks between each other instead of loading it from the server. Or did I misunderstood the concept? :thinking:

To answer your last question, the goal is for you to be able to stay on the same instance.

That’s fine. I just think that outsourcing everything to the hosters while at the same time not giving them anything in return, not even just redirecting to their own instances, isn’t really fair and won’t be really helping this project growing. I personally have switched from YouTube to PeerTube because I wanted more freedome and independence, but objectively speaking PeerTube isn’t really offering any advantages to people who are making videos, compared to other platforms. A simple redirection would be fair and it would make PeerTube in fact more decentralized then aggregating all videos on just a few huge instances, similar like YouTube or other video platforms. But that’s just my opinion. I’ll keep using PeerTube as a standalone instance, because it works great as such, but I don’t think that using the federation feature has any benefits, to be honest. At least from a technical standpoint it has nothing to do with the P2P feature or other benefits and doesn’t reduces the load on servers anyway, as far as I understand