[Enhancement]: Audible Original Podcasts #1145

Open
opened 2026-04-24 23:34:08 +02:00 by adam · 5 comments
Owner

Originally created by @darth3pio on GitHub (May 24, 2023).

Describe the feature/enhancement

Currently iTunes is the only scraped source for podcasts however there are a few gems available on Audible that don't fit an ideal structure for the books category, it'd be nice for Audible to be added as a podcast source.

Originally created by @darth3pio on GitHub (May 24, 2023). ### Describe the feature/enhancement Currently iTunes is the only scraped source for podcasts however there are a few gems available on Audible that don't fit an ideal structure for the books category, it'd be nice for Audible to be added as a podcast source.
adam added the enhancement label 2026-04-24 23:34:08 +02:00
Author
Owner

@advplyr commented on GitHub (May 24, 2023):

From what I can tell Audible doesn't use an RSS feed so there would be no way for Abs to get access to the audio files to play the episodes. The Api does expose the metadata though.
Are you downloading these podcast episodes from Audible?

@advplyr commented on GitHub (May 24, 2023): From what I can tell Audible doesn't use an RSS feed so there would be no way for Abs to get access to the audio files to play the episodes. The Api does expose the metadata though. Are you downloading these podcast episodes from Audible?
Author
Owner

@darth3pio commented on GitHub (May 24, 2023):

I'll use "Heist with Michael Caine" as an example, the book api does scrape some info as though it were a book if I place it in a Book library but doesn't grab anything more with regards to episode info like summaries/release dates/episode names

Furthe note:
Yeah, we downloaded it from Audible and did a conversion to MP3 so it's just metadata importing that would be useful.

@darth3pio commented on GitHub (May 24, 2023): I'll use "Heist with Michael Caine" as an example, the book api does scrape some info as though it were a book if I place it in a Book library but doesn't grab anything more with regards to episode info like summaries/release dates/episode names Furthe note: Yeah, we downloaded it from Audible and did a conversion to MP3 so it's just metadata importing that would be useful.
Author
Owner

@advplyr commented on GitHub (May 24, 2023):

Got it. Here is an example of the API output I'm putting here for future reference
https://api.audible.com/1.0/catalog/products/B08JJN5ZBD?response_groups=media,product_desc,relationships,product_extended_attrs

@advplyr commented on GitHub (May 24, 2023): Got it. Here is an example of the API output I'm putting here for future reference https://api.audible.com/1.0/catalog/products/B08JJN5ZBD?response_groups=media,product_desc,relationships,product_extended_attrs
Author
Owner

@v3DJG6GL commented on GitHub (Apr 23, 2024):

I've just been made aware of this feature request.
I am facing a similar issue currently:
I use mcrackan/Libation to liberate my Audible audiobooks and podcasts.
Libation has the feature to save a *.metadata.json for every episode with a lot of metadata which ABS could use for content identification.

As an example, the podcast Im Schattenkloster. Chronik einer Gehirnwäsche
Within a podcast library, ABS displays this podcast as follows:
Screenshot 2024-04-23 at 21-13-57 Audiobookshelf

  • The published date is wrong. While the year seems correct, the month and date is wrong.
    I think the publish/release date should equal to issue_date or publication_datetime or release_date within metadata.json file.

  • The episodes are somehow mixed up:
    E01->E09
    E02->E08
    E03->E07
    E04->E06
    E08->E05
    Trailer->E04
    E05->E03
    E06->E02
    I think the episode number should correspond to value sort in the metadata.json file.

  • the ASIN tag is not used at all. But since I cannot choose Audible as metadata provider, this isn't really a surprise.

Here 4 metadata.json files from the Trailer and the first episodes.
Trailer Im Schattenkloster. Chronik einer Gehirnwäsche [asin-B0CL4NJN74].metadata.json
Flg. 1 - Sehnsucht [asin-B0CL4N5Y8L].metadata.json
Flg. 2 - Horrortrip [asin-B0CL4NC3K1].metadata.json
Flg. 3 - Eistee-Privilegien [asin-B0CL4MJB13].metadata.json

