Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rezkhaleghi/pj-player

pjplayer is a Rust-based CLI tool that allows you to search, download, and stream audio directly from your terminal. It supports platforms like YouTube and Internet Archive.
https://github.com/rezkhaleghi/pj-player

ffmpeg ffplay free-music-download media-player music music-download music-player music-streaming player rust rust-lang terminal-player tui youtube-downloader youtube-stream yt-dlp

Last synced: about 7 hours ago
JSON representation

pjplayer is a Rust-based CLI tool that allows you to search, download, and stream audio directly from your terminal. It supports platforms like YouTube and Internet Archive.

Awesome Lists containing this project

README

        

# PJ-Player

PJ-Player is a Rust-based terminal application (TUI) that allows users to search, DOWNLOAD or STREAM audio tracks directly from the terminal. It supports downloading and streaming from YouTube and Internet Archive.

# DEMO

![Project Demo](/demos/demo.gif)

## Features

- **Search for audio** on YouTube or Internet Archive.
- **Stream audio** on YouTube.
- **Download audio** from YouTube or Internet Archive.

## Requirements

Before running PJ-Player, you need to ensure that the following dependencies are installed on your system:

- **Rust**: This project is written in Rust. Install Rust by following the instructions at [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install).
- **yt-dlp**: A YouTube downloader tool. Install it from [https://github.com/yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp).
- **ffmpeg**: A complete, cross-platform solution to record, convert and stream audio and video. Install it from [https://ffmpeg.org/](https://ffmpeg.org/).

## Installation

To use [`PJ-Player`]

1. **Clone the Repository**:
Clone this repository to your local machine:

```sh
git clone https://github.com/rezkhaleghi/pj-player.git
cd pj-player
```

2. **Install Dependencies** (if not already installed):

- Install Dependencies Manually
- OR Run the install.sh (for macos: install-macos.sh) script in bin Directory
(Assuming your in the /pj-player Directory)

```sh
./bin/install.sh
```

3. **Build the Project**:
Build the pjgrep application with the following command:

```sh
cargo build --release
```

4. **Install the Binary**:
Optionally, you can copy the binary to a directory in your `$PATH` (e.g., `/usr/local/bin` or `~/bin`) for easy access:

```sh
sudo cp target/release/pjplayer /usr/local/bin/pjplayer
```

## Usage

1. **Run the application**:

```sh
pjplayer
```

2. **Select DONLOAD / STREAM**:
![Project Demo](/demos/1-select-mode.jpeg)

3. **Search For Your Favorite Song/Podcast**:

![Project Demo](/demos/2-search.jpeg)

4. **Select One of Search Results**:

![Project Demo](/demos/3-select.jpeg)

5. **Stream Or Download The Content**:
- Stream
![Project Demo](/demos/4-stream.jpeg)
- Download
![Project Demo](/demos/5-dl.jpeg)

## Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

## Author

Created and maintained by "PocketJack (Rez Khaleghi)"

- GitHub: https://github.com/rezkhaleghi
- Email: [email protected]

## License

This project is licensed under the MIT License. See the LICENSE file for details.

## Acknowledgements

- [Rust Programming Language](https://www.rust-lang.org/)