Popcorn Time (or the next leeching app) isn't good for torrents and sharing in general. If everybody switched to this type of software, there won't be enough seeds. Or maybe seeders will predominantly be those with some commercial interests (malware, ads?); and torrents will no longer be truly peer to peer.
Add: The old FAQ is gone, but quote from http://www.ibtimes.com/popcorn-time-movie-streaming-netflix-... : "According to Popcorn Time’s FAQ, you do indeed seed (upload) parts of the movie while you watch. Popcorn Time does state that ‘your movies will stay buried in a secret folder somewhere in your drive until you restart your computer. Then it will be gone for good.’"
This is incorrect. By design, torrent participants both download AND upload at the same time. If you don't believe me, check your network activity using the tool that comes with your OS. You'll see significant upload transfer. :)
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.
This is a _very_ interesting comment.
There _must_ be a switch on the logic of the streaming.
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 agree that we should try to make all chunks of a file available for the other peers, but also all files that participate in the p2p network.
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.
XBMCtorrent approaches this by seeding the movie until you finish watching it. In my experience, movies start playing within the first minute and are finished downloading within the first hour (well, 10-20 minutes for popular content), meaning a large portion of the movie's running time is devoted to seeding 100% of the file.
Sure. But the app seems to be focused on streaming very popular torrents, which means that generally all pieces will be available enough.
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.
> But the app seems to be focused on streaming very popular torrents, which means that generally all pieces will be available enough.
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.
"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."
> The older peers have already completed the first few files and thus aren't interested in younger peers who currently download the first file exclusively, thus no mutually beneficial relationship can be established between different "generations" of prioritizing peers, effectively splitting the swarm into sparsely connected sets.
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.
> 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.
Why wouldn't it be? It is still streaming and it will start playing the video soon after you hit the play button instead of downloading the entire video first. The only difference is that it will be caching the download for a certain period of time and possibly downloading rare chunks with extra bandwidth ahead of when the chunks are actually needed. The truth is though, if the torrent is not top heavy with seeders then it is no good anyway so I don't really get why people are so focused on rare chunks.
The peers with less of the file and further from the seeders will tend to have higher bandwidth as they have more peers they can download from. The vast majority of the network is after only one piece of the file and few peers have it. This collapses the network into a more tree like structure (rather than the desired mesh) which limits the network bandwidth. Whether this is enough to degrade the swarm to the point were it is not useful for streaming or even causes the file to become incomplete is another question, but it does impact bandwidth. I can give an example if this still isn't apparent, but it'd take me a bit to write up.
This may be true, but on my network it takes less than 5 minutes to download a 2GB file and 20 minutes to have 200% upload. I usually stop uploading after that. Now if I were to use Popcorn Movie I'd be uploading for much longer period.
In most countries, your average Internet consumer can't achieve the speeds you described, though. Also, the download-to-upload rate is significantly higher.
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.
And some people have networks where constantly seeding an entire thing—be it a movie or a Linux distro—is not feasible. When you have 3mbps down/1mbps up DSL, it's going to saturate your upload if you leave it unchecked, and still have a very negative impact even if you throttle.
I think you are missing the point as well. People will not start watching movie at the same time. When one person is almost done another just begins the movie, thus as long as there are few initial seeds and healthy interest in the movie it does not matter which order chunks will be downloaded.
That is not necessarily true, it will depend on the number of peers and the chunk replication rate. You can tweak the ratios so that the first part is available more often.
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.
Intriguing... is that really so much of a factor? To torrent-stream successfully you have to have eventually loaded all snippets from beginning to end of a file and could potentially be offering them for download at most only a couple of hours later than if you downloaded it first snippet.
Most broadband is asymmetrical (ADSL) so the downstream bandwidth is at least an order of magnitude more than upstream. As you download, your upstream bandwidth is saturated just with the acknowledgement traffic (non-payload ACK) of the download.
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's a weird definition. If you divide a large file in chunks of different sizes and you are sharing even 1% of them you are already seeding. And the point of popcorn time is that people are participating the p2p overlay much longer than with other p2p applications, thus seeding longer too.
I understand leechers as those who, over time, mostly download rather than upload.
We already have a solution for that - cryptocurrencies. This is the exact situation in mind when bitcoin was created. Seeder gets some bitcoins for streaming the torrent, and leechers pay for the movie in bitcoins. You can seed and download at the same rate to come even. Nobody loses, there's the incentive to seed, everyone's happy. Now we only need system to incorporate crypto into such system. Maybe even into popcorn time fork.
This is a nice idea, but if you're going to pay money for content, doesn't it make a lot more sense to pay it to a legit publisher/distributor rather than a pirate?
Yes, but it seems the publishers aren't that interested in my money. While I do live in a country where I can at least watch Netflix, there's so much content that's not available to me due to artificial licensing constrains.
Piracy is not the answer, but perhaps the only way to get some people to realize that the world is changing.
You seem to have missed the point about coming out even. If you seed to give back you actually come out even or possibly ahead so you aren't actually paying in the long run. Of course that's also a bit of a pyramid scheme because it relies on someone else to be leeching in order to get your money back. If you happen to be one the last ones to watch a movie, or it's one that's been out a while so not many people are interested in watching you may end up net negative. It would have the disadvantage of discouraging people from watching anything but popular movies, of course it would also possibly encourage people to seed less popular stuff.
I pay for a private torrent tracker because it's impossible to get the content (tv/movies) I want. So even if I wanted to pay content creators, I can't. Having said that, I don't feel I'm pirating content simply because, as a consumer, I'm being ignored. So either way content creators wouldn't be getting my money.
Here's where a Proof of Bandwidth system like Bitcloud would come very handy. This way everybody is rewarded automatically in the same measure they contribute (ie seeding).
That would be perfect for a ratio-enforcement scheme that works cross-tracker.
I'm sure there would be ways to game it, but it could go a long way in ensuring the average user gives what they get. It would be awesome to integrate a 'currency' into a similar client, where you slowly earn more by seeding.
It wouldn't prevent in itself, but would help by providing unduplicable unit of account. Well, as I think now, it would be almost the same as simple ratio, because I doubt ratio cheating comes from manually editing ratio in database.
The Popcorn Time "catalog" isn't composed of the sort of long-tail movies that need more seeds to stay healthy, though. It's the head of the distribution: the movies which already have thousands of seeders each, and at most 100 leechers at a time.
I think it actually should work better than the usual method. With the old use case, you'll be uploading for the duration of the download, and once it's done, you might stop seeding and start watching your movie or show. But while streaming, you aren't likely to bother to stop seeding while watching, especially if the app doesn't go out of the way to interrupt your show to tell you it's done downloading. So while your average user may be uploading bits in the worst possible order required to keep the file alive, they will likely be uploading them for much longer.
It should keep seeding until the app is closed (so on average potentially a lot longer than the duration of the movie). They could also make it so the app minimizes to the tray, which could lead to even longer average seeding time (some people just close an app because they don't use it right then).
It depends on the size of the swarm or systems consuming the content. For very small swarms, it would be imperative for everyone to contribute, but as the size becomes larger it may not be needed.
Since a streaming app is deadline aware, which is different from a normal torrent. A normal torrent works on fetching either rarest-first or respond-first chunks, while a streaming app tries to fetch chunks linearly and as soon as possible. It is likely to fetch the same chunk from several places (basing them off RTTs (bandwidth-delay) and availability). Moreover, if popcorn inherits BT's congestion control algorithm (LEDBAT, which is a scavenger algorithm) we might not even see spikes in network traffic.
It's really unusual though to have a seed ratio of 1 by the time a torrent has finished downloading. There's no way this is sustainable unless you make the movies hang around after they're watched and continue seeding into the future.
The key difference between Popcorntime and 'normal' torrents is that it's not "by the time a torrent has finished downloading" but "by the time you have finished watching the movie".
In order to use Popcorntime, you'd pretty much have to have a connection speed where downloading the movie is significantly faster than watching it (a few minutes at a reasonable speed/quality) and by the time the movie ends you have downloaded it once but uploaded many times.
And given the way the tech works, you can ignore ADSL users with restricted upload speeds and other similar groups - the total average is disproportionally influenced by high-speed users; so if for every dozen ADSL users there's a single FTTH user, then the total still works out well - 10 users with a ratio of 0.1 are equalized by a single user with a ratio of 10.
> It's really unusual though to have a seed ratio of 1 by the time a torrent has finished downloading.
If you are streaming, you will very likely be downloading faster than you can play the file (people who download slower won't be streaming). So you will be seeding a lot longer.
Isn't this just piggybacking on normal torrents on TPB. There are tons of seeds already by people that want to keep a copy locally and seed for months.
Add: The old FAQ is gone, but quote from http://www.ibtimes.com/popcorn-time-movie-streaming-netflix-... : "According to Popcorn Time’s FAQ, you do indeed seed (upload) parts of the movie while you watch. Popcorn Time does state that ‘your movies will stay buried in a secret folder somewhere in your drive until you restart your computer. Then it will be gone for good.’"