Name | btstrm JSON |
Version |
0.1.7
JSON |
| download |
home_page | None |
Summary | A script to stream torrents using BTFS |
upload_time | 2024-03-28 22:12:42 |
maintainer | None |
docs_url | None |
author | asakura42 |
requires_python | None |
license | GPL-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"
}