Skip to content

AvailabilityTimeOffset

Torbjörn Einarson edited this page Apr 24, 2023 · 5 revisions

AvailabilityTimeOffset

The MPD attribute `availabilityTimeOffset´ (ato) can be used to signal that segments are available at an offst time compared to the value derived from the the normal attributes in the MPD.

A positive value ato=X means that the segment is available X seconds earlier.

Low-latency signaling

A particular use case is for (chunked) low-latency segments where a positive ato value is used together with availabilityTimeComplete="false" in the MPD to signal that a partial segments are available X seconds earlier than the full segments.

In livesim2 a typical signaling to generate a low-latency source is

 ato_1.5/chunkdur_0.5/

which results in a source with

availabilityTimeOffset = 1.5s
chunk duration = 0.5s
availabilityTimeComplete = false (implicit)

For an MPD with SegmentTimeline, the manifest is changed to be updated as soon as the partial segment is available, and the publishTime@MPD is updated to signal that time.

Full segments

Another use case is for full segments. This is specified by not having a chunk duration set in the URL. In this case, full segments are made available earlier, and the MPD is changed to reflect that by publishing segments at a shifted time, as also reflected by publishTime@MPD value.

A special case is an infinite value of availabilityTimeOffset. This means that all segments are available. In livesim2, that value can only be used together with SegmentTemplate with $Number$, and not with SegmentTimeline.

An infinite availabilitityTimeOffset is signaled in the URL as

ato_inf/

Signaling in the MPD

availabilityTimeOffset can be signaled at multiple values in the MPD. In livesim2, it is only signaled at the SegmentTemplate level.

Clone this wiki locally