I recently found the peertube and its technology is very nice. You could deliver video using p2p torrent like streaming if there are more than 1 user watching it. For me it looks like the hosting provider gets a huge savings in terms of bandwidth. But I don't see many companies making use of this technology.<p>I think Bitchute is using p2p to deliver videos, or is it, really?
I have some experience with large-scale CDN I've cofounded some years ago.
The short answer is - the perceived benefits you'd receive doesn't match the decrease in quality of service. So the economics doesn't work.
Content distribution is widely skewed towards 1% of content makes 90% of traffic nodes so the cases that p2p may work for very popular content but the long tail is not easily cached/served. Try to watch/download a torrent file with small number of seeders and you'll get the experience you will be providing for the end user. Also internet networking is tricky and connectivity in different parts of the world can differ widely. South America or Asia have almost none of the peering hubs infrastructure that is available in Europe.
(I've cofounded a CDN company and have some knowledge of the market)
I don't know about other countries, but in China, almost all major video hosting companies (including both PGC and UGC contents) are using P2P technologies to save bandwidth.<p>Live streaming p2p is the easy one. Live streaming content is very skewed: top 1% streams can cover majority of the bandwidth, the top room can easily have tens of thousands of users, so p2p helps a lot.<p>Video-on-demand is harder. But now there's also many "seed boxes" out in the market: it's basically a custom home router with a big disk, users buy it and put it in their home as a regular wireless router, but in the background it would automatically connect to server, cache videos and serve the videos to other peers. The user may get some bonus from it (mostly digital points). Essentially, these companies are buying users' home internet as CDN edge nodes.<p>But in either way, P2P is used to save some bandwidth (cost), but the performance would almost always be worse. There would always be traditional CDN as a fallback.<p>Some possible reasons why it's more popular in china: 1. there's lots of people here; 2. users don't care about their privacy much<p>(I worked on this area in one of the largest video hosting company in china)
> Why aren't we see many video hosting companies adopt peertube or P2P?<p>Case Study: Bit Torrent [0]<p>Bit torrent is a <i>brilliant</i> idea - allows everyone who has part(s) of a file to contribute to the pool of availability so that any given central server/mirror isn't overwhelmed<p>And it has its place (eg in file sharing)<p>But for <i>streaming</i>? Not so much<p>Say you're getting the "next chunk" (whatever 'chunksize' is in this context) from me, and I go offline (it's the end of my day, need to reboot for updates, any of myriad reasons). Where does the next bit of the video come from <i>in a way that is seamless to the viewer</i>?<p>That is the fundamental problem of shared/p2p streaming protocols - everytime the host of the current/next blob o' data goes offline, you need to waste time finding a replacement<p>Even if the replacement can be found "quickly", how do you ensure <i>they</i> don't go offline in the middle of streaming? How do you ensure "enough" copies of every chunk are distributed that it, effectively, 'doesn't matter' how many go offline [at once], it will still stream?<p>--------------<p>[0] <a href="https://en.wikipedia.org/wiki/BitTorrent" rel="nofollow">https://en.wikipedia.org/wiki/BitTorrent</a>
If I recall correctly the famous 1% rule (not that one) but rather[1] was the topic of a recent article (which I cannot now find but am hoping will randomly come into my memory at 2 AM and/or someone will correct me on) where the author gave some pretty convincing evidence that this kind of behaviour (the tendancy for _most_ people on the internet, 90%, to only consume content) also extends to open source ecosystems. I believe Matrix was given as one example.<p>Essentially no one wants to host and run the infrastructure for these things, only the "diehards" do. This is akin to how only the "diehards" produce content on Wikipedia, or YouTube. Remember, this is relative to the volume of people who only consume that content.<p>It's the same in P2P e.g. Bittorrent. The count of seeders (those who have the content and are uploading it to peers who need to download it) is almost always lower than leechers (those who are only downloading).<p>This is exacerbated with Peertube because video files are big, require a lot of bandwidth, and someone has to pay for that. If there is a set of diehards who love running Matrix or IRC (think other smaller networks not just Libera) or what have you then how many of that already small set can meaningfully afford to run a Peertube instance capable of serving a momentus volume of video traffic?<p>I wish it wasn't so but it is.<p>[1]: <a href="https://en.wikipedia.org/wiki/1%25_rule_(Internet_culture)" rel="nofollow">https://en.wikipedia.org/wiki/1%25_rule_(Internet_culture)</a>
<i>>For me it looks like the hosting provider gets a huge savings in terms of bandwidth.</i><p>The constraint on wide adoption is literally the quantity of "peers" in both Peertube and peer-2-peer.<p>The underlying human incentives are not there for most people to host a peer node. This limitation applies to all types of digital domains including videos, or files (IPFS or bittorrent), or crypto (Bitcoin/Ethereum peer node).<p>Let's follow the trail of incentives for one Peertube node:<p>- see list of Peertube instances: <a href="https://joinpeertube.org/instances#instances-list" rel="nofollow">https://joinpeertube.org/instances#instances-list</a><p>- I pick the 2nd one on the list: <a href="https://the.jokertv.eu/about/instance" rel="nofollow">https://the.jokertv.eu/about/instance</a><p>- in that instance's "About" page, it says: <i>How we will pay for keeping our instance running -- personal funds. If you feel like donating, put up your own instance instead and host some creators you find interesting. </i><p>Companies can't build a Youtube/TikTok competitor based on examples like that. Same forces of economic incentives that limits quantity of IPFS peers which means businesses can't use it to replace Cloudflare CDN or AWS S3 buckets.<p>It should be understandable why most people aren't willing to spend personal funds on hosting home nodes so businesses can freeload off of p2p and save money on bandwidth.
Having previously looked at peertube, the problem is it's hard to make money out of it -- because of the p2p technology, it's hard to have control of your videos, put adverts in, track users, etc.<p>While peertube saves one big pile of money (the streaming costs), it makes it significantly harder to make any money. Videos are expensive to make, so generally creators want a wide audience, and ways to monetise that audience.
Peertube is the opposite of centralized video hosting; it's a federation of nodes.<p>A video hosting company needs to hold all the videos hostage so they can make money somehow, like via ads. Plus the ability to control content: the videos themselves (e.g. be able to censor or delete them), and other content like user accounts, comments and whatnot.<p>This is like asking, why doesn't Reddit just operate as a Usenet gateway with a Web UI?
> Why aren't we see many video hosting companies adopt peertube or P2P?<p>For the same reason we don't see many video hosting companies, period: YouTube. It eats the entire space for reasons that are entirely unrelated to the pros and cons of p2p. For hypothetical competitors that means solving their biggest issue – gaining users over YouTube – can also not be done by going p2p (but it might of course still be part of their hypothetical tech stack for other reasons).
A simple problem with adopting P2P streaming of videos is more in a logistical sphere than a technical. Often in a YouTube video and Twitch stream, there is a sponsor who is paying money for these videos. And these videos need to have some form of analytics or telemetry to see just how many people are watching. If I host the video and you host the video and Bob hosts the video, how am I going to get the view details so that I can calculate the CPM and get paid by my sponsor? The other logistical problem is that these instances just aren't where the viewers are. YouTube is a giant behemoth because they built a place where people can upload their own videos and viewers have a centralized place to watch them. It became so much simplier to tell someone to search a channel on YT than to give them a web address, install a new client (if necessary), and then pray that there are enough seeders so the viewer can watch. And to do that for all twenty (more or less) channels I subscribe to on YT? No thanks. One more logistical problem is more on the technical end of things, but it's still a problem. Let's say that we do make a good go of P2P streaming. By it's own nature, you need to store videos on the device to watch. My FireTV Stick doesn't have that much disk space. And the processor on many streaming devices aren't exactly all that powerful, so running a node in the background isn't in the cards for these devices. One could argue that we could just have a small NAS on our network that could do all the heavy lifting and just send the videos to the streaming device, but have you ever told someone who isn't technically minded that they need to do that to watch your cooking videos? I work in tech sales, and it's a nightmare to tell some people that they need to install software to setup their printers. I'm not going to tell them to set up and additional device for their streaming.<p>My two cents.
I am working on a point to point media tool right now and it’s super challenging to get right. There is no server. There are just peers.<p>Client/server is very easy, because there is a centralized common point of access that manages everything. In a serverless model you have to connect via identity that has no fixed address.
It doesn't provide guarantees enough to give a good experience.<p>Basically it requires enough people with enough bandwidth to stream data to you. Not only that but those peers need to ideally be near you so that they can react quick enough to overcome packet loss.<p>So you have a choice as a provider, maintain a fast autoscale peer list(expensive), or force long pre-caching to make up for uncertain peer reliability(bad experience and or expensive).<p>P2P is not a good platform for providing realtime high bandwidth services, <i>unless</i> there is strong incentive to keep your peer running for as long as possible. with video, you're going to close it as soon as you've finished watching. for an hour long movie, thats fine, for a 30 second clip, its terrible.
I have thought a bit about this myself (although others here seem to know a lot more) so Ill give my 2 cents:
- it already works w/o P2P, Youtube has worked pretty well for 15+ years as client-server. If you have Google scale, it wouldn't make sense not to use it
- Installing software is a harder onboarding than opening a website (I think you'd need more than a browser for this?)
- security implications of P2P?
- the biggest one for me: Ignoring internet technology concerns, its an extremely hard distributed systems problem with Byzantine concerns, nodes coming and going at any time, where to store unpopular videos?<p>I hadn't even thought about the telemetry concerns (how do you sell ads efficiently?).
I've been putting some stuff on PeerTube to see how well it holds up. (Utterly boring Metaverse client content downloading performance test.[1]) I use it mostly for videos linked from forums, so there's a separation between finding and streaming. So far, no problems. The question is how long such content will stay up.<p>No ads. That's the big advantage over YouTube now. And it beats paying Vimeo to host obscure technical videos.<p>[1] <a href="https://video.hardlimit.com/w/qBGD9LF8Ua3T7gLPCkE6vw" rel="nofollow">https://video.hardlimit.com/w/qBGD9LF8Ua3T7gLPCkE6vw</a>
A vast portion of these comment threads are full of people blatantly ignoring two things:<p>1) The US and vast swaths of the world have metered internet connections. The benefits of P2P for your bottom line will be short lived as customers abandon you for bloating their data usage without their permission.<p>2) Those lower costs will never be passed down to consumers by companies. I don’t know how or why you seem to think this time will be different.<p>I’m inclined to feel there’s some Web3 Not-Quite-Astro-Turfing going on here. The refusal to see either of those terribly obvious points feels super fake.
This has been tried. The first incarnation of BBC iPlayer was P2P, and I think there may still be a desktop version that allows you to save shows offline for 30 days that works via P2P.<p>The problem is that in most of the world, consumer internet connections are highly asymmetric, and people have terrible uplinks. Thus there often won't be enough bandwidth available for streaming, and furthermore those providing the bandwidth will find their general browsing experience degraded due to uplink saturation.
Because <i>companies</i> don't need to and scale eats everything. Unfortunately, we're in such a winner-take-all environment that anyone hoping to compete with YouTube is starting at a huge loss.<p>If Peertube takes off (and I hope it does) it would likely be on the back of something that's expressly anti-status-quo. (Which doesn't mean it couldn't be a company per se, but I feel like would have to wear "We are the anti-Youtube" on its sleeve.)
The average streaming client device cannot store enough video to meaningfully participate in peer to peer.<p>The average internet connection (at least in the US) doesn't have enough upload bandwidth modulo level of service to meaningfully participate in streaming peer to peer.<p>Watching video on a mobile phone is probably the median streaming use case.
VUDU used to do this with their hardware box - you’d buy a movie to stream and would download it from them + peers that also had it already, and then you’d be seeding it as well.<p>I couldn’t tell from a quick Google if the modern VUDU service still does anything P2P, but the service is still around running on all sorts of platforms.
Not an expert on networking infrastructure. But I believe this is due to scalability bottlenecks, like Bandwidth.<p>P2P infrastructure is usually run on hardware designed for personal use.<p>I think to see real adoption of P2P technology, one has to make it work better and cheaper than the current existing cloud infrastructure.
Aside from the technical discussions there is a legal thing: If peers upload the stream they might be liable for copyright issues. Downloading often has different legal impact from uploading and judging legality of stream content is hard.
My internet is a gigabit down and like 30mbit (or maybe 15mb?) up. I really don’t want that upload bandwidth being used by some p2p thing unless it is a torrent seed I specifically allow.<p>I would never want some random hypothetical YouTube / peertube / Spotify users hogging my precious upload bandwidth. I need that tiny slice of upload for backups, conference calls, and gaming.<p>My friend, however, lived in an area that offered fully symmetrical gigabit fiber internet. Dirt cheap too ($60/mo). We’d use his Plex server all the time to stream HD or even 4K content right from a PC in his office. It was awesome!
It has nothing to do with the technical problems (bandwidth, etc). It has everything to do with the legal problems of video hosting and the legal liabilities it sets up. This problem of p2p video streaming has been successfully technically solved a dozen different times. Whenever these solutions become popular enough they are attacked legally and decline.
6 years ago, I used to work at a p2p video CDN company, that have since then been bought by Level 3 (now Lumen), and is now part of their product offering[1].<p>Using p2p to offset bandwidth cost is a really cool idea, but it doesn't come without difficulties:<p>- WebRTS doesn't work everywhere: for this kind of thing you really don't want to use a TURN server, and only work with true p2p. This means you can't use it for users behind a symmetric NAT.<p>- `libwebrtc` (Google's implementations, used by Chrome and derivatives and also by Firefox) performs very poorly when there's a big number of open connection (I don't remember why, but you couldn't expect to maintain more than a dozen of connection on a laptop before having CPU load issue and dropped frames. This is probably an implementation issue, but Chrome's team were uninterested in investigating it). This means you can only be connected to a small pool of peers at any given time.<p>- Probably related to the previous point, it drains a lot of battery on mobile devices.<p>- Adaptive Bit Rate make things complex, since the user will switch tracks at random point, meaning they will need to be grouped with a different pool of peers. (since you cannot maintain a big group of peers, from different tracks at all time).<p>- it doesn't works that well on VoD: for new videos gathering many people at the same time it works really well, but for the long tail of old videos you're often the only one watching it at any given time. Unless you're Youtube scale indeed.<p>- it works better in live streaming, since everyone is indeed watching the same thing, but to maximize p2p efficiency you have to ad some latency (to have a bigger video buffer to work with), this isn't acceptable in every situation (sport events broadcaster don't like that at all for instance).<p>- to work well (especially regarding ABR, and live-streaming) you need your system to be quite tightly integrated to the video player. Polyfilling XHR/fetch with your own library isn't good enough (or competitors were doing so, and their product was less efficient for that reason). And surprisingly enough, there are (or at least there were) a <i>ton</i> of custom video players: many companies forked dash.js or hls.js and customized it, sometimes quite heavily.<p>- there's a serious privacy issue: the peers you're connected to know what video you're watching right now, and can identify you thanks to your IP address. Maybe this isn't too big of a deal when watching mainstream stuff, but for things like porn it can be a bit touchy…<p>[1]: <a href="https://www.lumen.com/en-us/edge-computing/mesh-delivery.html" rel="nofollow">https://www.lumen.com/en-us/edge-computing/mesh-delivery.htm...</a>
Bitchute doesn't use P2P, but it's a HUGE part of their marketing. Their target demographic is technically illiterate so don't know any different, which really actually is a huge problem in general.<p>How many people fall for the latest buzzwords (like 'web3') without having the first clue what it is? Even investors aren't immune.
Here's a short version:<p>Joost, backed by the founders of Kazaa & Skype, tried this starting in 2007. It failed, YouTube and other streaming approaches won.<p>Some of that was content, but some of that was that bandwidth became cheap enough.<p><a href="https://en.wikipedia.org/wiki/Joost" rel="nofollow">https://en.wikipedia.org/wiki/Joost</a>
Asymmetric network connections are common and I imagine ISP networks are also not designed to process large amounts of peer to peer data. So besides the other issues, if this would ever become popular I'd guess the networks would struggle and ISPs would probably raise their prices.
Maybe the companies is some imposible because peertube or other have not DRM systems.<p>But public organizations such as BBC (in UK) or RTVE (in Spain) or France Télévisions or others, they must use this kind of technologies because they are good for opendata, save public money and other good things.
Plenty of good answers in this thread but the primary reason is that bandwidth is really cheap. There’s no reason the risk losing control of the most crucial part of your product offering.
There's a whole host of reasons why you won't want to ever use P2P if you can avoid it, but there's one in particular I'd like to spotlight: privacy.<p>P2P is a privacy nightmare, <i>by design</i>. You are asking everyone who wants to watch your video to also host it, which means that everyone watching the video gets to know the IP address of everyone else who watches that video.<p>Back in the early days of casual online piracy, music companies were happy to be able to sue service operators like Napster and get them shut down. However, when P2P services evolved to distributed-everything, it made it a lot harder to do that[0] since the only thing the service operators did was provide software to connect to their particular swarm protocol.<p>So they just joined the swarm, downloaded their own music, and then sued anyone who sent it back to them.<p>Now, imagine all of the copyright claim and takedown fraud that happens on YouTube, except instead of censoring one creator's video, they start suing the people who watched the video. Yeah, no thanks. Centralized video services have many problems, but legal liability on individual users for using the service as intended is not one of them.<p>Bonus points: given recent GDPR rulings on data exports[1] I would almost surely argue that any P2P swarm violates GDPR, because it turns every viewer of the video into a GDPR data controller, and any US peer in the swarm would constitute a GDPR data export into a privacy-hostile country.<p>[0] Grokster was sued on an "inducement" theory of liability that SCOTUS pinched from patent law, but that relies on the conduct of how the service operators and software providers advertised themselves to users.<p>[1] It is illegal to use Google Fonts on an EU website because of the US CLOUD Act and the fact that any subresource provider gets your IP address when you visit a website they service.