MediaFragmentHeaders

From Media Fragments Working Group Wiki
Jump to: navigation, search

Time dimension

<dimension> = 't'
<unit> = 'npt' | 'clock' | 'smpte' | 'smpte-25' | 'smpte-30' | 'smpte-30-drop'
Range: <dimension> ':' <unit> '=' <start-pos> '-' [<end-pos>]
Content-Range: <dimension> ':' <unit> ' ' ( <segment-start-pos> '-' (<segment-end-pos> / '*') ) '/'  
                                          ( <resource-start-pos> '-' (<resource-end-pos> / '*') )
  • Note 1: In the case of the clock unit, the value of <start-pos> and <end-pos> MUST be double-quoted (since it can contain a dash). Yves will work out the production rules in ABNF.
  • Note 2: We need to add an additional note stating that all <*-pos> must be of the same unit!
  • Note 3: There is no problem of having a dash in the unit since it is before the space or equal

A Range request might optionally contain:

Accept-Ranges: <dimension> ':' <unit> [',' <dimension> ':' <unit>] (unlimited number of occurrences)

Examples for the time dimension

Range: t:npt=10-20
Content-Range: t:npt 10-20/0-75
Range: t:npt=45-
Content-Range: t:npt 45-*/10-*
Range: t:smpte-30=0:02:00-0:02:01:15
Content-Range: t:smpte-30 0:02:00-0:02:01:15/0:00:00-*
Range: t:clock="2009-07-26T11:19:01Z"-
Content-Range: t:clock "2009-07-26T11:19:01Z"-*/"2009-07-26T00:00:00Z"-*

Space dimension

The WG considers that extracting a region from an image should be done with the query parameter when transcoding is required (most of the cases). From the specification point of view, the Range and Content-Range headers are not further specified.

Track dimension

Range: 'track' '=' <track-value> [',' <track-value>] (unlimited number of occurrences)
Content-Range: 'track' ' ' <track-value> [',' <track-value>] (unlimited number of occurrences)

where:

<track-value> = quoted strings | token | RFC2047 strings
  • Examples for the track dimension
URL: http://www.example.com/video.ogg#track=foo,bar
Range: track=foo,bar
Range: track="foo,bar"
Range: track==?utf8?q?foo?=,=?utf8?q?bar?=
Range: track==?utf8?b?Zm9v?=,=?utf8?b?YmFy?=

ID dimension

Range: 'id' '=' <id-value>
Content-Range: 'id' ' ' <id-value>

where:

<id-value> = quoted strings | token | RFC2047 strings