[Enhancement]: Allow streaming podcasts directly from source to the app, without downloading to server #995

Closed
opened 2026-04-24 23:45:18 +02:00 by adam · 2 comments
Owner

Originally created by @guspix on GitHub (Jul 19, 2024).

Describe the Feature/Enhancement

The Audiobookshelf mobile app currently allows you to search for podcasts, add them to the server, search for episodes of that podcast, choose which ones to download to the ABS server, and then either stream or download these episodes from the server to the mobile app. I think it could be very useful to be able to (optionally) allow the mobile app to stream or download these podcast episodes directly from the source, without having to download them to the server first. The episode metadata could be downloaded to the server without having to download the episodes themselves.

Why would this be helpful?

I love ABS for listening to audiobooks, it has quickly replaced Smart Audiobook Reader as the most used app on my phone. It has been able to replace about three different apps I used to use to listen to audiobooks, audio dramas, etc, while keeping everything in open formats and local. I recently started using it to replace my podcast app too (which used to be Google Podcasts so I'm shopping around right now), so I don't have to still use two different apps to listen to spoken content. I've mostly liked the experience, but with a catch. I frequently find new podcasts to listen to, and I like to look through their episode list, start listening to anything that sounds interesting, and skip between episodes depending on what grabs my attention. I also like to look through old episodes of podcasts I like and listen to some of them.

With ABS that means if I find something interesting I have to first download any interesting looking episodes to my server, just to listen to (some of) it, and I have to remember to delete it later since I almost never listen to an episode of most podcasts twice and I don't want it to consume my server's limited storage. If I was able to stream directly from the source I would just need to download the metadata to my server (or maybe not even that, depending on the implementation) and I could just choose any episode from the episode list and start streaming.

I know that for many people ABS is all about owning your data and not depending on a third party not erasing it, but with podcasts being an open standard already I'm not too worried about that except for some specific cases (and for those cases the current implementation is perfect).

Future Implementation (Screenshot)

I see two main ways this could be implemented. The one I think flows better with the current app is to add another checkbox on the add podcast screen, below/near the Auto Download Episodes checkbox:

It could say something like "Download Metadata For All Episodes" (maybe with better wording). If checked, all episodes would appear on that podcast's episode list even though they're not on the server (it could also work as a default option for all podcasts added to your library). The episode list would look very similar to the current one:

The main change I would make is add a button similar to the current download button, but for downloading to the server. If you press play on an episode that is not on the server it would "simply" stream it from source. You can also download it to your phone without downloading it to the server first.

The second option for implementation is completely skipping the server. I don't think this meshes too well with the general way ABS works, but the mobile app could implement this whole feature without touching the server. The podcast search and episode search features can be done directly from the device, and the episode could be streamed directly from the source. The benefit from this implementation would be that it would work even when you don't have access to your server, though you would probably lose the ability to sync progress between devices. It would also mean the development only has to be done on the mobile app and not the server.

Audiobookshelf App Version

Android App - 0.9.74

Current Implementation (Screenshot)

I thought of this because of the general flow of how the podcasts work in the app, not because of a specific screen.

Originally created by @guspix on GitHub (Jul 19, 2024). ### Describe the Feature/Enhancement The Audiobookshelf mobile app currently allows you to search for podcasts, add them to the server, search for episodes of that podcast, choose which ones to download to the ABS server, and then either stream or download these episodes from the server to the mobile app. I think it could be very useful to be able to (optionally) allow the mobile app to stream or download these podcast episodes directly from the source, without having to download them to the server first. The episode metadata could be downloaded to the server without having to download the episodes themselves. ### Why would this be helpful? I love ABS for listening to audiobooks, it has quickly replaced Smart Audiobook Reader as the most used app on my phone. It has been able to replace about three different apps I used to use to listen to audiobooks, audio dramas, etc, while keeping everything in open formats and local. I recently started using it to replace my podcast app too (which used to be Google Podcasts so I'm shopping around right now), so I don't have to still use two different apps to listen to spoken content. I've mostly liked the experience, but with a catch. I frequently find new podcasts to listen to, and I like to look through their episode list, start listening to anything that sounds interesting, and skip between episodes depending on what grabs my attention. I also like to look through old episodes of podcasts I like and listen to some of them. With ABS that means if I find something interesting I have to first download any interesting looking episodes to my server, just to listen to (some of) it, and I have to remember to delete it later since I almost never listen to an episode of most podcasts twice and I don't want it to consume my server's limited storage. If I was able to stream directly from the source I would just need to download the metadata to my server (or maybe not even that, depending on the implementation) and I could just choose any episode from the episode list and start streaming. I know that for many people ABS is all about owning your data and not depending on a third party not erasing it, but with podcasts being an open standard already I'm not too worried about that except for some specific cases (and for those cases the current implementation is perfect). ### Future Implementation (Screenshot) I see two main ways this could be implemented. The one I think flows better with the current app is to add another checkbox on the add podcast screen, below/near the Auto Download Episodes checkbox: <img src="https://github.com/user-attachments/assets/aec5cf6b-15dd-4f01-badb-5a6b583db0f3" width="400"> It could say something like "Download Metadata For All Episodes" (maybe with better wording). If checked, all episodes would appear on that podcast's episode list even though they're not on the server (it could also work as a default option for all podcasts added to your library). The episode list would look very similar to the current one: <img src="https://github.com/user-attachments/assets/e0ef3c3b-f014-4e06-9a34-773f131e9654" width="400"> The main change I would make is add a button similar to the current download button, but for downloading to the server. If you press play on an episode that is not on the server it would "simply" stream it from source. You can also download it to your phone without downloading it to the server first. The second option for implementation is completely skipping the server. I don't think this meshes too well with the general way ABS works, but the mobile app could implement this whole feature without touching the server. The podcast search and episode search features can be done directly from the device, and the episode could be streamed directly from the source. The benefit from this implementation would be that it would work even when you don't have access to your server, though you would probably lose the ability to sync progress between devices. It would also mean the development only has to be done on the mobile app and not the server. ### Audiobookshelf App Version Android App - 0.9.74 ### Current Implementation (Screenshot) I thought of this because of the general flow of how the podcasts work in the app, not because of a specific screen.
adam added the enhancement label 2026-04-24 23:45:18 +02:00
adam closed this issue 2026-04-24 23:45:18 +02:00
Author
Owner

@nichwall commented on GitHub (Jul 23, 2024):

Thanks for taking the time to make the suggestion and add screenshots. Similar requests have been brought up before, but as you mentioned ABS is designed around the client/server model, and this is not likely to be done for the mobile apps. The ABS app is not intended as a traditional podcast app for discovery, so you'll be better served using another traditional podcast app (but could still host the podcast files in ABS and open an RSS feed for that app if you have a specific podcast you want to listen to and have everything in one place).

There are some feature requests around tracking metadata/progress for items without files on the server (podcasts and books) but not sure if or when that will be implemented. There is also a feature request to make browsing for episodes to download easier, but right now you can use the "Find Episodes" button that looks like a magnifying glass in the web client if you want to download specific episodes.

@nichwall commented on GitHub (Jul 23, 2024): Thanks for taking the time to make the suggestion and add screenshots. Similar requests have been brought up before, but as you mentioned ABS is designed around the client/server model, and this is not likely to be done for the mobile apps. The ABS app is not intended as a traditional podcast app for discovery, so you'll be better served using another traditional podcast app (but could still host the podcast files in ABS and open an RSS feed for that app if you have a specific podcast you want to listen to and have everything in one place). There are some feature requests around tracking metadata/progress for items without files on the server (podcasts and books) but not sure if or when that will be implemented. There is also a feature request to make browsing for episodes to download easier, but right now you can use the "Find Episodes" button that looks like a magnifying glass in the web client if you want to download specific episodes.
Author
Owner

@advplyr commented on GitHub (Jul 23, 2024):

I understand the use-case for this but building out a traditional podcast app that is integrated into Abs would be too messy. We decided early on in the podcast feature development that we would stick to being a media server.
We are continually working on the API to encourage developers to build 3rd party apps, so it is possible another 3rd party client does something like that. As for the native Abs apps this is not planned.

@advplyr commented on GitHub (Jul 23, 2024): I understand the use-case for this but building out a traditional podcast app that is integrated into Abs would be too messy. We decided early on in the podcast feature development that we would stick to being a media server. We are continually working on the API to encourage developers to build 3rd party apps, so it is possible another 3rd party client does something like that. As for the native Abs apps this is not planned.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#995