Hacker News new | past | comments | ask | show | jobs | submit login

A lot of people mention ability to almost instantly stream the movie you want, but you can already do that using torrents. It's called sequential downloading. After buffering a few % of the whole torrent, you can start watching it with VLC (not sure if other players support it).



Sequential downloading is considered by many to be bad for the health of the torrent [1], and many developers refuse to implement it into their software/libraries [2].

[1] http://wiki.vuze.com/w/Sequential_downloading_is_bad [2] https://trac.transmissionbt.com/ticket/452


That is just silly. It will make the download slower for the majority of people in some weird cases (i.e. bastards that download and stop right away when done, making the end of the files really rare)

That said, I have 7 torrents of pretty uncommon data that is lingering with missing parts. none of the movies, so i doubt it is because someone used sequential download.

Point being, for movies and music, where sequential download would make sense, there is lots of interest so it is harder to be missing pieces.


Sequential downloading defeats one of the primary goals of torrents: to make rare data common. If only one peer has chunk ae986f6ea789 of a torrent, it makes sense that you'd want to download that chunk first in case the peer disconnects before it's fully seeded. Even with movies/music, 70% of the peers may have the first 70% of the movie downloaded, so if you join the swarm it would make sense to throw you at the final 30% in order to increase potential bandwidth to those chunks. I also see overall speed going down as too many peers are requesting the same chunks, when they could be getting other chunks at higher speeds


There's no need to do purely sequential download, though. You only need to download sequentially at the speed of playback, the rest of your bandwidth can go to the rarest chunks.


You're right, but then you'd need to programmatically determine the video bitrate in the torrent client, or integrate it with the video player. Either way is a pretty heavyweight solution.


This argument is moot when you're streaming some blockbuster movie, there will not be any rare chunks to speak of. The client could implement a threshold where sequential downloading is only switched on when there are x number of seeders.


Or even a "semi-sequential downloading", X% of the bytes are sequential (say to get smooth streaming), the others are normally downloaded.


But BitTorrent wasn't invented to stream movies.


Who cares what it was invented for: we can use it for this. If we only ever used tools as intended the world wouldn't have progressed very far.


I agree in spirit, but the idea of everyone starting at the same end of the download does indeed go against some of the core ideas of bit torrent.

Personally I think maybe something should be built on top of bit torrent to accomplish this task. To me it's a case of being careful when re-engineering underlying protocols because of a higher level need.

Anyway, it's a nice hack, but I kind of understand where the client developers who refuse to do this are coming from :-)


So people with non-sequential download would get the end first and have the higher share ratio on the tracker.

why enforce it though? Leechers will be leechers.


When used sparingly (ie on one torrent at a time) it s pretty much ok (since there is also a time-of-start randomization).


Wasn't the idea of the tracker in Bittorrent to decide who gets what chunk, ensure fairness and maximize availability?


Trackers aren't needed anymore. (DHT)


Unfortunately most videos available via torrent typically aren't designed to be streamed. Bitrate and seeking are the two big problems.

Enabling seeking requires logic on the client side to retrieve seek tables as well as encoding that facilitates seeking when streaming.


Check out XBMCtorrent then :)

http://forum.xbmc.org/showthread.php?tid=174736

EDIT: wrong url




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: