Chapter Extension
From XiphWiki
Martin.leese (Talk | contribs) (Changed to webvtt-style "-->" timestamp separators (with no whitespace)) |
(added URLs to chapters) |
||
| Line 36: | Line 36: | ||
CHAPTER004=00:00:04.000-->00:06:00.000 | CHAPTER004=00:00:04.000-->00:06:00.000 | ||
CHAPTER004NAME=Chapter 1.3 | CHAPTER004NAME=Chapter 1.3 | ||
| + | |||
| + | == 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 a chapter of a podcast: | ||
| + | |||
| + | CHAPTERxxxURL=http://... | ||
| + | |||
== WebVTT == | == WebVTT == | ||
A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles]. | A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles]. | ||
Revision as of 12:32, 11 April 2012
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), "-->" (U+002D, U+002D, U+003E), and the end time (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-->00:05:00.000 CHAPTER001NAME=Chapter 1 CHAPTER002=00:05:00.000-->00:10:00.000 CHAPTER002NAME=Chapter 2
Another example chapter file with a chapter and three hierarchically structured subchapters:
CHAPTER001=00:00:00.000-->00:06:00.000 CHAPTER001NAME=Chapter 1 CHAPTER002=00:00:00.000-->00:02:00.000 CHAPTER002NAME=Chapter 1.1 CHAPTER003=00:00:02.000-->00:04:00.000 CHAPTER003NAME=Chapter 1.2 CHAPTER004=00:00:04.000-->00:06:00.000 CHAPTER004NAME=Chapter 1.3
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 a chapter of a podcast:
CHAPTERxxxURL=http://...
WebVTT
A more modern means of specifying chapters is through WebVTT files that use cues with chapter titles.