Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Support W3C Publication Manifest as source for metadata #66

Open
DigitalFeonix opened this issue Mar 14, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@DigitalFeonix
Copy link

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/

@popeen popeen added the enhancement New feature or request label Apr 25, 2022
@popeen
Copy link
Owner

popeen commented Apr 25, 2022

Looks great, will be looking in to this

@wtanksleyjr
Copy link

wtanksleyjr commented Apr 25, 2022 via email

@DigitalFeonix
Copy link
Author

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 the url 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants