StreamTest
A

Zeetvhd

https://d1g8wgjurz8via.cloudfront.net/bpk-tv/Zeetvhd/default/manifest.mpd

Online — 0 failing, 2 warnings

General

Status
Online
Type
DASH
Container
dash
Preview
5s clip
Fetched via
Proxy

Video stream

Codec
h264
Profile
Main
Level
21
Resolution
426×240
Aspect ratio
71:40
Frame rate
600 fps
Pixel format
yuv420p

Audio stream

Codec
aac
Profile
LC
Sample rate
48000 Hz
Channels
2
Layout
stereo

DRM / Keys

This stream is encrypted. These are the content-protection details declared in the manifest (the key ID identifies the content key — the key itself is only issued by the licence server).

DRM systems
Common Encryption
Key ID (default_KID)
—

Works, with caveats

0 failing, 2 warnings, 18 passing

Type
Dynamic (live)
Periods
1
Adaptation sets
2
Representations
5

4 video, 1 audio

Bitrate range
208 kbps – 4.24 Mbps
Addressing
SegmentTemplate+SegmentTimeline
DRM
Common Encryption
UTCTiming
Present
DVR window
30s
Presentation delay
—
  • Warn

    suggestedPresentationDelay leaves room to buffer

    suggestedPresentationDelay is absent; players will pick their own live edge, and with 3s segments that is often too close to the edge.

    delaySeconds
    null
    segmentDuration
    3

    dash.live.suggested-presentation-delayWhat this means →

  • Warn

    Audio adaptation sets declare a language

    1 audio adaptation set(s) omit @lang, so players cannot honour the viewer's language preference.

    sets
    1

    dash.adaptation.audio-languageWhat this means →

  • Pass

    MPD declares a DASH profile

    The manifest declares 1 profile(s).

    profiles
    urn:mpeg:dash:profile:isoff-live:2011

    dash.mpd.profilesWhat this means →

  • Pass

    minBufferTime is declared

    minBufferTime is 2s.

    dash.mpd.min-buffer-timeWhat this means →

  • Pass

    MPD contains at least one period

    The manifest contains 1 period(s).

    periodCount
    1

    dash.mpd.periodsWhat this means →

  • Pass

    Every period contains media

    Every period contains at least one adaptation set.

    dash.mpd.empty-periodWhat this means →

  • Pass

    Live MPD declares availabilityStartTime

    availabilityStartTime is declared, so segment availability can be computed.

    dash.live.availability-start-timeWhat this means →

  • Pass

    Live MPD declares minimumUpdatePeriod

    The manifest asks to be refreshed every 2s.

    seconds
    2

    dash.live.minimum-update-periodWhat this means →

  • Pass

    Live MPD provides a UTCTiming source

    A UTCTiming source is provided (urn:mpeg:dash:utc:http-iso:2014).

    schemes
    urn:mpeg:dash:utc:http-iso:2014
    values
    https://time.akamai.com/?iso

    dash.live.utc-timingWhat this means →

  • Pass

    Live MPD declares timeShiftBufferDepth

    The DVR window is 30s deep.

    seconds
    30

    dash.live.time-shift-buffer-depthWhat this means →

  • Pass

    availabilityStartTime is consistent with the current clock

    availabilityStartTime is in the past relative to the origin’s Date header, as it must be.

    driftSeconds
    -1788675406

    dash.live.clock-driftWhat this means →

  • Pass

    Every adaptation set declares segment addressing

    Every adaptation set declares how its segments are addressed.

    dash.segment.addressingWhat this means →

  • Pass

    Segment template variables are used correctly

    Segment templates resolve to distinct URLs for each segment.

    dash.segment.template-variablesWhat this means →

  • Pass

    Segment templates declare a timescale

    Segment durations are consistent with the declared timescale.

    dash.segment.timescaleWhat this means →

  • Pass

    Segment templates declare an initialization segment

    Segment templates declare an initialization segment.

    dash.segment.initializationWhat this means →

  • Pass

    Switchable adaptation sets declare segmentAlignment

    Every multi-representation adaptation set declares segment or subsegment alignment.

    dash.adaptation.segment-alignmentWhat this means →

  • Pass

    Representations in a set share a codec family

    Each adaptation set holds a single codec family, so its representations are switchable.

    dash.adaptation.mixed-codecsWhat this means →

  • Pass

    Every representation declares a bandwidth

    Every representation declares @bandwidth.

    dash.representation.bandwidthWhat this means →

  • Pass

    Video bandwidth rises with resolution

    Video bandwidth rises consistently with resolution.

    dash.representation.bitrate-inversionWhat this means →

  • Pass

    Content protection declares a recognised DRM system

    Content is protected with Common Encryption.

    systems
    Common Encryption

    dash.drm.systemsWhat this means →