56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
# m4b
|
||
|
||
A Python CLI script that converts audio content (possibliy an EPUB file with media overlay) into a single M4B audiobook, optionally embedding chapter metadata and cover art. It can also fetch metadata from Open Library (e.g., title, author, cover).
|
||
|
||
Forked from [patricker/m4binder@6b3461a](https://github.com/RenatoXSR/m4binder/commit/6b3461a8b31880849d80fb7ad3565be3ca70c751) and relicensed to BSD-3-Clause-Clear.
|
||
|
||
---
|
||
|
||
## Prerequisites
|
||
|
||
1. **FFmpeg**
|
||
You must have [FFmpeg](https://www.ffmpeg.org/download.html) installed and in your system’s PATH. This script relies on FFmpeg for audio processing (encoding, merging, adding metadata).
|
||
|
||
2. **Python 3.13+**
|
||
- If you don’t already have Python, install it from [python.org/download/releases/](https://www.python.org/download/releases/).
|
||
|
||
3. **Pip & Requirements**
|
||
The script has some Python dependencies (namely, mutagen).
|
||
|
||
---
|
||
|
||
|
||
## Usage
|
||
|
||
```sh
|
||
pip install -e .
|
||
python -m m4b --help
|
||
```
|
||
|
||
|
||
---
|
||
|
||
## Troubleshooting
|
||
|
||
1. **FFmpeg Not Found**
|
||
- Ensure `ffmpeg` is installed and on your system’s PATH. You can verify by running `ffmpeg -version`.
|
||
|
||
2. **No Audio Files Detected**
|
||
- Double-check your input folder paths. Make sure files actually have a supported extension.
|
||
|
||
3. **Metadata Not Found / Covers Missing**
|
||
- Open Library may not have an entry for your exact title/author. Ensure you’ve spelled them correctly, or use `--metadata-source none` to rely on embedded cover art.
|
||
|
||
4. **High CPU Usage**
|
||
- By default, the script parallelizes conversion of audio files (for faster performance).
|
||
|
||
---
|
||
|
||
## License
|
||
|
||
Current: See [LICENSE](./LICENSE)
|
||
|
||
Previouse license:
|
||
"This project is provided under the [MIT License](./LICENSE) (or whichever license you apply). Feel free to modify and distribute it according to your needs."
|
||
See: [README.md](https://github.com/patricker/m4binder/tree/6b3461a8b31880849d80fb7ad3565be3ca70c751)
|