PeerTube uses WebTorrent technology. Each server hosts a torrent tracker and each web browser viewing a video also shares it. This allows to share the load between the server itself and the clients as well as the bandwidth used through P2P technology.
Yes, and it’s incredibly slow and wouldn’t scale to millions of users. If one user is high bandwidth, and another low, you’d have uneven distribution of traffic for a newly connecting user, meaning the entirety of whatever you’re about to watch won’t be completed in time for a good user interaction flow. The issue isn’t whether it’s technically possible or not, but if it’s functional enough for similar traffic as TikTok.
The other issue with torrenting is that a lot of users may incur data charges if the service were to be constantly seeding other users on limited data plans or with data or speed caps in general. It’s just not the right tool for the job.
That’s not how this would have to work though. Even with dedicated seeding instances, the instantiation of a session for a torrent is LONG. Like 5s+ long. A request and response from a CDN is in the milliseconds. Users wouldn’t use a system that takes 5s just for the initial request for a single video, plus the additional time to sort for segments and recombining before it plays. Even in a fast-ish scenario, that’s like 10s alone.
Imagine waiting 10s for a stupid internet video to even start playing to watch some kid dance with a rubber chicken in their pants.
https://en.wikipedia.org/wiki/PeerTube
Yes, and it’s incredibly slow and wouldn’t scale to millions of users. If one user is high bandwidth, and another low, you’d have uneven distribution of traffic for a newly connecting user, meaning the entirety of whatever you’re about to watch won’t be completed in time for a good user interaction flow. The issue isn’t whether it’s technically possible or not, but if it’s functional enough for similar traffic as TikTok.
The other issue with torrenting is that a lot of users may incur data charges if the service were to be constantly seeding other users on limited data plans or with data or speed caps in general. It’s just not the right tool for the job.
It will scale just fine, so long as the ratio of instances:users is similar.
The current ratio of consumers:creators on youtube is 41:1, by my research. A single server of sufficient power could easily serve thousands of users.
That’s not how this would have to work though. Even with dedicated seeding instances, the instantiation of a session for a torrent is LONG. Like 5s+ long. A request and response from a CDN is in the milliseconds. Users wouldn’t use a system that takes 5s just for the initial request for a single video, plus the additional time to sort for segments and recombining before it plays. Even in a fast-ish scenario, that’s like 10s alone.
Imagine waiting 10s for a stupid internet video to even start playing to watch some kid dance with a rubber chicken in their pants.
That’s weird because it works instantly for me.