Booksonic-Air
Booksonic-Air copied to clipboard
[Feature Request] Support W3C Publication Manifest as source for metadata
The W3C has been working on a method on a recommendation for a standard package for Audiobooks like has happened to ebooks with EPUB. The W3C Audiobooks spec makes use of their Publication Manifest to describe both the metadata of the audiobook overall as well as the tracks.
I have been creating some of these publication.json
files for the audiobooks I have collected. I just installed Booksonic-Air via Docker and would love for it to be able to read these files instead of having to create a bunch of reader.txt
and desc.txt
files to get any metadata into the server's DB.
It would be even better if Booksonic would support the packaged version so we could have a single compressed file on the server.
Sources: https://github.com/w3c/audiobooks https://github.com/w3c/wpub/blob/main/explainers/audio-explainer.md https://github.com/w3c/publ-tests/
Looks great, will be looking in to this
Awesome. Could you provide an example? The spec is a little intense.
On Mon, Apr 25, 2022, 12:19 PM Patrik Johansson @.***> wrote:
Looks great, will be looking in to this
— Reply to this email directly, view it on GitHub https://github.com/popeen/Booksonic-Air/issues/66#issuecomment-1108946990, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ7H6JF6CMPFR3LPMQAKILVG3V5JANCNFSM5QUPUYCA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
You can look for the publication.json
files inside of https://github.com/w3c/publ-tests/tree/main/test_content/audiobooks for several examples from W3C. The README in that directory also has some links to .lpf
files -- which are the packaged versions of some of those samples.
Packaged audiobooks must conform with the LPF (lightweight packaging format) spec -- which is just a zip file with a different extension -- MUST include at least one of these:
-
publication.json
(publication manifest) -
index.html
(the Primary Entry Page (or PEP) that will link to or embed the manifest file)
The publication manifest only requires the following keys
-
@context
-
conformsTo
-
name
(publication title) -
readingOrder
(array of either URL strings or LinkedResource objects with a minimum of theurl
key)
Partial example from one of my created manifest files
{
"@context": ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"conformsTo": "https://www.w3.org/TR/audiobooks/",
"name": "World of Warcraft: Shadows Rising",
"author": "Madeleine Roux",
"readBy": "Susan Wokoma",
"readingOrder": [
{
"url": "Shadows Rising World of Warcraft - 003.mp3",
"encodingFormat": "audio/mpeg",
"name": "Prologue: Westfall",
"duration": "PT22M53S"
}
]
}
If you want to, the JSON schema for the audiobook manifest is here: https://github.com/w3c/audiobooks/tree/main/schema
In the context of this issue, I think you would only need to look for and parse a publication.json
file in addition to the desc.txt
and reader.txt
files when handling a directory of audio files. I understand that supporting the packaged format would take significantly more development time.