4 ms·
Peer to peer non-realtime video distribution has a pretty core fundamental flaw in that users are only seeding when they're watching. Users are likely to stop w
by belthesar 4y ago
Peer to peer non-realtime video distribution has a pretty core fundamental flaw in that users are only seeding when they're watching. Users are likely to stop watching a video if it doesn't interest them, if something else comes up, or more importantly for this conversation, if there's a technical issue that prevents smooth playback.
When a user stops watching for whatever reason, they leave the swarm. If a client has been getting segments from a peer that is close to them, and that user completes watching the video and closes the browser window, that peer goes offline. The player client then needs to find another peer to pull segments from, and hope that the peer can deliver at the same speed. Because most of these player extensions are on top of HLS or DASH, you're not "buffering" in advance very far, so you're sensitive to this bump (this is tunable, and P2P clients generally buffer more segments than those delivered by CDNs exclusively). Whether you can't find a peer with the segments you need, or the peer can't deliver fast enough, or the algo stalls and doesn't fail back to CDN based delivery fast enough, you get a playback stall.
Playback stalls always add frustration, and they're often multiplicative. One stall, you assume there's an internet issue, and it'll be fine. Two stalls, you grow frustrated with the service. Three stalls, you close the window. And now there's another peer dropping out the swarm, causing more interruptions in playback for other users.
IMO, as the tech stands today, P2P video delivery doesn't work super well unless you're setting up a P2P CDN, or have some other mechanism that allows for a peer to more gracefully exit a swarm to avoid stalls and signal to clients to shift before an abrupt exit.
- tpxl 4y agoWhat are your thoughts on Popcorn time? That was quite successful even among non-technical people. Is the difference people were keeping their torrent client (ie PopcornTime) open all the time, providing seeds, which doesn't happen with a webpage that you just close? Is the solution a 'RSS reader', but for P2P videos?
- belthesar 4y agoYou've hit the nail on the head. A set-top box that would keep a torrent active through normal seeding configurations out of band of the client worked wonders, because your ability to participate in the CDN wasn't determined by code you loaded in the player. You also have that it was targeting longer form content (>10min), so even if that was being shipped through these web based P2P clients, a person committed to a TV series or a movie would suffer through slightly more buffer jank. Even then though, your average content viewer has different standards. We're opting for 1080p/4K content over the much more common smaller feeds. Netflix loads the first few segments of even the most esoteric content not in your local ISP cache in 100's of milliseconds, users flit from YouTube video to YouTube video randomly, and scroll TikTok like we used to scroll through the Twitter firehose back in the hey-day of the PopcornTime. More content is consumed on mobile devices than set-top boxes, which brings power and data constraints, both from metered data and with networks that are both highly latency variable and not tuned for upstream bandwidth, that make participation in a P2P swarm not ideal. While content protection is certainly a core tenant of why content is centralized, if the big players at YouTube, Netflix, Hulu, et al, haven't figured out a way to shirk their highest cost center in lieu of putting it on the backs of someone else even cheaper than ISPs without causing a substandard consumer experience with P2P, then you can be darn sure that this is a tough nut to crack.