Skip to content

How to parse new @adaptationset=video with @role=sign along with @role=main tracks in Dash #8943

@bittu

Description

@bittu

Have you read the Tutorials?
Yes

Have you read the FAQ and checked for duplicate open issues?
Yes

If the question is related to FairPlay, have you read the tutorial?
N/A

What version of Shaka Player are you using?
4.12.2

What browser and OS are you using?
Chrome, MacOS

I have below dash manifest which has new sign video track which has sign language video stream. We want the user be able to switch between main and sign video tracks. But we are unable to get those new tracks parsed out.
Could someone please throw some light.

getVariantTracks() always returns two main tracks.

<?xml version="1.0" encoding="utf-8"?>
<MPD
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="urn:mpeg:dash:schema:mpd:2011"
  xmlns:cenc="urn:mpeg:cenc:2013"
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd"
  type="static"
  mediaPresentationDuration="PT4M10.600S"
  maxSegmentDuration="PT3S"
  minBufferTime="PT10S"
  profiles="urn:mpeg:dash:profile:isoff-live:2011,urn:com:dashif:dash264">
  <Period
    id="1"
    duration="PT4M10.600S">
    <BaseURL>dash/</BaseURL>
    <AdaptationSet
      id="1"
      group="1"
      contentType="audio"
      lang="en"
      segmentAlignment="true"
      audioSamplingRate="48000"
      mimeType="audio/mp4"
      codecs="mp4a.40.2"
      startWithSAP="1">
      <AudioChannelConfiguration
        schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
        value="2" />
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
      <SegmentTemplate
        timescale="48000"
        initialization="BSL001-mk-$RepresentationID$.dash"
        media="BSL001-mk-$RepresentationID$-$Time$.dash">
        <!--<SegmentTimeline>
        // removed...
        </SegmentTimeline> -->
      </SegmentTemplate>
      <Representation
        id="audio_eng=160000"
        bandwidth="160000">
      </Representation>
    </AdaptationSet>
    <AdaptationSet
      id="2"
      group="2"
      contentType="video"
      par="16:9"
      minBandwidth="499968"
      maxBandwidth="2000000"
      maxWidth="704"
      maxHeight="396"
      minFrameRate="25"
      maxFrameRate="50"
      segmentAlignment="true"
      mimeType="video/mp4"
      startWithSAP="1">
      <SupplementalProperty
        schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016"
        value="4, 3, 5" />
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
      <SegmentTemplate
        timescale="600"
        initialization="BSL001-mk-$RepresentationID$.dash"
        media="BSL001-mk-$RepresentationID$-$Time$.dash">
        <SegmentTimeline>
          <S t="0" d="1200" r="124" />
          <S d="360" />
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation
        id="video=499968"
        bandwidth="499968"
        width="480"
        height="272"
        sar="136:135"
        frameRate="25"
        codecs="avc1.640015"
        scanType="progressive">
      </Representation>
      <Representation
        id="video=2000000"
        bandwidth="2000000"
        width="704"
        height="396"
        sar="1:1"
        frameRate="50"
        codecs="avc1.64001F"
        scanType="progressive">
      </Representation>
    </AdaptationSet>
    <AdaptationSet
      id="3"
      group="2"
      contentType="video"
      par="16:9"
      minBandwidth="4499968"
      maxBandwidth="8000000"
      maxWidth="1920"
      maxHeight="1080"
      segmentAlignment="true"
      sar="1:1"
      frameRate="50"
      mimeType="video/mp4"
      startWithSAP="1">
      <SupplementalProperty
        schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016"
        value="2, 4, 5" />
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
      <SegmentTemplate
        timescale="600"
        initialization="BSL001-mk-$RepresentationID$.dash"
        media="BSL001-mk-$RepresentationID$-$Time$.dash">
        <SegmentTimeline>
          <S t="0" d="1200" r="124" />
          <S d="360" />
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation
        id="video=4499968"
        bandwidth="4499968"
        width="1280"
        height="720"
        codecs="avc1.640020"
        scanType="progressive">
      </Representation>
      <Representation
        id="video=8000000"
        bandwidth="8000000"
        width="1920"
        height="1080"
        codecs="avc1.64002A"
        scanType="progressive">
      </Representation>
    </AdaptationSet>
    <AdaptationSet
      id="4"
      group="2"
      contentType="video"
      lang="sgn-GB"
      par="16:9"
      minBandwidth="499968"
      maxBandwidth="2000000"
      maxWidth="704"
      maxHeight="396"
      minFrameRate="25"
      maxFrameRate="50"
      segmentAlignment="true"
      mimeType="video/mp4"
      startWithSAP="1">
      <SupplementalProperty
        schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016"
        value="2, 3, 5" />
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="sign" />
      <SegmentTemplate
        timescale="600"
        initialization="BSL001-mk-$RepresentationID$.dash"
        media="BSL001-mk-$RepresentationID$-$Time$.dash">
        <SegmentTimeline>
          <S t="0" d="1200" r="124" />
          <S d="360" />
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation
        id="video_sgn-GB=499968"
        bandwidth="499968"
        width="480"
        height="272"
        sar="136:135"
        frameRate="25"
        codecs="avc1.640015"
        scanType="progressive">
      </Representation>
      <Representation
        id="video_sgn-GB=2000000"
        bandwidth="2000000"
        width="704"
        height="396"
        sar="1:1"
        frameRate="50"
        codecs="avc1.64001F"
        scanType="progressive">
      </Representation>
    </AdaptationSet>
    <AdaptationSet
      id="5"
      group="2"
      contentType="video"
      lang="sgn-GB"
      par="16:9"
      minBandwidth="4499968"
      maxBandwidth="8000000"
      maxWidth="1920"
      maxHeight="1080"
      segmentAlignment="true"
      sar="1:1"
      frameRate="50"
      mimeType="video/mp4"
      startWithSAP="1">
      <SupplementalProperty
        schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016"
        value="2, 3, 4" />
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="sign" />
      <SegmentTemplate
        timescale="600"
        initialization="BSL001-mk-$RepresentationID$.dash"
        media="BSL001-mk-$RepresentationID$-$Time$.dash">
        <SegmentTimeline>
          <S t="0" d="1200" r="124" />
          <S d="360" />
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation
        id="video_sgn-GB=4499968"
        bandwidth="4499968"
        width="1280"
        height="720"
        codecs="avc1.640020"
        scanType="progressive">
      </Representation>
      <Representation
        id="video_sgn-GB=8000000"
        bandwidth="8000000"
        width="1920"
        height="1080"
        codecs="avc1.64002A"
        scanType="progressive">
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: questionA question from the community

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions