PDA

View Full Version : Progressive downloads for streaming torrent playback



Gamester17
July 22nd, 2008, 08:35 AM
I would like to request support for "progressive downloads" (sequential downloading) in Boxee's BitTorrent client library to enable "streaming playback" of torrents.

In general, BitTorrent's non-contiguous download methods have prevented it from supporting "progressive downloads" (downloading sequentially) or "streaming playback". But recent comments by Bram Cohen (the inventor of the BitTorrent protocol) suggests that streaming torrent downloads will soon be commonplace.

The reason for this feature would be to be able to use the BitTorrent P2P protocol for streaming broadcast and also online video viewing, making it possible to start playing back the video file before the download is complete. One practical example would be if a multimedia-player like Boxee integrated the a BitTorrent client library with progressive downloads as a backend for downloading torrents files, you point the player to a torrent and BitTorrent client library starts to download the file progressivly and then the player automaticly will automaticly start the playback once it has cached/buffered to certain procentage of the video, (similar to how Flash Video and the Flash Video player works).

Note! This "progressive download" method should of course be optional, and also note that I am not asking for the media-player to be integrated into the BitTorrent client library but for the BitTorrent client library to have this "progressive download" feature so that it can be integrated into third-party media-players and media-center software such as Boxee and XBMC.

I believe that both BitComet, FoxTorrent, and µTorrent (a.k.a. uTorrent, which is also the Mainline BitTorrent client since version 6.0) do already support progressive downloads algorithm as an option. There are also media-players such as BitLet WeStream (http://www.bitlet.org/music/) that prioritizes the bits at the beginning of each song/video, otherwise it will be impossible to stream anything before the entire track is downloaded, (however, like most other BitTorrent clients, BitLet WeStream (http://www.bitlet.org/music/) also gives a high priority to rare pieces in order to guarantee an optimal swarm speed, so that unhealthy swarms are not created). So integrating a BitTorrent client with this "progressive download" method support should enable Boxee (and other audio/video-players and media centers alike) to begin playback of audio and video torrents without fully downloading them, depending on your download speed it would just cache 5% to 10% before starting the playback (given that it downloaded enough bits from the beginning of the file as well as enough rare pieces in order to guarantee an optimal swarm speed).


Additional peer-2-peer protocols/clients that feature progressive download support:

1-Click Media (http://www.1-click.com) "1-Click Media is based in Paris, France and provides peer-to-peer plug-in to top TV channel portal. 1-Click Media guarante Speed, Bandwidth savings and Browser experience". 1-Click Media is an hybrid mixing BitTorrent tracker and a HTTP webseed for each video (that way the video is always available even if there is not enough peers seeding online).

Peer Impact (http://www.peerimpact.com/mediaCenter/index.html) can stream movies with its progressive download algorithm and they prioritise the first chucks Peer Impact also needs about a 200kbps to stream the movies that start within 30 seconds after the download is initiated in most cases.

Neocast (http://neokastblog.com) is also streaming movies and doing live p2p.

PS! There is also some interesting research going on in the streaming space at this current time, see:
https://www.tribler.org/test_streaming/index.php?n=Site.Introduction


What do you guys think? :)

Gamester17
July 22nd, 2008, 09:07 AM
I have now submitted feature request suggestions for this to libTorrent/rTorrent and libtransmission/Transmission but I actually doubt that they will implement this themselves without getting a patch from a third-party media-player/media-center developer such as Boxee (I am sure though that if they do get that initial patch from a third-party then they will not mind maintaining the code after that).
http://libtorrent.rakshasa.no/ticket/1400
http://trac.transmissionbt.com/ticket/452

[EDIT]: As I thought, already got this reply from the libtransmission/Transmission developers:
This is *not* going to be implemented in libtransmission, for reasons discussed many times in many places.
http://www.azureuswiki.com/index.php/Sequential_downloading_is_bad
http://forum.utorrent.com/viewtopic.php?id=18294
http://forum.utorrent.com/viewtopic.php?pid=13269

clearly there's a demand for this sort of thing, so if you want to fork libtransmission and make your own client that does this, then best of luck to you. However -- for the umpteenth time -- this is never going to be a feature in Transmission.
:rolleyes:

tsella
July 23rd, 2008, 06:37 AM
cool feature! if a client comes along which supports this, is multiplatform, and can be connected via some api (like xmlrpc in rtorrent), we might consider integration.

Gamester17
July 23rd, 2008, 08:54 AM
cool feature! if a client comes along which supports this, is multiplatform, and can be connected via some api (like xmlrpc in rtorrent), we might consider integration.As I mentioned, I very much doubt that a such client will just come along. No, I think that the Boxee developers would actually have to code that bit yourself (and submit the code upstream) if you ever wanted a such a feature in Boxee. Somebody got to be first before it will catch on ;)

Gamester17
July 29th, 2008, 01:04 PM
EZTV (and probably some other torrent download sites) have now starting to add this new type of torrents files that allows you to stream their releases using the BitTorrent protocol so instead of having to wait for your torrents to finish downloading, you can stream them and watch them right away as you are downloading them instead of having to wait.

As I doubt that I am allowed to post a URL to the EZTV website here I'm not going to but I'm sure everyone here knows where to find it, or at least know how to use a search engine (just google "EZTV AND SwarmPlayer").

SwarmPlayer beta version can be downloaded here:
http://trial.p2p-next.org
and more information about the project can be found here:
http://trial.p2p-next.org/moreinfo/moreinfo.html
and here:
http://www.p2p-next.org

You might also be interested in reading this pages:
http://www.pcpro.co.uk/news/213549/swarmplayer-brings-peertopeer-streaming.html
http://www.lifehacker.com.au/tags/swarmplayer
http://www.dslreports.com/shownews/EU-Aims-To-Replace-TV-with-Live-BitTorrent-Streaming-96234
http://torrentfreak.com/eztv-trials-streaming-080726/
http://www.ghacks.net/2008/07/27/eztv-allows-bittorrent-streaming/
http://www.slyck.com/news.php?story=1722
http://www.afterdawn.com/news/archive/14918.cfm
http://www.broadbandreports.com/shownews/96455
http://www.webtvwire.com/tv-torrent-streaming-being-trialled-by-eztv/

somecallmechief
April 16th, 2009, 06:35 PM
This looks like it was born to fit the bill?

http://www.tribler.org/Download/#TestBuilds

thedrklion
January 7th, 2010, 04:18 PM
here is a nice write up
http://newteevee.com/2009/12/26/five-ways-to-stream-your-torrents/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+newteevee+%28NewTeeVee%29&utm_content=Google+Reader


:eek:
Put.io seems like a genious idea.
The site can handle RSS feeds from torrent sites to automatically add new episodes of regularly updated shows to your media library. (on their host server)
More importantly perhapse, is that Put.io users can also share files amongst themselves and stream any video any of their contacts are sharing.

Think of it, We boxee can be a Boxee Swarm. We all cordinate and put up stuff from tvrss creating a huge repository of content.

This all means torrents can be streamed and stored without the need to download and without dealing with your ISP throttling your torrents.

I would pay for such a service.
Who needs netflix.