Furthermore, the m4b files itself do also contain some metadata.
Here, as an example, the first episode:

{
"creatingLibrary": {
"name": "MediaInfoLib",
"version": "22.09",
"url": "https://mediaarea.net/MediaInfo"
},
"media": {
"@ref": "<REDACTED>\Flg. 1 - Sehnsucht [asin-B0CL4N5Y8L].m4b",
"track": [
{
"@type": "General",
"AudioCount": "1",
"MenuCount": "1",
"FileExtension": "m4b",
"Format": "MPEG-4",
"Format_Profile": "Base Media",
"CodecID": "isom",
"CodecID_Compatible": "iso2/mp41/M4A /M4B ",
"FileSize": "38613973",
"Duration": "2427.530",
"OverallBitRate_Mode": "VBR",
"OverallBitRate": "127254",
"StreamSize": "505117",
"HeaderSize": "32",
"DataSize": "38108941",
"FooterSize": "505000",
"IsStreamable": "No",
"Title": "Flg. 1 - Sehnsucht",
"Title_More": "Tom und seine Frau Jana sehnen sich nach einem Leben in Gemeinschaft. Sie lernen eine ungewöhnliche WG kennen, die von einer Utopie träumt. Was die beiden nicht wissen: Die Gruppe steht im Verdacht, psychische und sexualisierte Gewalt auszuüben. Die Reporterin Eva Hoffmann beginnt zu recherchieren.\\nDieser Podcast ist eine Kooperation mit dem SüddeutscheZeitungMagazin.",
"Album": "Im Schattenkloster. Chronik einer Gehirnwäsche",
"Track": "Flg. 1 - Sehnsucht",
"Track_More": "Tom und seine Frau Jana sehnen sich nach einem Leben in Gemeinschaft. Sie lernen eine ungewöhnliche WG kennen, die von einer Utopie träumt. Was die beiden nicht wissen: Die Gruppe steht im Verdacht, psychische und sexualisierte Gewalt auszuüben. Die Reporterin Eva Hoffmann beginnt zu recherchieren.\\nDieser Podcast ist eine Kooperation mit dem SüddeutscheZeitungMagazin.",
"Performer": "Im Schattenkloster. Chronik einer Gehirnwäsche",
"Composer": "Eva Hoffmann, Patrick Bauer",
"Publisher": "Audible Studios",
"Genre": "True Crime",
"Recorded_Date": "2023",
"Encoded_Date": "UTC 2023-10-18 12:28:38",
"Tagged_Date": "UTC 2023-10-18 12:28:38",
"File_Created_Date": "UTC 2024-04-23 19:33:26.000",
"File_Created_Date_Local": "2024-04-23 21:33:26.000",
"File_Modified_Date": "UTC 2024-04-23 19:33:25.361",
"File_Modified_Date_Local": "2024-04-23 21:33:25.361",
"Encoded_Library": "Apple QuickTime",
"Encoded_Library_Name": "Apple QuickTime",
"Copyright": "©2023 Audible Studios ℗2023 Audible Studios",
"Cover": "Yes",
"Comment": "Tom und seine Frau Jana sehnen sich nach einem Leben in Gemeinschaft. Sie lernen eine ungewöhnliche WG kennen, die von einer Utopie träumt. Was die beiden nicht wissen: Die Gruppe steht im Verdacht, psychische und sexualisierte Gewalt auszuüben. Die Reporterin Eva Hoffmann beginnt zu recherchieren.\\nDieser Podcast ist eine Kooperation mit dem SüddeutscheZeitungMagazin.",
"extra": {
"Album_Performer": "Im Schattenkloster. Chronik einer Gehirnwäsche",
"_pti": "Im Schattenkloster. Chronik einer Gehirnwäsche",
"_pst": "Im Schattenkloster. Chronik einer Gehirnwäsche",
"prID": "PC_3YXM_000002DE",
"pub": "Audible Studios",
"nrt": "Eva Hoffmann, Patrick Bauer",
"CDEK": "B0CL4N5Y8L",
"CDET": "ADBL",
"VERS": "53234221",
"AACR": "<REDACTED>",
"_ppi": "PD_3YXM_000001DE",
"PASN": "B0CL4NKBXF",
"_sti": "Flg. 1 - Sehnsucht",
"rldt": "18-Oct-2023",
"LANGUAGE": "German",
"asin": "B0CL4N5Y8L",
"AUDIBLE_ASIN": "B0CL4N5Y8L",
"SERIES": "Im Schattenkloster. Chronik einer Gehirnwäsche",
"PART": "9"
}
},
{
"@type": "Audio",
"StreamOrder": "0",
"ID": "1",
"Format": "AAC",
"Format_AdditionalFeatures": "LC",
"CodecID": "mp4a-40-2",
"Duration": "2427.530",
"BitRate_Mode": "VBR",
"BitRate": "125588",
"BitRate_Maximum": "130874",
"Channels": "2",
"ChannelPositions": "Front: L R",
"ChannelLayout": "L R",
"SamplesPerFrame": "1024",
"SamplingRate": "44100",
"SamplingCount": "107054073",
"FrameRate": "43.066",
"FrameCount": "104545",
"Compression_Mode": "Lossy",
"StreamSize": "38108856",
"StreamSize_Proportion": "0.98692",
"Language": "en",
"Encoded_Date": "UTC 2023-10-18 12:28:38",
"Tagged_Date": "UTC 2023-10-18 12:28:38",
"extra": {
"Menus": "2"
}
},
{
"@type": "Menu",
"StreamOrder": "1",
"ID": "2",
"Format": "Timed Text",
"CodecID": "text",
"Duration": "2427.530",
"Language": "en",
"extra": {
"Encoded_Date": "UTC 2023-10-18 12:28:38",
"Tagged_Date": "UTC 2023-10-18 12:28:38",
"Menu_For": "1",
"Duration_FirstFrame": "-2385850",
"Duration_LastFrame": "-2383249",
"mdhd_Duration": "2427530",
"_00_00_00_000": "Kapitel 1",
"_00_00_13_025": "Kapitel 2",
"_00_40_11_901": "Kapitel 3"
}
}
]
}
}
  • The Publish Date here would be the tag rldt.
  • But regarding the episode number it seems much less clear. While it seems ABS uses part for episode identification, this doesn't seems be a a good indication: E01 e.g. has the tag "PART": "9", E08 the tag "PART": "5", the Trailer has no part tag at all.

