• 59 Posts
  • 2.03K Comments
Joined 3 years ago
cake
Cake day: September 1st, 2023

help-circle


  • I’m not sure you’re aware, but peertube also federates videos. Instances can choose to federate the metadata and the data too. That means if one instance goes down, there’s a chance the data will be available on another peertube instance. Furthermore, as I said, using webtorrents will allow alternative clients (like qBittorrent) to store copies of the data. That’s why I brought up (maybe in another comment) tools written around that which could, independently or with coordination from an instance, download and see the X “hottest” videos of the day, most viewed videos of interval Y, or whatever else.

    Regarding torrents solving the storage problem: it’s possible. The main instance where the video is uploaded to will still have to keep the primary copy of the video and all the different resolutions. You can’t just upload the video, make a torrent, and then delete the content. It will have to be distributed to be kept redundant. And if the primary copy is deleted without any redundancy, you will have a problem. You could hope that all federated instances copy the data and that many do-gooders (probably archivists) decide to seed every video of every instance out there, but I think it’s more likely that popular videos will be seeded and obscure videos only exist once on one instance.

    One could imagine the main instance deleting the content after a certain seed threshold has been reached (e.g 500 seeders have 100% of the file), but that could be easily abused: somebody wants to take down a video and controls a few hundred IPs --> tell the instance you have 100% of the file, instance deletes video --> video is gone. So, again, I don’t think it solves the storage problem. Federation could though. If instances have a max number of users they accept, users would have to spread out across instances and thus distribute the storage requirements.


    In any case, webtorrents would improve the current situation. Right now in order to duplicate a video and contribute bandwidth, you must run an entire peertube instance. It’s simply the “easiest” way to do so. Nobody, to my knowledge, has successfully written a minimal client that just communicates with instances and downloads, then hosts the video files and makes itself aware to instances as another instance (though stripped down).
    Webtorrents would allow somebody to just grab the torrent file (or magnet link) paste it into qbittorrent, and be part of the swarm without having to go through weird hoops or run an entire instance.







  • Webtorrents are torrents that run in the browser. From my understanding, they have all the features of torrents except that they run in WebRTC (because browsers don’t directly speak torrent). If they do, then requesting specific chunks of torrents should be possible. Therefore, it should be possible to have torrents by resolution.

    There could be preferences per user / per session to allow customisation of the seeding preferences with reasonable defaults depending on network speed.

    As for hard drive space, it probably won’t be an issue. Users can selectively seed what they want by using qBittorrent which supports WebTorrent. If there were thus a webtorrent solution, tools could also be written to download and seed videos depending on preferences e.g most watched videos, least watched videos, hottest videos in last 24 hours, maybe even a protocol where the server dynamically requests seeders depending on which video is being streamed by users, and so on and so forth.

    WebTorrents in peertube could really change the video distribution game altogether.