Hi, 

We use Bento4 to package our content then we upload our content to AWS S3.

We have recently been on support with AWS after trying to playback content and also insert ads using Mediatailor both were failing.

They stated.

**_We looked at the source manifest and found out that it doesn't contain the duration attribute which is the reason behind the failure. See below :
Looking at the dash-IF[1] documents, we see that it is necessary for periods to include the duration attribute. A reference manifest can be seen here https://docs.aws.amazon.com/mediatailor/latest/ug/dash-manifest-vod.html_**

Here is our manifest encoded with Bento4
```xml
<?xml version="1.0" ?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2.00S" mediaPresentationDuration="PT1M46.517S" type="static">
  <!-- Created with Bento4 mp4-dash.py, VERSION=2.0.0-639 -->
  <Period>
    <!-- Video -->
    <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="1920" maxHeight="1080">
      <SegmentTemplate timescale="15360" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4s" startNumber="1">
        <SegmentTimeline>
          <S d="30720" r="52"/>
          <S d="7936"/>
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation id="video/avc1/1" codecs="avc1.4D402A" width="1920" height="1080" scanType="progressive" frameRate="60" bandwidth="1544536"/>
      <Representation id="video/avc1/2" codecs="avc1.4D4020" width="1280" height="720" scanType="progressive" frameRate="60" bandwidth="1029836"/>
      <Representation id="video/avc1/3" codecs="avc1.4D401F" width="842" height="480" scanType="progressive" frameRate="60" bandwidth="625632"/>
      <Representation id="video/avc1/4" codecs="avc1.4D401F" width="640" height="360" scanType="progressive" frameRate="60" bandwidth="444305"/>
      <Representation id="video/avc1/5" codecs="avc1.4D401E" width="426" height="240" scanType="progressive" frameRate="60" bandwidth="198266"/>
    </AdaptationSet>
    <!-- Audio -->
    <AdaptationSet mimeType="audio/mp4" startWithSAP="1" segmentAlignment="true">
      <SegmentTemplate timescale="48000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4s" startNumber="1">
        <SegmentTimeline>
          <S d="96256"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="24440"/>
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation id="audio/und/mp4a.40.2/1" codecs="mp4a.40.2" bandwidth="194349" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
      <Representation id="audio/und/mp4a.40.2/2" codecs="mp4a.40.2" bandwidth="130248" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
      <Representation id="audio/und/mp4a.40.2/3" codecs="mp4a.40.2" bandwidth="97200" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
      <Representation id="audio/und/mp4a.40.2/4" codecs="mp4a.40.2" bandwidth="65397" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
```

Any suggestion on how to implement this.
No Period duration for DASH
This is a GitHub Issue
repo:Bento4
owner:axiomatic-systems
Title : No Period duration for DASH
Issue date:

--- start body ---
Hi, 

We use Bento4 to package our content then we upload our content to AWS S3.

We have recently been on support with AWS after trying to playback content and also insert ads using Mediatailor both were failing.

They stated.

**_We looked at the source manifest and found out that it doesn't contain the duration attribute which is the reason behind the failure. See below :
Looking at the dash-IF[1] documents, we see that it is necessary for periods to include the duration attribute. A reference manifest can be seen here https://docs.aws.amazon.com/mediatailor/latest/ug/dash-manifest-vod.html_**

Here is our manifest encoded with Bento4
```xml
<?xml version="1.0" ?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2.00S" mediaPresentationDuration="PT1M46.517S" type="static">
  <!-- Created with Bento4 mp4-dash.py, VERSION=2.0.0-639 -->
  <Period>
    <!-- Video -->
    <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="1920" maxHeight="1080">
      <SegmentTemplate timescale="15360" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4s" startNumber="1">
        <SegmentTimeline>
          <S d="30720" r="52"/>
          <S d="7936"/>
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation id="video/avc1/1" codecs="avc1.4D402A" width="1920" height="1080" scanType="progressive" frameRate="60" bandwidth="1544536"/>
      <Representation id="video/avc1/2" codecs="avc1.4D4020" width="1280" height="720" scanType="progressive" frameRate="60" bandwidth="1029836"/>
      <Representation id="video/avc1/3" codecs="avc1.4D401F" width="842" height="480" scanType="progressive" frameRate="60" bandwidth="625632"/>
      <Representation id="video/avc1/4" codecs="avc1.4D401F" width="640" height="360" scanType="progressive" frameRate="60" bandwidth="444305"/>
      <Representation id="video/avc1/5" codecs="avc1.4D401E" width="426" height="240" scanType="progressive" frameRate="60" bandwidth="198266"/>
    </AdaptationSet>
    <!-- Audio -->
    <AdaptationSet mimeType="audio/mp4" startWithSAP="1" segmentAlignment="true">
      <SegmentTemplate timescale="48000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4s" startNumber="1">
        <SegmentTimeline>
          <S d="96256"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="95232"/>
          <S d="96256" r="2"/>
          <S d="24440"/>
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation id="audio/und/mp4a.40.2/1" codecs="mp4a.40.2" bandwidth="194349" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
      <Representation id="audio/und/mp4a.40.2/2" codecs="mp4a.40.2" bandwidth="130248" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
      <Representation id="audio/und/mp4a.40.2/3" codecs="mp4a.40.2" bandwidth="97200" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
      <Representation id="audio/und/mp4a.40.2/4" codecs="mp4a.40.2" bandwidth="65397" audioSamplingRate="48000">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:mpegB:cicp:ChannelConfiguration" value="2"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
```

Any suggestion on how to implement this.
--- end body ---
