Chapter Extension
From XiphWiki
Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called "enhanced podcasts", i.e. audio files with additional chapter markers.
Chapters are typically provided for a recorded file, not for a live resource.
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.
Header-style metadata has traditionally been transported in VorbisComment headers inside Ogg.
Contents |
Format
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. (1000 chapters are assumed to be sufficient.)
The value for the CHAPTERxxx field name is the start time of the chapter (Hour:Min:DecimalSeconds). See the examples below.
The value for the CHAPTERxxxNAME field name is just a text string (8 bit clean UTF-8 encoded values, as is required for VorbisComments).
This should basically support the same input format that Matroska chapters support, too.
Examples
An example chapter file with two sequential chapters:
CHAPTER001=00:00:00.000 CHAPTER001NAME=Chapter 1 CHAPTER002=00:05:00.000 CHAPTER002NAME=Chapter 2
Further Fields
Other fields can also be used to support enhanced podcasts:
- a field to extend chapters with a url to navigate to while listening to a chapter of a podcast:
CHAPTERxxxURL=http://...
WebVTT
We expect people may also want support for hierarchically structured chapters with subchapters etc. This specification does not support this need. We recommend making use of WebVTT as a chapter format specification to satisfy this need. At a future time we expect a mapping of WebVTT into Ogg to allow for embedding of such files into Ogg, too.
WebVTT is a more modern means of specifying chapters that use cues with chapter titles and can deal with time overlapping cues.