Conversation
wilaw
left a comment
There was a problem hiding this comment.
Thanks for your work on this. My primary feedback is that the template version of the mediatimeline can simply be defined as a new packaging type, to differentiate it form the listtype. For example, a mediatimeline entry in the catalog could look like this:
{
"version": 1,
"generatedAt": 1746104606044,
"tracks": [
{
"name": "history",
"namespace": "conference.example.com/conference123/alice",
"packaging": "mediatimelinetemplate",
"mimetype": "application/json",
"depends": ["1080p-video","audio"]
},and then the mediatimeline payload could look like this
{
"startMediaTime": 0,
"deltaMediaTime": 2002,
"startLocation": [0, 0],
"deltaLocation": [1, 0],
"startWallclock": 1759924158381,
"deltaWallclock": 2002
}I also suggest we can remove hybrid mediatimelines for now for simplicity. If we need them in the future, we can just add them as a new packaging type.
| | Start media time | startMediaTime | {{startmediatime}} | | ||
| | Delta media time | deltaMediaTime | {{deltamediatime}} | | ||
| | Start location | startLocation | {{startlocation}} | | ||
| | Delta location | deltaLocation | {{deltalocation}} | | ||
| | Start wallclock | startWallclock | {{startwallclock}} | | ||
| | Delta wallclock | deltaWallclock | {{deltawallclock}} | | ||
| | Entry count | count | {{entrycount}} | |
There was a problem hiding this comment.
These should not be defined in this table, as you are not using them directly in the catalog. Instead they should be defined as KVP in the JSON definition of the MediaTimeline section of the spec.
| Location: T Required: Optional JSON Type: Number | ||
|
|
||
| The number of entries represented by a template in a templated media timeline. | ||
| This field MUST only appear within a template object in a media timeline track | ||
| payload. |
There was a problem hiding this comment.
To be meaningful, this field needs a reference timestamp at which this count was accurate.
| ### Hybrid format {#hybridformat} | ||
| Publishers MAY combine templates with explicit entries. When both are present, | ||
| the explicit entries in the "entries" array represent additional records that | ||
| extend beyond the template range. Explicit entries are appended after the | ||
| template-generated entries. | ||
|
|
||
| ~~~json | ||
| { | ||
| "template": { | ||
| "startMediaTime": 0, | ||
| "deltaMediaTime": 2002, | ||
| "startLocation": [0, 0], | ||
| "deltaLocation": [1, 0], | ||
| "startWallclock": 1759924158381, | ||
| "deltaWallclock": 2002, | ||
| "count": 100 | ||
| }, | ||
| "entries": [ | ||
| [200200, [100, 0], 1759924358381], | ||
| [203000, [101, 0], 1759924361181] | ||
| ] | ||
| } | ||
| ~~~ | ||
|
|
||
| In this example, entries 0-99 are calculated from the template, and entries | ||
| 100-101 are provided explicitly with non-constant intervals. | ||
|
|
There was a problem hiding this comment.
I think we should remove Hybrid format for now. It complicates the implementation. A template is used for highly regular segment production. The explicit entry format can be used for everything else. We can add it in later if there is a strong implementation use-case.
| ### Entry count {#entrycount} | ||
| Location: T Required: Optional JSON Type: Number | ||
|
|
||
| The number of entries represented by a template in a templated media timeline. | ||
| This field MUST only appear within a template object in a media timeline track | ||
| payload. |
There was a problem hiding this comment.
We can omit this entry count field. The whole point of a template is that it is inviolate and need only be transmitted once.
| "template": { | ||
| "startMediaTime": 0, | ||
| "deltaMediaTime": 2002, | ||
| "startLocation": [0, 0], | ||
| "deltaLocation": [1, 0], | ||
| "startWallclock": 1759924158381, | ||
| "deltaWallclock": 2002, | ||
| "count": 1800 | ||
| } |
There was a problem hiding this comment.
I think these atteibutes should be in the MediaTimeline Track entry in the catalog. There is no need to create a separate track to transmit this informaiton.
Fixes #105