The success of bittorrent as a swarming protocol is that each client tries to download the least available snippet of the file it wants. This increases the chances that other clients will be able to find 100% of the pieces of a file as they go through the download process.
With popcorn and other streaming-torrent hybrids, the clients requests are biased towards the snippets of file that the user is about to watch. This makes the beginning of the movie widely available (as all clients start there to begin a stream) but increases the chance that bits of the middle or end of the movie aren't available when a given client needs them.
For example, my peak download speed is 5Mbits while the upload speed peaks at 0.6Mbits. That's on one of the more expensive packages, too.
Also, all Popcorntime clients want the same blocks first, meaning they will both need and seed the first blocks more. So they do not cause an imbalance, as long as there are always some peers that have the full movie.
This lacks a lot of foresight.
> Also, all Popcorntime clients want the same blocks first, meaning they will both need and seed the first blocks more. So they do not cause an imbalance, as long as there are always some peers that have the full movie.
And this is just plain wrong.
I don't understand this. Why does it need to be mutually beneficial? The peers should "pay it forward" by uploading to younger peers, even if the ones they downloaded from are not benefitting.
> On a small swarm this behavior can lead to pieces drop to the 0 availability because some peers concentrate on the first few files while the last peer/seed that has the rare piece in one of the later file quits after doing his fair share, but he only uploaded data for the first few files because the prioritizing peers were interested in those only.
This could be mitigated by using excess bandwidth beyond that needed for streaming to download rare chunks, and ensuring that the streaming application keeps seeding for a while after the video has been watched.
That wouldn't be streaming then, would it?
"If everyone streamed every file at the same time, the ecosystem would be negatively affected. That’s why we’ve put in safeguards to protect the ecosystem such as disallowing streaming when there aren’t enough seeders for a file, and preventing users from streaming more than a single file at a time. With these protections, we’ve tested and found no negative effect on the ecosystem. This is a property we’ll continue to monitor and adjust for as streaming becomes more widely used."
If you want to "stream" the torrent, you will need to start with the first chunks But i think we can do something nice about it. We need to add some transfer stats to the downloading and use it.
You have the file xyz.mp4 with 20 chunks.
First, you leech the first 4 chunks (first 20 minutes of the xyz.mp4 file)
Then you analyze aprox. transfer speed. Let's say you are downloading 2 minutes of movie per second.
If you already downloaded the first 20 minutes, you have at least 15 minutes until you need to start downloading the chunk number 5.
We should use those 15 minutes to download the last chunks (20, 19, 18...)
After 15 minutes you start downloading chunk number 5, 6, 7... and repeat the process.
I think this could work fine, YTS should do something about this.
I am not sure which kind of structured p2p system popcorn time sues, but if it was a DHT it should make sure that there is replication of the rarest files works too.
So that people who want to watch weird east European movies also have the opportunity, just as those who want to watch the latest blockbuster.
I hope popcorn time does not immediately delete cached chunks...what a waste.
https://github.com/steeve/xbmctorrent#doesnt-sequential-down...
In fact,you are also forgetting about the usage of each peer application. With traditional torrents you download the movie, close the app and watch the movie. Total seeding time is the same as the downloading time.
With popcorn time you are seeding WHILE watching the movie, the total seeding time is much, much longer than in the first case.
You can verify the effect yourself by comparing the network upload statistics from your operating system with the seed statistics of your bittorrent client.
That is, by definition, a leech. [1]
Seed: A downloader that obtains 100% of the data becomes a seed.
And here in this case, a while after someone becomes a seed the file gets deleted permanently.
[1] http://en.wikipedia.org/wiki/Glossary_of_BitTorrent_terms
I understand leechers as those who, over time, mostly download rather than upload.
What makes you say this?