From b33f9aa7d996a4dce62433a672bd56ae42b32f58 Mon Sep 17 00:00:00 2001 From: Oleksandr Zinchenko Date: Thu, 2 Apr 2026 18:27:27 -0700 Subject: [PATCH 1/4] Simplify 'Getting Started' readme section --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 82f7d33..0bed51c 100644 --- a/README.md +++ b/README.md @@ -45,23 +45,23 @@ Scan a root directory for audiobook folders and convert them to M4B files in par ## Getting Started -Ensure the following dependencies are installed: [ffmpeg](https://ffmpeg.org) and [mp4v2](https://mp4v2.org/). +The following tools must be installed and available in `PATH`: -```bash -# For RPM-based systems (Fedora, RHEL, CentOS) -sudo dnf install ffmpeg libmp4v2 +- [ffmpeg](https://ffmpeg.org) +- [mp4v2](https://mp4v2.org/) +- [awk](https://linux.die.net/man/1/awk), [sed](https://linux.die.net/man/1/sed), [bc](https://linux.die.net/man/1/bc) -# For Debian-based systems (Ubuntu, Debian) -sudo apt install ffmpeg -``` +**Optional:** + +`ffmpeg` with [libfdk_aac](https://github.com/mstorsjo/fdk-aac) enables higher-quality VBR encoding. -To install the scripts, run: +**Installation:** ```bash make install ``` -This installs the scripts to `/usr/local/sbin/`. +Installs scripts to `/usr/local/sbin/`. ## m4bify @@ -86,7 +86,7 @@ m4bify [--help] [-d | --chapters-from-dirs] [-b | --bitrate ] - `-d`, `--chapters-from-dirs`: Treats each top-level subdirectory as a chapter. - `-b `, `--bitrate `: Sets the audio encoding bitrate. Supported values: - `k` - Fixed bitrate (e.g. "32k", "128k") - - `vbr` - VBR Very High + - `vbr` - VBR Very High (This is the default option) - `alac` - [Apple Lossless Audio Codec](https://en.wikipedia.org/wiki/Apple_Lossless_Audio_Codec) - `--help`: Displays usage instructions and exits. From 9bcb561101abb811301ca464275b3d362363fc85 Mon Sep 17 00:00:00 2001 From: Oleksandr Zinchenko Date: Thu, 2 Apr 2026 18:37:20 -0700 Subject: [PATCH 2/4] release: v0.3.8 --- m4bify.sh | 2 +- m4bulk.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/m4bify.sh b/m4bify.sh index c8f2048..69d09f2 100755 --- a/m4bify.sh +++ b/m4bify.sh @@ -40,7 +40,7 @@ # - mp4chaps For adding chapter metadata to the final M4B file. # - mp4art For adding in a cover image to the final M4A file before converting it to M4B. -readonly VERSION="v0.3.7" +readonly VERSION="v0.3.8" # Color schema for pretty print readonly NC='\033[0m' # No Color diff --git a/m4bulk.sh b/m4bulk.sh index 4684424..2401e1f 100755 --- a/m4bulk.sh +++ b/m4bulk.sh @@ -46,7 +46,7 @@ # - Logs for each audiobook conversion will be saved in the same directory as the source audiobooks. # - Customize worker threads and m4bify options to optimize for system resources and project requirements. -readonly VERSION="v0.3.7" +readonly VERSION="v0.3.8" # Color schema for pretty print readonly NC='\033[0m' # No Color From cad0d69e2f9c06531909d05021b9af78ef3d573f Mon Sep 17 00:00:00 2001 From: Oleksandr Zinchenko Date: Thu, 2 Apr 2026 18:43:20 -0700 Subject: [PATCH 3/4] Include dependencies into usage info --- m4bify.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/m4bify.sh b/m4bify.sh index 69d09f2..bb1d13b 100755 --- a/m4bify.sh +++ b/m4bify.sh @@ -177,6 +177,12 @@ function print_usage { echo -e " ${COLORS[CMD]}ffprobe${NC} - Used for analyzing audio file properties." echo -e " ${COLORS[CMD]}mp4chaps${NC} - Needed for chapter metadata manipulation." echo -e " ${COLORS[CMD]}mp4art${NC} - Adds cover image to audio book." + echo -e " ${COLORS[CMD]}awk${NC} - Text processing." + echo -e " ${COLORS[CMD]}sed${NC} - Stream editing." + echo -e " ${COLORS[CMD]}bc${NC} - Arithmetic operations." + echo -e "" + echo -e " Optional:" + echo -e " ${COLORS[CMD]}libfdk_aac${NC} - Enables higher-quality VBR encoding (via ffmpeg)." echo -e "" } From fc577cc28b241cdd356ce3f35414906203187a92 Mon Sep 17 00:00:00 2001 From: Oleksandr Zinchenko Date: Thu, 2 Apr 2026 19:23:51 -0700 Subject: [PATCH 4/4] Simplify Getting Started --- README.md | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0bed51c..bbdd022 100644 --- a/README.md +++ b/README.md @@ -47,22 +47,17 @@ Scan a root directory for audiobook folders and convert them to M4B files in par The following tools must be installed and available in `PATH`: -- [ffmpeg](https://ffmpeg.org) -- [mp4v2](https://mp4v2.org/) +- [ffmpeg](https://ffmpeg.org) *(optionally with [libfdk_aac](https://github.com/mstorsjo/fdk-aac) for higher-quality VBR encoding)* +- [mp4v2](https://mp4v2.org/) *(mp4chaps, mp4art)* - [awk](https://linux.die.net/man/1/awk), [sed](https://linux.die.net/man/1/sed), [bc](https://linux.die.net/man/1/bc) -**Optional:** - -`ffmpeg` with [libfdk_aac](https://github.com/mstorsjo/fdk-aac) enables higher-quality VBR encoding. - -**Installation:** +*Installation:* ```bash +# Installs to /usr/local/sbin/ make install ``` -Installs scripts to `/usr/local/sbin/`. - ## m4bify `m4bify` creates M4B audiobook by processing files in the specified directory, sorting them alphabetically to ensure the correct playback order. Chapters can be organized either as file-based, where each audio file becomes its own chapter named using metadata or filenames, or directory-based, where each top-level subdirectory is treated as a chapter, combining all its audio files, including those in nested folders, into one. @@ -86,7 +81,7 @@ m4bify [--help] [-d | --chapters-from-dirs] [-b | --bitrate ] - `-d`, `--chapters-from-dirs`: Treats each top-level subdirectory as a chapter. - `-b `, `--bitrate `: Sets the audio encoding bitrate. Supported values: - `k` - Fixed bitrate (e.g. "32k", "128k") - - `vbr` - VBR Very High (This is the default option) + - `vbr` - VBR Very High *(default)* - `alac` - [Apple Lossless Audio Codec](https://en.wikipedia.org/wiki/Apple_Lossless_Audio_Codec) - `--help`: Displays usage instructions and exits.