• 1 Post
  • 96 Comments
Joined 3 years ago
cake
Cake day: November 8th, 2021

help-circle















  • You are correct. Nearly all youtube channels can be fully served off a single laptop. 260 concurrent streams at 1080p 3mbps is achievable over gigabit ethernet. Very few channels exceed this for any appreciable amount of time. And in those cases we can leverage a very small amount of the client’s ressources to further propagate the stream. This can be done with repurposed bittorrent dht. Now all we need is federated RSS and a locally running content curation algorithm and a social review system (like buttons and reputation history)



  • The main limitation is the 1 gigabit network. It can push out 260 3megabit streams or 50 15megabit streams at the most.

    That’s already an enormous amount of concurrent viewers that covers 99% of content on youtube.

    To achieve this, you can’t be wasting processing power anywhere, a straight copy to network from pre encoded files, no live transcoding.

    No scripting, no encryption either. If you really need that, which you almost certainly don’t, then install a recerse proxy on your openwrt router.

    Now, if you want to scale, which almost no video really needs, then you’ll send the client a script. The client is a source of inifinite scaling, compute and bandwidth.

    Each client just needs to rebroadcast two streams of the file.

    As excess clients connect, you tell them to get the stream from the stun/turn server. This punches through both sides of the nat. And puts two clients in communication. First client sends its copies of the received stream chunks, with preference from the beginning of the file. One client can get the stream from multiple other client and once it has a few stream chunks in the cache it can serve them to new clients.

    It doesn’t take many doublings before you have more bandwidth than the whole internet. All the logic for organisation, hash checking, stream block ordering etc etc is a small text file from the server, signed by the server’s certificate. It runs entirely inside the client’s browser.