Editors:
Participate:
{
"@context": "http://readium.org/webpub-manifest/context.jsonld",
"metadata": {
"@type": "http://schema.org/Audiobook",
"conformsTo": "https://readium.org/webpub-manifest/profiles/audiobook",
"identifier": "urn:isbn:9780000000001",
"title": "Moby-Dick",
"author": "Herman Melville",
"narrator": ["Joe Speaker", "Lucy Narrator"],
"language": "en",
"publisher": "Whale Publishing Ltd.",
"published": "2016-02-01",
"modified": "2016-02-18T10:32:18Z",
"duration": 4320
},
"links": [
{"rel": "self", "href": "http://example.org/manifest.audiobook-manifest", "type": "application/audiobook+json"},
{"rel": "alternate", "href": "http://example.org/audiobook.m3u", "type": "audio/mpegurl", "bitrate": 64}
],
"readingOrder": [
{
"href": "http://example.org/part1.mp3",
"type": "audio/mpeg",
"bitrate": 128,
"duration": 1980,
"title": "Part 1"
},
{
"href": "http://example.org/part2.mp3",
"type": "audio/mpeg",
"bitrate": 128,
"duration": 1200,
"title": "Part 2"
},
{
"href": "http://example.org/part3.mp3",
"type": "audio/mpeg",
"bitrate": 128,
"duration": 1140,
"title": "Part 3"
}
],
"resources": [
{"rel": "cover", "href": "http://example.org/cover.jpeg", "type": "image/jpeg", "height": 300, "width": 300}
]
}
The goal of this document is to provide an audiobook profile for the Readium Web Publication Manifest that will cover the following requirements:
While the Audiobook Manifest is technically a profile of the Readium Web Publication Manifest, it has its own media type in order to maximize compatibilty with audio apps: application/audiobook+json
.
The core metadata for the audiobook manifest are based on the default context for the Readium Web Publication Manifest with the following additional requirements:
conformsTo
element that identifies the manifest as an audiobook: https://readium.org/webpub-manifest/profiles/audiobook
duration
element that provides the total duration of the audiobook in secondsThe duration
of an audiobook as expressed in metadata
is purely a hint and must not be used by the User Agent for anything else than informing the user.
In addition to its duration, an audiobook may indicate that itβs an abridged edition using the abridged
element.
An audiobook is divided into one or more audio resources, which are all listed in the readingOrder
of the manifest.
In addition to the normal requirements of a readingOrder
, all Link Objects have the following additional requirements:
duration
term that provides the duration in seconds of each individual audio resourceIn addition, all Link Objects should also include the bitrate
(in kbps
) whenever possible.
In order to support multiple variants of the same audiobook (using a different format or bitrate for instance), Link Objects in the readingOrder
may rely on the alternate
key:
{
"href": "http://example.org/part1.mp3",
"type": "audio/mpeg",
"bitrate": 128,
"duration": 1980,
"title": "Part 1",
"alternate": [
{
"href": "http://example.org/part1.opus",
"type": "audio/ogg",
"bitrate": 32
}
]
}
All Link Objects present in the alternate
array:
type
bitrate
title
, duration
or templated
An Audiobook publication may be distributed unpackaged on the Web, but it may also be packaged for easy distribution as a single file. To achieve this goal, this specification defines the Readium Packaging Format (RPF).
To maximize compatibility with dedicated apps, such a package has its own file extension and media-type:
.audiobook
application/audiobook+zip
A full example based on the LibriVox edition of Flatland is available at: https://readium.org/webpub-manifest/examples/Flatland/manifest.json
Over 10,000+ audiobooks are also available in this format through the Internet Archive OPDS Catalog.
A demo of the Flatland example is also available through a Web App developed by De Marque.