Hey guys, I'd like to know a few things about watching a video in preview mode using BitComet

  1. You can watch a video while it is downloading in preview mode, correct?

  2. Does watching a video in preview mode affect other peers downloading the torrent? Does it slow others down?

  3. Can the host of the torrent u r downloading or any of the seeders see if you are downloading sequentially? And is it wrong, or against the rules?

  4. Can the torrent site see if you are downloading sequentially, and once again is it wrong? Can they ban u or something? ie…isohunt/piratebay

  5. Can all videos be watched in preview mode(like all types HD, 720p, dvdrip, xvid, ect..)? And why does it not completely work sometimes, such as there not being a total file length time therefore not updating the download in media player so it won’t play all the way through when it is definitely downloading fast enough? It will only play as far as you have downloaded from the time u open the preview, it does not continue adding data, how do u stop this from happening?

Thanks my friends and I hope u can enlighten me on these issues :slight_smile:

  1. Yes, if the download rate for that torrent stays ahead of the video bitrate for that video file when it’s played.

  2. No, the player plays what’s already on your harddrive.

  3. No, and no and no. It’s not wrong or against the rules, you may hurt your own downloading speed in some cases, by searching the next sequential pieces instead of taking the path of the usual BitTorrent algorithm which is the optimized for speed one.

  4. No, and no and no.

  5. Yes all videos can be previewed as long as your player supports playing incomplete files and has the appropriate codecs. The last issue you describe must be related to your system, codecs or player since it doesn’t happen for me or any other of the users I’ve heard using this, so far.

Just so you get a clearer picture, BitTorrent works by downloading pieces, usually in a seemingly random fashion from multiple peers until it completes downloading the whole task. When this option is enabled, it will download pieces sequentially and write them on the HDD. From there on, it’s the job of your system, codecs and player to decode what’s written and output it correctly on your display. BitComet doesn’t act anymore on the already written data, so it can’t affect your playing. And it definitely keeps adding pieces to the existent ones, sequentially, so if you have issues when playing, its the fault of your player most probably, or your system/codecs.

Wiz, don’t you think that a sequential downloader could be snubbed by peers because of unwillingness to accept whats offered and not having the most traded pieces? Imagine a swarm where the first 15mins of a torrent are rare, the sequential downloader is going to be a very poor peer as he sits and waits for these pieces, the other peers are going to eventually find peers that want to trade and ignore him, then when they do get the pieces he needs, they already have their max number of connections so this person won’t be getting them from them at all. Perhaps not banned pre penalized directly, but indirectly could have the same effect.

That’s how I see it at least. On some tasks it won’t make much difference at all as long as few are doing it, but in some cases I think it can really do harm to the user and the swarm. I think the only question is how much harm… I’d agree in some cases it might not be enough to matter to anyone, but in other cases it will.

From observation, I could see that actually BC doesn’t sit idle and wait for pieces if they’re not available, it will download almost always some random pieces too, along with the sequential ones. I don’t know exactly how it handles this internally;

it may be that it selects a couple of peers from which it requests by the normal algorithm or that once in certain while it switches back to “rarest first” mode. The fact is, that if you watch the pieces chart you’ll almost always see some random pieces downloaded.

I’ve never seen the client sitting idle, waiting for some piece.

Besides, the client always launches requests for multiple pieces, so it’s bound to at least receive a part of the responses as positive.

Besides, since the normal peers in the swarm work by the “rarest first” algorithm, if the swarm has a reasonable enough number of peers, or if it has only a few peers if some of them have high upload speeds (as it often happens on private trackers) then it won’t make any difference, since the pieces will be rather homogeneously spread across the swarm.

The thing is, that peers don’t really “offer” pieces; they all respond to **requests **from other peers by sending or not sending the requested piece. Your client determines what pieces it can request based on the HAVE messages sent by all other connected peers, and thus it can construct a map of the available pieces beforehand, prior to starting to request different pieces.

So, by your reasoning, if the first 15 minutes are rare that’s what your client would download anyway by the normal “rarest first” algorithm.

