(Edit: thank you, everybody, for the great answers!!!)
But the ideal solution would be to have some way of generating fingerprints for each audiobook, and then build up a database which matches that fingerprint to the correct metadata. That way the work of organizing and tagging large collections could be crowdsourced; this is what other communities have done.
Maybe we're not too far off from AI-assisted tools that can just figure out how to properly tag a bunch of items correctly just by looking at the filename and existing metadata. Maybe even picking up on additional contextual clues by listening to a little bit of a chapter, to check if the title of the work is mentioned at the start.
Some podcasts remove all of their backlog when they "sell out" and go behind a paywall, having them backed up prevents that. (How did this get made?[0] being one example)
Also some podcasts (BBC ones I think) add ads while you download, based on your country. Some of my No Such Thing As A Fish[1] episodes have Christmas themed ads in them because that's when they we're cached :)
[0] https://www.earwolf.com/show/how-did-this-get-made/ [1] https://www.nosuchthingasafish.com
I use it as my podcast app.
I mostly only have the last 2-5 Episodes on my server for each Podcast. (you can automatically remove episodes if there are more than X)
Though I do keep all Episodes for 3 of my favourite Podcasts.
Librivox has free, public domain audiobooks. The narrators are volunteers, so performance and recording quality varies, but there are some very good ones there.
Some podcasts provide legitimate audiobooks of copyrighted works, generally with similar quality caveats to Librivox. For example, the blog “Readings from Under the Grapevine” has a free, legally licensed recording of the Narnia series (except for The Lion, the Witch and the Wardrobe).
I never buy audiobooks with DRM, even if the DRM is trivial to break. Amazon has made clear their intentions to lock media down ever further. I shouldn’t have to put up with that, so I’m not going to support them financially.
If I can’t find a copyrighted audiobook at one of the DRM‐free shops, I get it from my library, either through Libby or by checking out a physical copy. Not that these would be helpful for someone using Audiobookshelf…
1. Does it properly stop the playback when headphones are disconnected?
2. Is there a usable lock-screen widget?
3. Does it auto-rewind after a pause? It's best when the pause duration is taken into account: it shouldn't rewind more than a couple of seconds if you pause for a second, but a whole minute may be better if you left it off yesterday.
4. Does it handle well situations when the server is not accessible? Can you just pre-download a couple of audio-books for your 10 h long flight? I mean, honestly, streaming is never desirable, the only point of a self-hosted server is that you don't have to download and delete your collection manually. It's a tricky problem when the playlist is highly variable (as with music), but for an audio-book player should be a non issue: just pre-fetch a whole book (maybe manually), storage space is a lesser issue than mobile internet.
I was referring to this bit, which is exactly what the Musicbrainz database does for music albums.
There are also alternative clients, like Lissen.
Maybe openwebui is another addition but it's still early days
Or, as a couple that I've listened to and might re-listen later have, they later start injecting adverts where they were not previously present, or start piling more in where they were reasonable before.
[Not a comment on Audiobookbay specifically, I don't remember having tried that one and it may be great for all I know]
2) Yes, but sometimes pressing play wont actually play. I also see this occurring with antenna-pod (FOSS podcast player), so I think this is Android 15 being broken, or they both use the same underlying (non standard?) audio library.
3) The sibling says yes, from checking the github issues, I think its not as "smart" as other players and simply does a fixed offset if you pause for some length of time. Honestly I always figured it ran back a few seconds due to how keyframes [sic] work in m4b files.
4) Yes, I do not have any data on my phone so I basically exclusively download my books to the device and play them offline. Sometimes I do get progress syncing issues, honestly I forget in which direction, possibly it only occurs when I finish a book offline then go online and it resets back to the last "still playing" sync point.
Sometimes I do have issues downloading a book, and it will stall out mid download. I can't say whether this is the app, the phone, the wifi or the server. It's sporadic, possibly fixed in some recentish version, haven't seen it for a while.
You can (independently) adjust the skip ahead/skip back buttons between 5s, 10s and 30s. I just leave it on 10s and mash if I have to. Before ABS I used Voice (FOSS, IMO great but I wanted library management too. Not as feature rich as Smart Audiobook Player, intentionally I think.) which only had one set of skip buttons so I never "missed" this in ABS.
Also want to mention that Music Assistant has an integration for it as a media source, so you can listen to podcasts/audiobooks on any speaker connected to your Home Assistant. https://www.music-assistant.io/music-providers/audiobookshel...
I subscribe to their monthly plan, $14.99/month, which gets me 1 credit per month. If you buy one audiobook a month that's $14.99, using that credit, it pays for itself. I really like using my credits on expensive audiobooks, like $25 or something (I'm basically getting the book at a discount) and then I buy cheaper audiobooks using my credit card.
You can stream your purchased books with their app, but I download the files (everything is DRM-free) and move them into Audiobookshelf. Most of their older books are just ZIP downloads of MP3s, but newer books come in M4B format (one large file with chapter markers). Both work flawlessly with Audiobookshelf.
If you buy an audiobook on Audible (e.g., Andy Weir), you can download the AAX file from Audible and use a converter to convert the file to M4B (this strips the DRM and makes it work with Audiobookshelf). This is in a legal gray-area, depending on your jurisdiction.
Personally, I have a Services folder with sub-folders for each self-hosted service. Each service folder has a compose.yaml file, and any additional files that the service might generate also go into its service folder (e.g. /Services/audiobookshelf/ has config/ and metadata/ as well as compose.yaml). I don't need every service running constantly, so I just update and run things manually as needed, but you could automate that. I really appreciate that you can just use `docker-compose pull` to update and `docker-compose up -d` to run the service without having to mess around with anything else.
And the built in equalizer. And the speed shifting. And the file management. It's just a great app.
The android app does allow you to download audio books for offline listening, which I use a lot when driving. Unfortunately the 'playlist' doesn't seem to just autoplay the next book. I don't like interacting with my phone behind the wheel. Not sure if it has an android auto app or not.
- bookmarks (I tried to use them, but it's too much work, if I really need to take a note, I better do it in written form)
- UI to write down characters (same: I used it a couple of times, just because it's there, but it's not worth it, use normal note-taking app for note-taking)
- equalizer (I'm sure somebody uses it, but I never truly needed it for audio-books)
And many more.
What actually matters are small details:
- Granular playback speed control. ABS seems to have it done right too, but some players have like 1-1.25-1.5-..., which is not granular enough to get normal conversational talking speed out of somebody way too slow.
- It is possible to enable ID3, but it doesn't force it either.
- It recognizes chapters in whatever I have. m4b, mp3, cue, many files in a single folder, many nested folders, whatever. If it gets things wrong, it is possible to merge books in the library. I guess, the worst case is if I am overzealous with chapters (like marking chapters in a youtube podcastwhich has a mark like every 2 minutes), but then again, it only means "stop at the end of the chapter" becomes not feasible, but otherwise it's fine.
- I guess, every audio-book player does, but still: it does remember positions in multiple books, so I can switch between lectures and fictions and get back to where I stopped.
- It takes into account the current playback speed when estimating how much time is left.
- It is possible to remove buttons you don't need, it's possible to choose an action at the end of the book, it's possible to choose a lot, but defaults are really just fine for me.
- I never used it, but thinking about your question I just found out it has "Skip start/end" functionality. This is just great, I'm excited to try it out ASAP.
Anyway, I probably forget some small details, so you better take a look yourself. It's not perfect, but good enough to study when building something similar. I can also suggest 1 thing that is not in SABP, and, again, it's important to not overload the UI, but I sometimes wished it was there. In SABP it's only possible to either stop after X minutes (with sleep-suggestive volume fade), or at the end of a chapter (without fade). Sometimes I wish I could tell it to stop at the end of a chapter approximately after X minutes (like, if it has a chapter every 7-15 minutes, and you are planning to listen for about 30-40 minutes more, but you don't want it to fade volume an to stop in the middle of a chapter overall). So it's either "approx X minutes" or simply "N more chapters". Neither is possible in SABP.
Also, I don't know it I actually want it, but it seemed nice listening to podcats in NewPipe (SABP doesn't have it). There is an option to skip silence in NewPipe. I didn't actually use it too much, and the last time was a while ago (I pretty much stopped to listen podcasts on it), but I seem to recall it worked nicely.
Metadata management is great. The best feature is getting the chapter from audible TOC with start/end times. So you'll get a way to navigate the books you've downloaded and not seek in a giant mp3/m4b files.
They are also alternatives to the official android client. The most annoying feature is that locally downloaded book crash the app. So now it's only streaming.
However there are alternative android and iOS apps: https://www.audiobookshelf.org/faq/app#are-there-any-3rd-par...
For iOS the best I've found is:
To any podcast listener and trying or having tried and found some great podcast apps:
I am looking for something to replace Overcast (subscribed) with on iOS.
Without getting into what has been happening to the app of late (because that’s not the reason), I would add that whenever there’s an app or service I start using a lot I try to look for an open or openish alternative. (This is just a personal thing I guess). And goodness I have been listening to crazy amounts of podcasts in the last 5-6 years.
I have tried PocketCasts (subscribed), Castro, and Downcast and I didn’t really like them (I know only PocketCasts is open — just wanted to give an idea).
I just need: native app, easy import/export, queue (just one would do), easy to reorder episodes, few intuitive row actions, history, ability to save/favourite some of the episodes; and ability to mark mass-played/unplayed (all/selected).
And very easy/swift switching between download/stream.
And most importantly reliable and stable and predictable.
If there’s something great in FOSS and in the works and they are looking for heavy podcast listeners as beta testers I would love to help out if I could (and could even help out on Android code side if at all and if it’s multi platform).
tl;dr: looking for a solid iOS native podcast player app that is not Overcast, PocketCasts, Castro, or DownCast (and I am not deriding these apps)
I think there are plans to rectify this behavior in a future release though.