Why are wma and m4b format downloads so slow?
When downloading audiobooks in .wma and .m4b formats on the client app, you may notice that the download speed is significantly slower compared to .mp3 or .m4a formats. This is expected behavior due to how the system handles these files.
Reason
To ensure cross-platform compatibility across Web browsers, iOS, and Android clients, the server performs real-time online transcoding via FFmpeg for both playback and downloading of .m4b and .wma formats (transcoding them into an MP3 stream that clients can easily handle).
This transcoding process consumes a large amount of server CPU resources, and the server cannot simply send the original file as it does with other formats. Therefore, the speed of offline downloads for these two formats is bottlenecked by the server's real-time transcoding performance, making it extremely slow.
Solutions and Recommendations
If you must download these formats for offline listening, please strictly follow these recommendations:
1. Limit Download Threads (Highly Important)
Because transcoding is highly resource-intensive, it is strongly recommended to limit your download thread count (concurrency) to 1-2 when downloading .wma or .m4b files in the client. Setting the download concurrency too high will overload the server's CPU, severely impacting overall system stability, and potentially causing the server to freeze, crash, or downloads to fail entirely.
2. Pre-convert Locally (Recommended Solution)
If you have a large number of audiobooks that you intend to download for offline use, the best approach is to pre-convert them to .mp3 or .m4a formats locally on your PC or NAS before importing them into the system. This allows the client to download the original files directly without triggering server-side transcoding, drastically improving download speeds.
Popular free conversion tools:
- Format Factory: Great for Windows users, supports drag-and-drop batch conversion.
- FFmpeg: Great for advanced users, allows ultra-fast command-line conversion.
- XLD (X Lossless Decoder): Great for macOS users.
