| Crates.io | m4b-extractor |
| lib.rs | m4b-extractor |
| version | 0.0.2 |
| created_at | 2025-07-06 06:35:14.341954+00 |
| updated_at | 2025-07-06 06:40:43.720397+00 |
| description | CLI tool to extract chapters, metadata and cover for M4B Audiobook. |
| homepage | https://github.com/ewilan-riviere/m4b-extractor |
| repository | https://github.com/ewilan-riviere/m4b-extractor |
| max_upload_size | |
| id | 1739861 |
| size | 7,304,256 |
Rust CLI tool to extract chapters, metadata and cover for M4B Audiobook. . Based on idea of Hasan Arous.
You can install m4b-extractor with Cargo.
cargo install m4b-extractor
You have to pass the path to the .m4b file you want to extract chapters from.
m4b-extractor /path/to/input.m4b
You will get a directory named <input_file>_chapters containing:
.mp3 file.metadata.json file with the metadata of the book.tags.yaml file with the tags of the book.folder.jpg file with the cover of the book.1_Chapter 01.mp3
2_Chapter 02.mp3
3_Chapter 03.mp3
# ...
folder.jpg
metadata.json
tags.yaml
m4b-extractor --help
-o, --output <OUTPUT>: Specify the output directory for extracted chapters (default: <input_file>_chapters).-k, --keep: Keep the original .m4b files without converting them to .mp3.-q, --quality <QUALITY>: Specify the conversion quality (1=best, 9=worst) for .mp3 files (default: 2).-s, --sanitize: Sanitize filenames by replacing invalid characters with underscores (default: false).-h, --help: Print help information.-V, --version: Print the version of the tool.Build and test the package:
cargo test
cargo build --release
Test publishing:
cargo publish --dry-run
Publish the package to crates.io:
cargo publish
This project is licensed under the MIT License - see the LICENSE file for details.