Added a post-download hook for applying processing of downloaded audio before adding to library.
This commit is contained in:
@@ -15,6 +15,59 @@ https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/manifest.json
|
||||
- Browse and subscribe to podcasts
|
||||
- Automatic episode downloads
|
||||
- Integration with Jellyfin's library system
|
||||
- Post-download script hook for audio processing
|
||||
|
||||
## Post-Download Script Hook
|
||||
|
||||
Jellypod supports running a custom script on each downloaded episode before it's added to your library. This is useful for:
|
||||
|
||||
- Audio normalization (e.g., using ffmpeg-normalize)
|
||||
- Format conversion
|
||||
- Metadata enhancement
|
||||
- Custom processing workflows
|
||||
|
||||
### Configuration
|
||||
|
||||
In the plugin settings (Dashboard → Plugins → Jellypod):
|
||||
|
||||
1. **Post-Download Script Path**: Full path to your script or executable
|
||||
2. **Script Timeout**: Maximum execution time in seconds (default: 60)
|
||||
|
||||
### Script API
|
||||
|
||||
Your script will be called with two arguments:
|
||||
|
||||
```bash
|
||||
script <input_file> <output_file>
|
||||
```
|
||||
|
||||
- `input_file`: Path to the downloaded episode (read-only)
|
||||
- `output_file`: Path where your script should write the processed file
|
||||
|
||||
### Example Scripts
|
||||
|
||||
**Audio normalization (bash + ffmpeg):**
|
||||
```bash
|
||||
#!/bin/bash
|
||||
INPUT="$1"
|
||||
OUTPUT="$2"
|
||||
ffmpeg-normalize "$INPUT" -o "$OUTPUT" -c:a libmp3lame -b:a 128k
|
||||
```
|
||||
|
||||
**Format conversion (bash + ffmpeg):**
|
||||
```bash
|
||||
#!/bin/bash
|
||||
INPUT="$1"
|
||||
OUTPUT="$2"
|
||||
ffmpeg -i "$INPUT" -c:a aac -b:a 128k "$OUTPUT"
|
||||
```
|
||||
|
||||
### Behavior
|
||||
|
||||
- If the script succeeds (exit code 0) and creates the output file, the processed file is added to your library
|
||||
- If the script fails, times out, or doesn't create an output file, the original downloaded file is used instead
|
||||
- All script output (stdout/stderr) is logged for debugging
|
||||
- Leave the script path empty to disable post-processing
|
||||
|
||||
## Screenshots
|
||||
|
||||
|
||||
Reference in New Issue
Block a user