Initial Commit
This commit is contained in:
121
README.md
Normal file
121
README.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# HandBrake Batch Converter Script
|
||||
|
||||
This Bash script converts video files in bulk using **HandBrakeCLI** with predefined presets for Blu-ray and DVD sources.
|
||||
It supports recursive folder scanning and preserves the folder structure in the output directory.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
- Converts all `.mkv` files from the source directory and its subfolders.
|
||||
- Preserves the original folder structure in the destination directory.
|
||||
- Select between **Blu-ray** and **DVD** presets.
|
||||
- Skips already converted files to avoid duplication.
|
||||
- Logs all conversion activity.
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
1. **Install HandBrakeCLI**
|
||||
- **Ubuntu/Debian:**
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install handbrake-cli
|
||||
```
|
||||
- **Fedora:**
|
||||
```bash
|
||||
sudo dnf install HandBrake-cli
|
||||
```
|
||||
- **macOS (Homebrew):**
|
||||
```bash
|
||||
brew install handbrake
|
||||
```
|
||||
- **Windows:** Download from [HandBrake Downloads](https://handbrake.fr/downloads2.php)
|
||||
|
||||
2. **Preset JSON files** in the `./profiles/` directory:
|
||||
- `BluRay H.265 HEVC.json`
|
||||
- `DVD 720p H.265.json`
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
Clone the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/handbrake-batch-converter.git
|
||||
cd handbrake-batch-converter
|
||||
chmod +x convert.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
./convert.sh --source /path/to/source --destination /path/to/destination --mode [bluray|dvd]
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
```bash
|
||||
./convert.sh \
|
||||
--source "/media/movies_raw" \
|
||||
--destination "/media/movies_converted" \
|
||||
--mode bluray
|
||||
```
|
||||
|
||||
This will:
|
||||
1. Search `/media/movies_raw` for all `.mkv` files, including in subdirectories.
|
||||
2. Re-create the same folder structure under `/media/movies_converted`.
|
||||
3. Convert each file using the `BluRay H.265 HEVC` preset.
|
||||
4. Skip files that already exist in the destination.
|
||||
|
||||
---
|
||||
|
||||
## Modes
|
||||
|
||||
| Mode | Preset File | Description |
|
||||
|----------|-------------------------------------------|-----------------------------|
|
||||
| bluray | `./profiles/BluRay H.265 HEVC.json` | For high-quality Blu-ray rips |
|
||||
| dvd | `./profiles/DVD 720p H.265.json` | For standard DVD conversions |
|
||||
|
||||
---
|
||||
|
||||
## Log File
|
||||
|
||||
All conversion logs are saved to:
|
||||
```
|
||||
./handbrake_convert.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Directory Structure Example
|
||||
|
||||
**Source:**
|
||||
```
|
||||
/source
|
||||
├── Movie1
|
||||
│ ├── video1.mkv
|
||||
│ └── video2.mkv
|
||||
└── Movie2
|
||||
└── video1.mkv
|
||||
```
|
||||
|
||||
**Destination after conversion:**
|
||||
```
|
||||
/destination
|
||||
├── Movie1
|
||||
│ ├── video1.mkv
|
||||
│ └── video2.mkv
|
||||
└── Movie2
|
||||
└── video1.mkv
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License.
|
||||
|
||||
Reference in New Issue
Block a user