Boxes that TS 26.244 adds for streaming servers and adaptive streaming: how alternative tracks are told apart, buffer parameters as sample groups, and edit-list adjustments inside movie fragments. The fragment boxes themselves are those of MP4 (see Fragments).
tsel: track selection
In a track’s udta. Tracks with the same tkhd alternate group
are alternatives, of which one plays; a switch group further marks those a server may
switch between during a session.
| Offset | Size | Name | Meaning |
|---|---|---|---|
| 8 | 1 | version | 0. |
| 9 | 3 | flags | 0; none defined. |
| 12 | 4 | switch group | int32; 0 (the default) when the track is not meant for switching. |
| 16 | 4 × n | attribute list | FourCCs to the end of the box: the attributes by which this track differs from the others in its group. |
| Attribute | Name | Taken from |
|---|---|---|
lang | Language | The LANG grouping of the session-level SDP alt-group attribute. |
bwas | Bandwidth | The media-level SDP b=AS value. |
cdec | Codec | The sample entry type. |
scsz | Screen size | Width and height of the visual sample entry. |
mpsz | Max packet size | The RTP hint sample entry’s maximum packet size. |
mtyp | Media type | The handler type. |
Video buffer sample groups
Clause 9 carries video buffer parameters as sample groups, using the MP4
sgpd and sbgp boxes (see Sample
tables).
| Grouping type | Entry |
|---|---|
3gag | The buffer parameters of 3GPP PSS Annex G (TS 26.234). The entry’s field layout is in that specification and is not given here. |
avcb | Video HRD parameters (below). |
| Size | Field | Meaning (avcb entry) |
|---|---|---|
| 2 | operation_point_count | Number of operation points, each with its own values; more than 0. The five fields below follow once per operation point. |
| 4 | tx_byte_rate | Input byte rate into the coded picture buffer, bytes per second; more than 0. |
| 4 | pre_dec_buf_size | Coded picture buffer size needed, in bytes. |
| 4 | post_dec_buf_size | Decoded picture buffer size needed, in bytes. |
| 4 | init_pre_dec_buf_period | Delay from the first bit of the first access unit arriving to its removal from the coded picture buffer, in 90 kHz units. |
| 4 | init_post_dec_buf_period | Delay from the first decoded picture arriving in the decoded picture buffer to its output, in 90 kHz units. |
That the five fields repeat per operation point follows from the count’s meaning; the clause text read gives them once.
tfad and tfma
A track fragment adjustment box, tfad, inside traf after
tfhd and before the first trun, holds one track fragment media
adjustment box, tfma: an edit list for that fragment. When tfad or
tfdt is used, it takes the place of the elst, which is then
ignored.
| Offset | Size | Name | Meaning (tfma) |
|---|---|---|---|
| 8 | 1 | version | 0 or 1. |
| 9 | 3 | flags | 0. |
| 12 | 4 | entry count | Entries that follow. |
| 16 | varies | entries | 12 bytes each in version 0, 20 in version 1 (below). |
| Size (v0 / v1) | Field | Meaning |
|---|---|---|
| 4 / 8 | segment_duration | Unsigned; length of the segment in the movie time scale. |
| 4 / 8 | media_time | Signed; start in the media time scale. −1 is an empty edit, never the last entry. |
| 2 | media_rate_integer | 1, or 0 for a dwell (the frame at media_time held for the duration). |
| 2 | media_rate_fraction | 0. |
The segment index (sidx) and track fragment decode time (tfdt)
boxes of clause 13 are the ones from ISO/IEC 14496-12, covered under MP4.
Not covered yet
The extended presentation of clause 11, the media stream recording boxes of clause 12 (key message tracks and protection descriptions), the stereoscopic video of clause 9a and the CVO, location, quality and orientation sample formats of clauses 14 to 17 are not yet described on these pages.