Files
2026-08-27 14:20:47 -03:00

56 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)