Chapter Extension: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
m (Fixed broken link)
m (Changed to Category:Vorbis as this is a VorbisComment)
 
(8 intermediate revisions by 3 users 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. We assume 1000 chapters to be sufficient.
== 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-00:05:00.000
CHAPTER001=00:00:00.000
  CHAPTER001NAME=Chapter 1
CHAPTER001NAME=Chapter 1
  CHAPTER002=00:05:00.000-00:10:00.000
CHAPTER002=00:05:00.000
  CHAPTER002NAME=Chapter 2
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:


Another example chapter file with a chapter and three hierarchically structured subchapters:
CHAPTERxxxURL=http&#058;//...<!-- &#058; for colon used to suppress automatic link -->


  CHAPTER001=00:00:00.000-00:06:00.000
== WebVTT ==
  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


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.


This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, 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.


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].
[[Category:Vorbis]]

Latest revision as of 08:49, 19 August 2015

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.

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.