advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
5.75k stars 395 forks source link

MP3 to M4B conversion fails[Bug]: #3029

Open ashtom50 opened 1 month ago

ashtom50 commented 1 month ago

What happened?

When I try to convert a book in mp3 format to m4b the conversion fails immediately and i get an error in the logs "[DownloadWorker] Ffmpeg Err: Output format mp4 is not available" This seems to have started after upgrading to V2.10.1

What did you expect to happen?

When clicking convert I expect the audiobook to process for at least a few minutes. I then rescan my library and the book is updated as M4B.

Steps to reproduce the issue

  1. Go to audiobook in mp3 format.
  2. Go to tools and convert to M4B
  3. Click convert

Audiobookshelf version

2.10.1

How are you running audiobookshelf?

Debian/PPA

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

Chrome

Logs

[DownloadWorker] Ffmpeg Err: Output format mp4 is not available

Additional Notes

Running through proxmox. Installed with helper script.

Pantechniconsole commented 1 month ago

Finding the same with my first install of Audiobookshelf

Audiobookshelf version 2.10.1

How are you running Audiobookshelf? Windows 11 (Browser)

What OS is your Audiobookshelf server hosted from? Linux Mint (Ubuntu)

If the issue is being seen in the UI, what browsers are you seeing the problem on? Edge, Firefox

Logs 2024-06-01 16:28:21.195 INFO Start m4b encode for f98c8916-03ee-4626-8bb8-580e3b867886 - TaskId: 7e2bce5e-8cd3-47a0-8014-8e6435b15327 2024-06-01 16:28:21.274 ERROR [DownloadWorker] Ffmpeg Err: Output format mp4 is not available 2024-06-01 16:28:21.275 INFO [AbMergeManager] Removing task 7e2bce5e-8cd3-47a0-8014-8e6435b15327

advplyr commented 1 month ago

Ah interesting, this may be an issue with the latest version of ffmpeg on the Debian package because a similar "Output format is not available" was brought up in #3031 relating to HLS transcoding

advplyr commented 1 month ago

Quick search and I found the wrapper we use for ffmpeg patched this issue for ffmpeg v7 recently. https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/pull/1274

The reason this only impacts the Debian package is because Windows installer is using ffmpeg 5.1 (due to an issue with ffmpeg 6 on Windows) and the Docker installs are using ffmpeg 6.

Pantechniconsole commented 1 month ago

It's surprising you mention it's working on Windows. I did try the Windows install earlier but the Tools tab shows "Not supported for the Windows install yet".

advplyr commented 1 month ago

M4B conversion isn't supported on Windows because Tone isn't included as a dependency. Ffmpeg does work on Windows which is used to transcode audiobooks that can't be direct played. Also used when downloading podcast episodes to embed metadata in the audio files.

BlwAvg commented 1 month ago

https://xkcd.com/208/

Thank you for the fix.