btstrm


Namebtstrm JSON
Version 0.1.7 PyPI version JSON
download
home_pageNone
SummaryA script to stream torrents using BTFS
upload_time2024-03-28 22:12:42
maintainerNone
docs_urlNone
authorasakura42
requires_pythonNone
licenseGPL-3
keywords torrent streaming btfs
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # btstrm - BitTorrent Streaming Program

`btstrm` is a Python program that allows you to stream torrents directly from the command line. It provides a seamless streaming experience by leveraging the power of BitTorrent and integrating with popular media players.

## Features

- Stream torrents directly without waiting for the entire download to complete
- Search for torrents using multiple indexers through `Jackett` integration
- Fetch movie titles and posters from The Movie Database (TMDB)
- Interactive selection of torrents and movie titles using `fzf`
- Automatic detection and use of available media players (`omxplayer`, `mpv`, `vlc`)
- Option to keep downloaded files after streaming
- Integration with [`impd`](https://github.com/ajatt-tools/impd) for condensing videos for language learning
- Real-time display of download progress and peer information
- Support for multiple languages and configurable settings
- Automatically subtitle searching using great [`osd`](https://github.com/druidamix/Opensubtitles-downloader) program

## Prerequisites

Before using `btstrm`, ensure that you have the following dependencies installed:

- Python 3.x
- Player of your choice: `mpv`, `vlc` or `omxplayer` (for RPi)
- `btfs` (BitTorrent Filesystem)
- `fzf` (fuzzy finder)
- `Jackett` (**optional**, but **highly recommended** for torrent search integration)
- `impd` (**optional**, for language immersion enthusiasts)
- `chafa` (for displaying movie posters)
- [osd](https://github.com/druidamix/Opensubtitles-downloader) (**optional**, for subtitle downloading)
- Required Python packages: `requests`, `tqdm`, `colorama`, `beautifulsoup4`, `unidecode`

At ArchLinux you can find all these programs in repos or AUR.

## Installation via PyPi

```bash
pipx install btstrm
```

### Manual installation

1. Clone the repository or download the `btstrm.py` file.

2. Install the required Python packages:
   ```
   pip install requests tqdm colorama beautifulsoup4 unidecode
   ```

3. Install btfs, fzf, and Jackett by following their respective installation instructions.

4. Configure Jackett and obtain the API key.

5. Create a configuration file named `btstrm.conf` in the `~/.config` directory with the following content:
   ```
   [DEFAULT]
   LANG = es-ES
   JACKETT_API_KEY = your_jackett_api_key
   JACKETT_URL = http://127.0.0.1:9117
   ```
   Replace `your_jackett_api_key` with your actual Jackett API key and adjust the `JACKETT_URL` if necessary.

   You can omit this step because `btstrm` creates configuration file automatically.

## Usage

To use `btstrm`, run the following command:

```
python btstrm.py [options] [URI]
```

Options:
- `-p PLAYER`, `--player PLAYER`: Specify the media player to use for streaming (default: auto-detect)
- `-k`, `--keep`: Keep the downloaded files after streaming (default: delete files)
- `-i`, `--impd`: Add the downloaded files to impd playlist (default: disabled)
- `-s [MOVIE_NAME]`, `--subtitles [MOVIE_NAME]`: Search opensubtitles for subs with optional name title
- `-t TITLE`, `--title TITLE`: Search for alternative movie titles and select using fzf

URI:
- Video/audio content name, magnet link or torrent file

Examples:
```
python btstrm.py -p mpv -k magnet:?xt=urn:btih:example
python btstrm.py -t "Movie Title"
python btstrm.py "Big Buck Bunny"
```

## Configuration

The `btstrm.conf` file allows you to customize the following settings:

- `LANG`: Set the language code for TMDB searches (default: es-ES)
- `JACKETT_API_KEY`: Set your Jackett API key
- `JACKETT_URL`: Set the URL of your Jackett server (default: http://127.0.0.1:9117)

## Contributing

Contributions to `btstrm` are welcome! If you find any bugs, have feature requests, or want to contribute improvements, please open an issue or submit a pull request on the GitHub repository.

## Acknowledgements

`btstrm` was inspired by the need for a simple and efficient way to stream torrents from the command line. It wouldn't have been possible without the following projects and some codebase from developers:

- btfs: https://github.com/johang/btfs
- fzf: https://github.com/junegunn/fzf
- Jackett: https://github.com/Jackett/Jackett
- The Movie Database: https://www.themoviedb.org/

## Disclaimer

Please note that streaming copyrighted content without permission is illegal in many jurisdictions. The authors of `btstrm` do not condone or encourage the illegal use of this software. Use it responsibly and respect the rights of content creators.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "btstrm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "torrent, streaming, btfs",
    "author": "asakura42",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a8/fb/9d3c52794de789d863bb2b1a6f9046339201c7dbcf5604913d3d4250417a/btstrm-0.1.7.tar.gz",
    "platform": null,
    "description": "# btstrm - BitTorrent Streaming Program\n\n`btstrm` is a Python program that allows you to stream torrents directly from the command line. It provides a seamless streaming experience by leveraging the power of BitTorrent and integrating with popular media players.\n\n## Features\n\n- Stream torrents directly without waiting for the entire download to complete\n- Search for torrents using multiple indexers through `Jackett` integration\n- Fetch movie titles and posters from The Movie Database (TMDB)\n- Interactive selection of torrents and movie titles using `fzf`\n- Automatic detection and use of available media players (`omxplayer`, `mpv`, `vlc`)\n- Option to keep downloaded files after streaming\n- Integration with [`impd`](https://github.com/ajatt-tools/impd) for condensing videos for language learning\n- Real-time display of download progress and peer information\n- Support for multiple languages and configurable settings\n- Automatically subtitle searching using great [`osd`](https://github.com/druidamix/Opensubtitles-downloader) program\n\n## Prerequisites\n\nBefore using `btstrm`, ensure that you have the following dependencies installed:\n\n- Python 3.x\n- Player of your choice: `mpv`, `vlc` or `omxplayer` (for RPi)\n- `btfs` (BitTorrent Filesystem)\n- `fzf` (fuzzy finder)\n- `Jackett` (**optional**, but **highly recommended** for torrent search integration)\n- `impd` (**optional**, for language immersion enthusiasts)\n- `chafa` (for displaying movie posters)\n- [osd](https://github.com/druidamix/Opensubtitles-downloader) (**optional**, for subtitle downloading)\n- Required Python packages: `requests`, `tqdm`, `colorama`, `beautifulsoup4`, `unidecode`\n\nAt ArchLinux you can find all these programs in repos or AUR.\n\n## Installation via PyPi\n\n```bash\npipx install btstrm\n```\n\n### Manual installation\n\n1. Clone the repository or download the `btstrm.py` file.\n\n2. Install the required Python packages:\n   ```\n   pip install requests tqdm colorama beautifulsoup4 unidecode\n   ```\n\n3. Install btfs, fzf, and Jackett by following their respective installation instructions.\n\n4. Configure Jackett and obtain the API key.\n\n5. Create a configuration file named `btstrm.conf` in the `~/.config` directory with the following content:\n   ```\n   [DEFAULT]\n   LANG = es-ES\n   JACKETT_API_KEY = your_jackett_api_key\n   JACKETT_URL = http://127.0.0.1:9117\n   ```\n   Replace `your_jackett_api_key` with your actual Jackett API key and adjust the `JACKETT_URL` if necessary.\n\n   You can omit this step because `btstrm` creates configuration file automatically.\n\n## Usage\n\nTo use `btstrm`, run the following command:\n\n```\npython btstrm.py [options] [URI]\n```\n\nOptions:\n- `-p PLAYER`, `--player PLAYER`: Specify the media player to use for streaming (default: auto-detect)\n- `-k`, `--keep`: Keep the downloaded files after streaming (default: delete files)\n- `-i`, `--impd`: Add the downloaded files to impd playlist (default: disabled)\n- `-s [MOVIE_NAME]`, `--subtitles [MOVIE_NAME]`: Search opensubtitles for subs with optional name title\n- `-t TITLE`, `--title TITLE`: Search for alternative movie titles and select using fzf\n\nURI:\n- Video/audio content name, magnet link or torrent file\n\nExamples:\n```\npython btstrm.py -p mpv -k magnet:?xt=urn:btih:example\npython btstrm.py -t \"Movie Title\"\npython btstrm.py \"Big Buck Bunny\"\n```\n\n## Configuration\n\nThe `btstrm.conf` file allows you to customize the following settings:\n\n- `LANG`: Set the language code for TMDB searches (default: es-ES)\n- `JACKETT_API_KEY`: Set your Jackett API key\n- `JACKETT_URL`: Set the URL of your Jackett server (default: http://127.0.0.1:9117)\n\n## Contributing\n\nContributions to `btstrm` are welcome! If you find any bugs, have feature requests, or want to contribute improvements, please open an issue or submit a pull request on the GitHub repository.\n\n## Acknowledgements\n\n`btstrm` was inspired by the need for a simple and efficient way to stream torrents from the command line. It wouldn't have been possible without the following projects and some codebase from developers:\n\n- btfs: https://github.com/johang/btfs\n- fzf: https://github.com/junegunn/fzf\n- Jackett: https://github.com/Jackett/Jackett\n- The Movie Database: https://www.themoviedb.org/\n\n## Disclaimer\n\nPlease note that streaming copyrighted content without permission is illegal in many jurisdictions. The authors of `btstrm` do not condone or encourage the illegal use of this software. Use it responsibly and respect the rights of content creators.\n",
    "bugtrack_url": null,
    "license": "GPL-3",
    "summary": "A script to stream torrents using BTFS",
    "version": "0.1.7",
    "project_urls": {
        "Bug Tracker": "https://github.com/asakura42/btstrm/issues",
        "Homepage": "https://github.com/asakura42/btstrm"
    },
    "split_keywords": [
        "torrent",
        " streaming",
        " btfs"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb42c9b4f5f54b1cb3065941722566e6c8295939d9afb7c055eaa89f522b6dfd",
                "md5": "f9969c0df909c91b7a8abf382991e9e6",
                "sha256": "d0e3803706897f6cf5f8707b18a51c968beb9320890ca5873cac1a6dff929c06"
            },
            "downloads": -1,
            "filename": "btstrm-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f9969c0df909c91b7a8abf382991e9e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 22399,
            "upload_time": "2024-03-28T22:12:41",
            "upload_time_iso_8601": "2024-03-28T22:12:41.041894Z",
            "url": "https://files.pythonhosted.org/packages/cb/42/c9b4f5f54b1cb3065941722566e6c8295939d9afb7c055eaa89f522b6dfd/btstrm-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8fb9d3c52794de789d863bb2b1a6f9046339201c7dbcf5604913d3d4250417a",
                "md5": "6853bcf2a35d73e5dabe2d369498b90a",
                "sha256": "d8c424cc05b5dbf7d9d29e2d72530b879725b6050d1a409d875e8e7922755ded"
            },
            "downloads": -1,
            "filename": "btstrm-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "6853bcf2a35d73e5dabe2d369498b90a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 23794,
            "upload_time": "2024-03-28T22:12:42",
            "upload_time_iso_8601": "2024-03-28T22:12:42.617501Z",
            "url": "https://files.pythonhosted.org/packages/a8/fb/9d3c52794de789d863bb2b1a6f9046339201c7dbcf5604913d3d4250417a/btstrm-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-28 22:12:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "asakura42",
    "github_project": "btstrm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "btstrm"
}
        
Elapsed time: 0.21982s