Simple Bit Torrent client (command line), that enables sequential download and then streams video to video player
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
desktop
src
tests HTTPLoader to be initialized in his runninf thread Dec 20, 2015
.gitignore
.project HTTP streaming client May 9, 2015
.pydevproject Initial version Aug 29, 2014
.travis.yml Fixed install.sh to use latest libtorrent 1.0.x from github Nov 2, 2015
README.md
TODO.txt
install.sh
requirements.txt fixing tests and build Jun 13, 2015

README.md

BTClient

Build Status

Simple Bit Torrent client (command line), that enables sequential download and then streams video to video player (via http or stdin, but stdin is not seekable), when got enough of the file content is available to start playback. Also supports HTTP sources, when it can download video from several connections concurrently and then stream it to the player. Can work with file sharing services, if plugin is provided to resolve file link.

usage: btclient.py [-h] [-d DIRECTORY] [-p {mplayer,vlc}]
                   [--player-path PLAYER_PATH] [--port PORT]
                   [--debug-log DEBUG_LOG] [--stdin] [--print-pieces]
                   [-s SUBTITLES] [--stream] [--no-resume] [-q]
                   [--delete-on-finish] [--clear-older CLEAR_OLDER]
                   [--bt-download-limit BT_DOWNLOAD_LIMIT]
                   [--bt-upload-limit BT_UPLOAD_LIMIT]
                   [--listen-port-min LISTEN_PORT_MIN]
                   [--listen-port-max LISTEN_PORT_MAX] [--choose-subtitles]
                   [--trace]
                   url


Accepts either torrent file path or magnet link or http(s) link to torrent file or http link to file.

From torrent file chooses the biggest video file, starts to download it and sends it to video player (works with mplayer or vlc).

Can also download subtitles for current video file (option -s - uses opensubtitles.org API).

Requires libtorrent (1.0.x) and its python bindings, gnome-terminal and hachoir python libraries. Optionally beautifulsoup and adecaptcha for plugins.

Install

Now manual (Ubuntu 14.04):

git clone --depth 1 https://github.com/izderadicka/btclient.git
cd btclient/
./install.sh
#optionally you can run tests
#python tests/all.py
cp -r src  somewhere
#can modify btclient script to your preferences
sudo ln -s /somewhere/btclient /usr/local/bin

For desktop integration can copy desktop/btclient.desktop to ~/.local/share/applications.

In browser assure that browser asks for protocol handler

Check in your browser profile directory file mimeTypes.rdf and check this:

<RDF:Description RDF:about="urn:scheme:handler:magnet"
   NC:alwaysAsk="true">

License

GPL v3