Chapter Extension
From XiphWiki
Martin.leese (Talk | contribs) m (Fixed broken link) |
Martin.leese (Talk | contribs) m (Zapped blank line) |
||
| (6 intermediate revisions not shown) | |||
| Line 5: | Line 5: | ||
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. | 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. | + | Header-style metadata has traditionally been transported in [[VorbisComment]] headers inside Ogg. |
| - | 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. | + | == 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|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 [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too. | ||
| + | |||
| + | == Examples == | ||
An example chapter file with two sequential chapters: | 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://...<!-- : for colon used to suppress automatic link --> | ||
| - | This | + | == 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 [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text that use cues with chapter titles] and can deal with time overlapping cues. | |
Latest revision as of 18:03, 12 October 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). 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.