This is mostly a learning project, so that I can get to know Go, but it was driven by a desire
to have a tool that could split .m4b
files faster than some of the existing projects out there.
The goal is to have a command that can be passed either a file path or a directory
path, and process any given or found .m4b
files into chapter files.
- Posix OS
- FFMpeg >= 5.1.2
$> ./booksplitter -p /some/path/to/an/audiobook.m4b
The single file extraction works, but with a few magic assumptions that need to be parameterized or set up with a config
- All extracted books go to a set path
/data/Audiobooks/extracted
- All extracted files are converted to
.m4a
with a copy of the underlying audio bitstream, which in most cases isaac
- This is fast
- This is not flexible
- Build out config or use environment variables to remove magic values
- Enable recursive discovery and extraction
- Add error handling for potentially broken metadata specifically chapters and title information.