The only way it may hurt is if let’s say the pieces in the period 15-30 minutes are rare, and your client will focus on the first 15 minutes, since that’s what it needs now, so the swarm will have one less peer which contributes at downloading rare pieces (so as to make them “not rare”) and occupies some swarm bandwidth by downloading more popular pieces from other peers. But this will be only temporary because when it gets to the next 15 minutes it will download exactly pieces which are rare. So, the whole thing is rather shifty.

Due to the inherent complex nature of the internal dynamics of a swarm, I do not pretend that I can tell with absolute certitude how much, requesting sequential pieces, would affect the swarm in a negative way (it may involve a bit of statistics math and even some empirical tests to draw a really solid conclusion), but based on the fact that in average there are very few users (even among BC users) who use this on a constant basis the overall average of sequential downloaders among all clients inside a swarm is pretty small, so the impact (even if there is any) will be negligible, in my view.

  1. Yes, if the download rate for that torrent stays ahead of the video bitrate for that video file when it’s played.

  2. No, the player plays what’s already on your harddrive.

  3. No, and no and no. It’s not wrong or against the rules, you may hurt your own downloading speed in some cases, by searching the next sequential pieces instead of taking the path of the usual BitTorrent algorithm which is the optimized for speed one.

  4. No, and no and no.

  5. Yes all videos can be previewed as long as your player supports playing incomplete files and has the appropriate codecs. The last issue you describe must be related to your system, codecs or player since it doesn’t happen for me or any other of the users I’ve heard using this, so far.

Just so you get a clearer picture, BitTorrent works by downloading pieces, usually in a seemingly random fashion from multiple peers until it completes downloading the whole task. When this option is enabled, it will download pieces sequentially and write them on the HDD. From there on, it’s the job of your system, codecs and player to decode what’s written and output it correctly on your display. BitComet doesn’t act anymore on the already written data, so it can’t affect your playing. And it definitely keeps adding pieces to the existent ones, sequentially, so if you have issues when playing, its the fault of your player most probably, or your system/codecs.

Thank u so much, amazing answer!

1 last question, sometimes when i download in preview mode and start watching the file with vlc, it glitches when i am watching the video. Is this just something I have to deal with sometimes? Or is this uncommon? I am not sure but I think this only happens when I click the preview mode pretty much IMMEDIATELY when it is available, why would that matter at all? Why is playback glitchy when i select preview mode soon after it is available, why do I have to wait to click it maybe a few minutes or so for normal playback. And yes, the download is going more than fast enough…Is the file too FRESHLY downloaded? Thanks.

You’re watching the file before it’s downloaded, it would be much like allowing traffic on a bridge before it’s complete, as long as you can calculate that the bridge will be complete before the traffic reaches the other side, you’re fine, but if something goes wrong with construction, then you’ll have a problem.

I agree that sequential downloaders are a minor problem if one at all, but I think that most of them have no idea that bittorrent isn’t designed that way. If bitcomet does hybrid method to avoid or miminize this potential problem, then that’s a good thing, I’ve just been trying to educate users so they can understand why sequential isn’t how it’s normally done. I suspect many people select it just like they select white or wheat bread, and may not even be watching the video, they just do them all that way because they don’t know any better… and I don’t see anyone telling them not to do it unless it’s absolutely necessary. Just imagine if most peers suddenly decided to download sequentially… I’m pretty sure that would harm everyone, at least in theory.

I’ve done my best to discourage it, or at least let the person know it’s not the best option. Regarding this member, his question sounded like he knows it’s not a swarm friendly thing to do, but he wasn’t concerned with being a good or bad peer, only concerned if he would be in trouble for being a bad peer… that attitude is offensive, but perhaps I’m reading to much into it. In my mind a person should want to be the best peer because they will know they are helping, not because they fear being penalized.

When you do this previewing, there’s always the probability that you will get to a piece that has not been downloaded yet. When this happens, VLC has to skip over that piece. This is normal and expected. Bittorrent is, after all, not streaming and does not download sequentially.