https://github.com/jaketurner616/mp3-react-app
Youtube mp3 downloader to plex file format
https://github.com/jaketurner616/mp3-react-app
Last synced: 4 months ago
JSON representation
Youtube mp3 downloader to plex file format
- Host: GitHub
- URL: https://github.com/jaketurner616/mp3-react-app
- Owner: JakeTurner616
- License: gpl-3.0
- Created: 2024-06-15T04:50:14.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-30T00:10:15.000Z (12 months ago)
- Last Synced: 2025-01-07T17:46:38.872Z (5 months ago)
- Language: JavaScript
- Homepage: https://serverboi.org/mp3-react-app/
- Size: 1.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Overview
Click [here](https://serverboi.org/mp3-react-app/) to try the live demo.
[mp3-react-app](https://github.com/JakeTurner616/mp3-react-app) is a simple React application that allows users to download MP3 files from YouTube links. The application also supports tagging the downloaded MP3 files with metadata (artist, album, track name) and organizing the files into a Plex-friendly structure. Additionally, it can acquire and download lyrics from a provided Genius URL.

## Features
- Download MP3 files from YouTube links.
- Tag MP3 files with metadata: artist name, album name, track name.
- Organize downloaded files in a Plex-friendly structure.
- Optional lyrics acquisition and downloading from Genius.## Usage
Enter the YouTube link: Paste the URL of the YouTube video you want to download.
1. Artist Name
2. Album Name
3. Track Name
4. Optional Lyrics: Enter the Genius URL for the lyrics if available.
Download: Click the "Download" button to start the process.
Output Structure:
The downloaded MP3 files will be organized in the following [Plex-friendly](https://support.plex.tv/articles/200265296-adding-music-media-from-folders/) structure:```artist_album_track.zip
Artist Name
└── Album Name
├── Track Name.mp3
├── Track Name.txt (optional)
└── Track Name.webp (YouTube thumbnail for album cover)
```# Development
## Installation
### Prerequisites
- Node.js
- npm or yarn
- Python (for the backend)
- Flask (for the backend)
- ffmpeg (for YouTube to MP3 conversion)
- Docker (Optional but recommended for gunicorn deployment)### Steps
#### Testing
1. **Clone the Repository**
```sh
git clone https://github.com/JakeTurner616/mp3-react-app
cd mp3-react-app
```2. **Install Frontend Dependencies**
```sh
npm install
# or
yarn install
```3. **Build and deploy for testing**
```sh
npm run start
# start the dev server
```4. **Install Backend for testing**
```sh
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies from requirements.txt
pip install -r requirements.txt
```5. **Run the Backend dev server for testing (don't forward or proxy this!)**
```sh
python backend.py (requires ffmpeg)
# start the flask dev server manually
```#### Deployment
1. **Build and deploy static site with backend domain set in .env**
```sh
npm run build
# build the production assets
```2. **Install Backend for deployment**
```sh
docker build -t mp3-react-app .
docker run -p 50616:50616 mp3-react-app
# now we can forward and/or proxy the API backend
```# License
This project is licensed under the GNU GPL 3.0 License. See the [LICENSE](https://github.com/JakeTurner616/mp3-react-app/blob/master/LICENSE) file for details.