Search code examples
video-streamingaudio-streamingmpeg-dash

What mean the parameters minBufferTime and timeShiftBufferDepth?


I found in a Media Presentation Description these parameters, but I don't know what it's for.

I am debugging a video-streaming.


Solution

  • These attributes are described in ISO/IEC 23009-1:2014, which specified the Media Presentation Description (MPD).

    @minBufferTime is mandatory and described as:

    specifies a common duration used in the definition of the Representation data rate (see @bandwidth attribute in 5.3.5.2).

    The reference to the @bandwidth attribute is:

    a client can be assured of having enough data for continuous playout providing playout begins after @minBufferTime * @bandwidth bits have been received (i.e. at time @minBufferTime after the first bit is received).


    @timeShiftBufferDepth is optional and described as:

    specifies the duration of the smallest time shifting buffer for any Representation in the MPD that is guaranteed to be available for a Media Presentation with type 'dynamic'. When not present, the value is infinite. This value of the attribute is undefined if the type attribute is equal to ‘static’.

    This means it specifies how long segments are guaranteed to be stored on the server-side after being published.