[Enhancement]: Multicore support for M4B-encoding #940

Closed
opened 2026-04-24 23:27:04 +02:00 by adam · 4 comments
Owner

Originally created by @Rogibaer on GitHub (Feb 6, 2023).

Describe the feature/enhancement

Hello,
if I understand the m4b conversion feature correctly, it is using m4b-tool, right?

For m4b-tool there is the --jobs parameter, which lets you specify the number of cores used for encoding.
Can you implement an option to alter the number of jobs for the M4b-encode?
Would be a huge benefit for me!

Keep up the excellent work!

Kind regards,

Originally created by @Rogibaer on GitHub (Feb 6, 2023). ### Describe the feature/enhancement Hello, if I understand the m4b conversion feature correctly, it is using m4b-tool, right? For m4b-tool there is the --jobs parameter, which lets you specify the number of cores used for encoding. Can you implement an option to alter the number of jobs for the M4b-encode? Would be a huge benefit for me! Keep up the excellent work! Kind regards,
adam added the enhancement label 2026-04-24 23:27:04 +02:00
adam closed this issue 2026-04-24 23:27:06 +02:00
Author
Owner

@jmt-gh commented on GitHub (Feb 9, 2023):

We leverage ffmpeg directly to handle this, not m4b-tool. My understanding is that ffmpeg, while it does have the option to specify threads, by default it will leverage the optimal number of threads given the CPU capabilities it's running on, and the type of job it's doing. I would be interested to know if you find otherwise

@jmt-gh commented on GitHub (Feb 9, 2023): We leverage ffmpeg directly to handle this, not m4b-tool. My understanding is that ffmpeg, while it does have the option to specify threads, by default it will leverage the optimal number of threads given the CPU capabilities it's running on, and the type of job it's doing. I would be interested to know if you find otherwise
Author
Owner

@advplyr commented on GitHub (Feb 11, 2023):

@jmt-gh is correct, we are not using m4b-tool, we are using ffmpeg.

@advplyr commented on GitHub (Feb 11, 2023): @jmt-gh is correct, we are not using m4b-tool, we are using ffmpeg.
Author
Owner

@Kuglikrug commented on GitHub (Oct 4, 2024):

Hi all, while encoding a 90 part mp3 audiobook into a single m4b file using the built in M4B-encoder, I noticed that my 8 Core CPU is only at ~15% utilization.
It seems like all cores are being used but is there a way to "allow" ABS to saturate my CPU to the fullest?
I hope that this would increase the encoding speed.

@Kuglikrug commented on GitHub (Oct 4, 2024): Hi all, while encoding a 90 part mp3 audiobook into a single m4b file using the built in M4B-encoder, I noticed that my 8 Core CPU is only at ~15% utilization. It seems like all cores are being used but is there a way to "allow" ABS to saturate my CPU to the fullest? I hope that this would increase the encoding speed.
Author
Owner

@CacklingCapybara commented on GitHub (Oct 23, 2024):

I also am looking for this. If using built in m4b merger, it only uses a single core (out of 16 available) and it takes over an hour to process. When I use m4b-tool, I specify jobs=10 and it completes in <10 minutes. Would appreciate a way to specify number of cores/threads as opposed to just leaving at default.

@CacklingCapybara commented on GitHub (Oct 23, 2024): I also am looking for this. If using built in m4b merger, it only uses a single core (out of 16 available) and it takes over an hour to process. When I use m4b-tool, I specify jobs=10 and it completes in <10 minutes. Would appreciate a way to specify number of cores/threads as opposed to just leaving at default.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#940