I hope this helps someone in the future for development :))

@v3DJG6GL commented on GitHub (Apr 23, 2024): I've just been made aware of this feature request. I am facing a similar issue currently: I use [mcrackan/Libation](https://github.com/rmcrackan/Libation) to _liberate_ my Audible audiobooks and podcasts. Libation has the feature to save a _*.metadata.json_ for every episode with a lot of metadata which ABS could use for content identification. As an example, the podcast _Im Schattenkloster. Chronik einer Gehirnwäsche_ Within a podcast library, ABS displays this podcast as follows: ![Screenshot 2024-04-23 at 21-13-57 Audiobookshelf](https://github.com/advplyr/audiobookshelf/assets/72495210/b805522e-d14e-47db-94c5-b4fdfc8724f9) - The published date is wrong. While the year seems correct, the month and date is wrong. I think the publish/release date should equal to _issue_date_ or _publication_datetime_ or _release_date_ within _metadata.json_ file. - The episodes are somehow mixed up: E01->E09 E02->E08 E03->E07 E04->E06 E08->E05 Trailer->E04 E05->E03 E06->E02 I think the episode number should correspond to value _sort_ in the _metadata.json_ file. - the ASIN tag is not used at all. But since I cannot choose Audible as metadata provider, this isn't really a surprise. Here 4 metadata.json files from the Trailer and the first episodes. [Trailer Im Schattenkloster. Chronik einer Gehirnwäsche [asin-B0CL4NJN74].metadata.json](https://github.com/advplyr/audiobookshelf/files/15082025/Trailer.Im.Schattenkloster.Chronik.einer.Gehirnwasche.asin-B0CL4NJN74.metadata.json) [Flg. 1 - Sehnsucht [asin-B0CL4N5Y8L].metadata.json](https://github.com/advplyr/audiobookshelf/files/15082023/Flg.1.-.Sehnsucht.asin-B0CL4N5Y8L.metadata.json) [Flg. 2 - Horrortrip [asin-B0CL4NC3K1].metadata.json](https://github.com/advplyr/audiobookshelf/files/15082026/Flg.2.-.Horrortrip.asin-B0CL4NC3K1.metadata.json) [Flg. 3 - Eistee-Privilegien [asin-B0CL4MJB13].metadata.json](https://github.com/advplyr/audiobookshelf/files/15082022/Flg.3.-.Eistee-Privilegien.asin-B0CL4MJB13.metadata.json) Furthermore, the m4b files itself do also contain some metadata. Here, as an example, the first episode: ``` { "creatingLibrary": { "name": "MediaInfoLib", "version": "22.09", "url": "https://mediaarea.net/MediaInfo" }, "media": { "@ref": "<REDACTED>\Flg. 1 - Sehnsucht [asin-B0CL4N5Y8L].m4b", "track": [ { "@type": "General", "AudioCount": "1", "MenuCount": "1", "FileExtension": "m4b", "Format": "MPEG-4", "Format_Profile": "Base Media", "CodecID": "isom", "CodecID_Compatible": "iso2/mp41/M4A /M4B ", "FileSize": "38613973", "Duration": "2427.530", "OverallBitRate_Mode": "VBR", "OverallBitRate": "127254", "StreamSize": "505117", "HeaderSize": "32", "DataSize": "38108941", "FooterSize": "505000", "IsStreamable": "No", "Title": "Flg. 1 - Sehnsucht", "Title_More": "Tom und seine Frau Jana sehnen sich nach einem Leben in Gemeinschaft. Sie lernen eine ungewöhnliche WG kennen, die von einer Utopie träumt. Was die beiden nicht wissen: Die Gruppe steht im Verdacht, psychische und sexualisierte Gewalt auszuüben. Die Reporterin Eva Hoffmann beginnt zu recherchieren.\\nDieser Podcast ist eine Kooperation mit dem SüddeutscheZeitungMagazin.", "Album": "Im Schattenkloster. Chronik einer Gehirnwäsche", "Track": "Flg. 1 - Sehnsucht", "Track_More": "Tom und seine Frau Jana sehnen sich nach einem Leben in Gemeinschaft. Sie lernen eine ungewöhnliche WG kennen, die von einer Utopie träumt. Was die beiden nicht wissen: Die Gruppe steht im Verdacht, psychische und sexualisierte Gewalt auszuüben. Die Reporterin Eva Hoffmann beginnt zu recherchieren.\\nDieser Podcast ist eine Kooperation mit dem SüddeutscheZeitungMagazin.", "Performer": "Im Schattenkloster. Chronik einer Gehirnwäsche", "Composer": "Eva Hoffmann, Patrick Bauer", "Publisher": "Audible Studios", "Genre": "True Crime", "Recorded_Date": "2023", "Encoded_Date": "UTC 2023-10-18 12:28:38", "Tagged_Date": "UTC 2023-10-18 12:28:38", "File_Created_Date": "UTC 2024-04-23 19:33:26.000", "File_Created_Date_Local": "2024-04-23 21:33:26.000", "File_Modified_Date": "UTC 2024-04-23 19:33:25.361", "File_Modified_Date_Local": "2024-04-23 21:33:25.361", "Encoded_Library": "Apple QuickTime", "Encoded_Library_Name": "Apple QuickTime", "Copyright": "©2023 Audible Studios ℗2023 Audible Studios", "Cover": "Yes", "Comment": "Tom und seine Frau Jana sehnen sich nach einem Leben in Gemeinschaft. Sie lernen eine ungewöhnliche WG kennen, die von einer Utopie träumt. Was die beiden nicht wissen: Die Gruppe steht im Verdacht, psychische und sexualisierte Gewalt auszuüben. Die Reporterin Eva Hoffmann beginnt zu recherchieren.\\nDieser Podcast ist eine Kooperation mit dem SüddeutscheZeitungMagazin.", "extra": { "Album_Performer": "Im Schattenkloster. Chronik einer Gehirnwäsche", "_pti": "Im Schattenkloster. Chronik einer Gehirnwäsche", "_pst": "Im Schattenkloster. Chronik einer Gehirnwäsche", "prID": "PC_3YXM_000002DE", "pub": "Audible Studios", "nrt": "Eva Hoffmann, Patrick Bauer", "CDEK": "B0CL4N5Y8L", "CDET": "ADBL", "VERS": "53234221", "AACR": "<REDACTED>", "_ppi": "PD_3YXM_000001DE", "PASN": "B0CL4NKBXF", "_sti": "Flg. 1 - Sehnsucht", "rldt": "18-Oct-2023", "LANGUAGE": "German", "asin": "B0CL4N5Y8L", "AUDIBLE_ASIN": "B0CL4N5Y8L", "SERIES": "Im Schattenkloster. Chronik einer Gehirnwäsche", "PART": "9" } }, { "@type": "Audio", "StreamOrder": "0", "ID": "1", "Format": "AAC", "Format_AdditionalFeatures": "LC", "CodecID": "mp4a-40-2", "Duration": "2427.530", "BitRate_Mode": "VBR", "BitRate": "125588", "BitRate_Maximum": "130874", "Channels": "2", "ChannelPositions": "Front: L R", "ChannelLayout": "L R", "SamplesPerFrame": "1024", "SamplingRate": "44100", "SamplingCount": "107054073", "FrameRate": "43.066", "FrameCount": "104545", "Compression_Mode": "Lossy", "StreamSize": "38108856", "StreamSize_Proportion": "0.98692", "Language": "en", "Encoded_Date": "UTC 2023-10-18 12:28:38", "Tagged_Date": "UTC 2023-10-18 12:28:38", "extra": { "Menus": "2" } }, { "@type": "Menu", "StreamOrder": "1", "ID": "2", "Format": "Timed Text", "CodecID": "text", "Duration": "2427.530", "Language": "en", "extra": { "Encoded_Date": "UTC 2023-10-18 12:28:38", "Tagged_Date": "UTC 2023-10-18 12:28:38", "Menu_For": "1", "Duration_FirstFrame": "-2385850", "Duration_LastFrame": "-2383249", "mdhd_Duration": "2427530", "_00_00_00_000": "Kapitel 1", "_00_00_13_025": "Kapitel 2", "_00_40_11_901": "Kapitel 3" } } ] } } ``` - The Publish Date here would be the tag _rldt_. - But regarding the episode number it seems much less clear. While it seems ABS uses _part_ for episode identification, this doesn't seems be a a good indication: _E01_ e.g. has the tag _"PART": "9"_, _E08_ the tag _"PART": "5"_, the Trailer has no _part_ tag at all. I hope this helps someone in the future for development :))
Author
Owner

@kanjieater commented on GitHub (Aug 5, 2024):

I'll add on that I'm using TubeSync to get a few japanese podcasts that don't expose proper rss feeds.

Relating to this issue, I'd love for a way to embed or name meta data to encode external media sources, whether it's a metadatajson (which tubesync can also provide) or something like an API call to set the date manually w/ some scripts, I'd love to see the "bring your own podcasts" features continue to get built out.

@kanjieater commented on GitHub (Aug 5, 2024): I'll add on that I'm using TubeSync to get a few japanese podcasts that don't expose proper rss feeds. Relating to this issue, I'd love for a way to embed or name meta data to encode external media sources, whether it's a metadatajson (which tubesync can also provide) or something like an API call to set the date manually w/ some scripts, I'd love to see the "bring your own podcasts" features continue to get built out.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1145