Replies: 11 comments 34 replies
-
The only place where file metadata is used is in the downloader when creating I think you point out something important, the scanner should definitely be checking all the metadata fields to populate the audiobook details (the scanner does use the track # metadata tag already to try to get the correct order of the tracks). As someone who has a lot of experience with the other media servers, I would really appreciate your input on this. If you could outline your ideal scenario that would be a great place to start. |
Beta Was this translation helpful? Give feedback.
-
I will put something together on an example use case and try to spread the word to some other folks who might have input too. I think the right way to do it is likely to store the metadata in an external nfo. I have been burnt in the past where another application has overwritten my previously curated ID3 tags. Being able to import and export to a nfo makes life easier and allows one to share a library of media between different applications without compatibility issues. Is/will scraping be within the scope of this project? |
Beta Was this translation helpful? Give feedback.
-
I spent a bit of time looking over my library and thinking about my ideal situation for metadata management. I realize that there is no single correct way to do things but this is what I currently have. About 90% of my library is in m4b format. I still have a few books in multitrack mp3 format that I will eventually combine into a single m4b when time permits. The majority of my books originate from Audible but I am not the one personally ripping them so existing tags are not always complete. Artist and Album Artist: Author I haven't been using it but possible Series and Series Part could be useful to some people. I also have a desc.txt for each book containing a summary of the book. I find the description tag is almost never populated when I grab a new audiobook and must be added manually. In addition to booksonic using the desc.txt, I believe some m4b formatting tools like m4b-tool can use the desc.txt to bake in the description automatically when combing multiple mp3's into a m4b. My preference would be to scan the tags during import and output a single nfo to be stored in the book directory with all the relevant metadata needed in Audiobookshelf. This way the original files are not modified. |
Beta Was this translation helpful? Give feedback.
-
There is some good information in this document |
Beta Was this translation helpful? Give feedback.
-
Another update related to metadata in v1.3.4 You can now opt to store cover art in your audiobook directory. And cover art from URLs are downloaded and saved, so http:// urls won't be set on audiobooks going forward. This is important because those URLs can change or get taken down, and it is also better to not be making all those requests outside your server to get cover art. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I posted a discussion about this, but research indicates that this thread might be more appropriate. The NFO creation seems to have been removed in the latest build. Is there any plan for a replacement? Audiobookself is a wonderful metadata editor, especially with its "Match" support. But without some way to export my edits, I can't feed them back to the rest of my scripts, and since the mobile app doesn't work for me, I have to export the metadata to use it. |
Beta Was this translation helpful? Give feedback.
-
Not bad, and if I want to edit by hand I can just make something up. (That
will happen with podcast books.)
…On Wed, Apr 27, 2022 at 7:01 PM advplyr ***@***.***> wrote:
What about using the ASIN or ISBN fields to determine whether it was
correctly matched?
—
Reply to this email directly, view it on GitHub
<#59 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJ7H6NDF4IV7WGXFZK3B3TVHHWN5ANCNFSM5EZJHD2A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
It looks like you're using an extension of the FFMPEG "metadata" output as the meta data format. There are a few gotchas with that as a format. First, it isn't simple to parse, as the chapters require special handing (so you can't simply generate key=value pairs for everything) like a normal property file. Secondly, properly escaping the characters is a little funky if you want to use ffmpeg's standard. But except for the rare case of leading or trailing spaces, you can conform to the ffmpeg standard by just escaping =;#\n and \ characters with a leading . But I didn't see any escaping going on in a first glance at your code... so not sure. Lastly, the key=value format gets a little ugly when you're dealing with lots of data and possibly multi-line data. I personally json is a better format.. its pretty easy to read as a human and most of the time a computer is going to read it and render it. |
Beta Was this translation helpful? Give feedback.
-
Question: right now I'm pregenerating OPF when I move folders into
Audiobookshelf's folder, it seems to be pretty reliable. What would happen
if I instead created one of these metadata files instead? Would my
generated file be looked at first, and loaded without further
modifications? That would actually simplify my scripts.
…-Wm
On Sat, Apr 30, 2022 at 7:52 AM advplyr ***@***.***> wrote:
Agree JSON is easier to work with in code. The reason I started with a
file similar to ffmpegs is because I thought it would be easier for the
user to read it and update it as necessary. I am not using the exact
specifications of ffmetadata, I was just basing a similar metadata format
off of that, so I'm not sure a lot of that applies.
I did have to work with ffmetadata when embedding metadata in with ffmpeg
and passing in a text file with a list of audio files for transcoding.
https://github.com/advplyr/audiobookshelf/blob/master/server/utils/ffmpegHelpers.js#L7
I am calling the metadata format abmetadata and the generator and parser
is here:
https://github.com/advplyr/audiobookshelf/blob/master/server/utils/abmetadataGenerator.js
This is not meant to be used in ffmpeg.
Any metadata that is multiple lines is put in its own section like how
chapters are done in ffmetadata. Currently only description could have
multiple lines.
Here is an example abmetadata file:
;ABMETADATA2
#audiobookshelf v2.0.7
media=book
title=Wizards First Rule
subtitle=
authors=Terry Goodkind
narrators=Sam Tsoutsouvas
publishedYear=2008
publisher=Brilliance Audio
isbn=
asin=B002V0QK4C
language=
genres=Audiobook Fantasy
series=Sword of Truth
explicit=N
[DESCRIPTION]
The masterpiece that started Terry Goodkind's New York Times bestselling epic Sword of Truth In the aftermath of the brutal murder of his father, a mysterious woman, Kahlan Amnell, appears in Richard Cypher's forest sanctuary seeking help...and more.
[CHAPTER]
start=0
end=6004.6675
title=Terry Goodkind - SOT Bk01 - Wizards First Rule 01
[CHAPTER]
start=6004.6675
end=12000.946
title=Terry Goodkind - SOT Bk01 - Wizards First Rule 02
[CHAPTER]
start=12000.946
end=17997.250625
title=Terry Goodkind - SOT Bk01 - Wizards First Rule 03
This is harder to parse in scripts, but easier to read and update for
users. I'm not set on using this, I could be convinced to just use JSON or
YAML.
—
Reply to this email directly, view it on GitHub
<#59 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJ7H6IRDW6KIBM3YLE233DVHVCKLANCNFSM5EZJHD2A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I'll start doing that, then ... I suspect it'll make it easier to have just
a single source of truth.
Yeah, I hear you about the "no standard format." It's amazing to me that
it's taken this long to come up with an audiobook server. The various past
efforts have been just other products rebadged (although Booksonic-Air
deserves a salute for doing as well as it does). I'll keep an eye here for
format changes, certainly.
If you asked me, and you shouldn't, I'd pick yaml for a file describing a
single book, and JSON for a file describing a lot of books. I abhor XML.
…-Wm
On Sat, Apr 30, 2022 at 2:39 PM advplyr ***@***.***> wrote:
If the abmetadata file is saved as metadata.abs inside your library item
folder then it will be used as the source of truth for metadata.
I wouldn't say that file is finalized yet, it is possible we move to a
different format of metadata. Maybe JSON is better, maybe YAML, not sure.
There isn't really a standard to go off of so we must create one.
—
Reply to this email directly, view it on GitHub
<#59 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJ7H6M5LDQAD5B4DJE6X43VHWR7ZANCNFSM5EZJHD2A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I have bounced between a few different audiobook server products (Plex, Emby, Booksonic, audioserve) and they all seem to treat metadata differently. Will Audiobookshelf use ID3v2 tags to store metadata moving forward? I only ask as it can be quite a chore to move from one method to the next.
My library is currently setup for booksonic which includes a cover.jpg, desc.txt, and reader.txt in the root directly which is a bit limiting so I welcome the option for storing more information for each book.
Can you speak to how the currently available fields correspond to the ID3v2 tags?
For example
Author=Artist
Narrarator=Composer
Beta Was this translation helpful? Give feedback.
All reactions