为什么没有像BitTorrent这样的P2P流媒体协议?

5作者: memet_rush10 个月前原帖
我一直在想,是否有人知道为什么没有适合大规模直播内容的P2P协议,且质量还不错?具体来说,是什么技术限制,还是说大多数人不想被媒体公司的律师搞得一团糟?我搜索了一段时间,找不到能够处理数千人同时直播的解决方案。最接近的可能是WebRTC,但它似乎只能处理大约500个节点。 我在想,现在大多数人至少有30Mbps的上传速度,而1080p的直播只需要大约10Mbps,720p则需要大约5Mbps。我认为直播不一定是实时的,人们肯定不会介意有一定的延迟。我认为在网络中数据包传播的复杂度应该是对数级别的(Log(N)),因为如果一个主节点在分享内容,并且连接了10个从节点,那么这些从节点又连接了其他10个从节点,以此类推。 我能想到的另一个限制是优先处理哪些人先接收数据包,因为有很多人拥有1Gbps或超过10Mbps的连接。同时,还需要降低对“吸血鬼”用户的优先级,以防止他们影响直播质量。 不过,是否有人知道为什么这仍然不是一个现实呢?在网站上找到直播流非常简单,但它们都是360p的,或者几乎无法加载。我看到BitTorrent的原始创造者在十多年前就开始创建类似的东西,但似乎这个项目已经死掉了。而且这还忽略了编写这样一个程序所需的巨大时间投入。我想知道,是否在技术上有可能实现例如10万人同时直播,为什么可以或不可以。 只是一些想法,提前感谢!
查看原文
I&#x27;ve been wondering if anyone knows why there is no P2P protocol for mass live stream content in decent quality? specifically what are the technical limitations or is it mostly that people don&#x27;t want to get destroyed by media company lawyers? I&#x27;ve searched around for a while and i cant find anything like that that can handle thousands of people streaming. The closest is probably Webrtc and that looks like it can only handle 500~ peers.<p>I was thinking most people nowaday have at least 30mbps upload and a 1080p stream only needs ~10mbps and 720p needs ~5ish. Also i think it wouldnt have to be live, people would definitely not mind some amount of lag. I was thinking the big O for packets propagating out in the network should be Log(N) since if a master is sharing the content then is connected to 10 slaves, then those connected to 10 other slaves and so on.<p>The other limitation I could think of is prioritizing who gets the packets first since there&#x27;s a lot of people with 1gbs connections or &gt;10mbps connections. Also deprioritizing leechers to keep it from degrading the stream.<p>Does anyone have knowledge on why it isn&#x27;t a thing still though? it&#x27;s super easy to find streams on websites but they&#x27;re all 360p or barely load. I saw the original creator of bittorrent was creating something like this over 10 years ago and seems to be a dead project. Also this is ignoring the huge time commitment it would take to program something like this. I want to know if this is technically possible to have streams of lets say 100,000 people and why or why not.<p>Just some thoughts, thanks in advance!