[FFmpeg-trac] #9281(avformat:new): wrong $Number$ value while reading mpd

FFmpeg trac at avcodec.org
Wed Jun 9 02:08:46 EEST 2021


#9281: wrong $Number$ value while reading mpd
-------------------------------------+------------------------------------
             Reporter:  Kostik       |                    Owner:  (none)
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  avformat
              Version:  unspecified  |               Resolution:
             Keywords:  dash         |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+------------------------------------
Changes (by Carl Eugen Hoyos):

 * keywords:  mpd manifest => dash
 * component:  ffmpeg => avformat


Old description:

> Hello,
>
> using the latest static build ffmpeg version N-57631-gebedd26eef-static
> I want to read mpd and convert to mpegts - this part works ok,
> except one manifest
> looks like ffmpeg make wrong calculation for $Number$
>
> In my case I have
> availabilityStartTime="2021-05-27T11:59:16Z"
> media="$RepresentationID$-$Number$.m4s"
> duration="180180"
> startNumber="487925"
> presentationTimeOffset="89360526151"
>
> I expect $Number$ to be converted to 488430 (and other players do so),
> but ffmpeg try retrieve 397033568
>

> here is full manifest
>
> <?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"
> xmlns:mspr="urn:microsoft:playready"
> xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
> type="dynamic" minimumUpdatePeriod="PT6S" minBufferTime="PT1.000S"
> maxSegmentDuration="PT3.003S"
> availabilityStartTime="2021-05-27T11:59:16Z"
> timeShiftBufferDepth="PT36.036S" publishTime="2021-06-07T19:25:48Z"
> profiles="urn:mpeg:dash:profile:isoff-live:2011">
>   <Period id="487925" start="PT976813.47S">
>     <AdaptationSet mimeType="video/mp4" segmentAlignment="true"
> startWithSAP="1" maxWidth="1280" maxHeight="720"
> maxFrameRate="60000/1001" par="16:9">
>       <InbandEventStream schemeIdUri="urn:mpeg:dash:event:2012"
> value="1"/>
>       <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"
> value="CC1:und;CC2:und"/>
>       <SegmentTemplate timescale="90000"
> media="$RepresentationID$-$Number$.m4s" startNumber="487925"/>
>       <Representation id="video1" width="1280" height="720"
> frameRate="60000/1001" sar="1:1" scanType="progressive"
> bandwidth="6562944" codecs="avc1.640029"/>
>     </AdaptationSet>
>     <AdaptationSet mimeType="audio/mp4" lang="en" segmentAlignment="true"
> startWithSAP="1">
>       <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
>       <SegmentTemplate timescale="90000"
> media="$RepresentationID$-$Number$.m4s" startNumber="487925"/>
>       <Representation id="audio1" audioSamplingRate="44100"
> bandwidth="96000" codecs="mp4a.40.2">
>         <AudioChannelConfiguration
> schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
> value="2"/>
>       </Representation>
>     </AdaptationSet>
>     <AdaptationSet mimeType="audio/mp4" lang="es" segmentAlignment="true"
> startWithSAP="1">
>       <Role schemeIdUri="urn:mpeg:dash:role:2011" value="dub"/>
>       <SegmentTemplate timescale="90000"
> media="$RepresentationID$-$Number$.m4s" startNumber="487925"/>
>       <Representation id="audio2" audioSamplingRate="44100"
> bandwidth="96000" codecs="mp4a.40.2">
>         <AudioChannelConfiguration
> schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
> value="2"/>
>       </Representation>
>     </AdaptationSet>
>   </Period>
>   <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014"
> value="2021-06-07T19:25:48Z"/>
> </MPD>

New description:

 Hello,

 using the latest static build ffmpeg version N-57631-gebedd26eef-static
 I want to read mpd and convert to mpegts - this part works ok,
 except one manifest
 looks like ffmpeg make wrong calculation for $Number$

 In my case I have
 availabilityStartTime="2021-05-27T11:59:16Z"
 media="$RepresentationID$-$Number$.m4s"
 duration="180180"
 startNumber="487925"
 presentationTimeOffset="89360526151"

 I expect $Number$ to be converted to 488430 (and other players do so), but
 ffmpeg try retrieve 397033568


 here is full manifest
 {{{
 <?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"
 xmlns:mspr="urn:microsoft:playready"
 xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
 type="dynamic" minimumUpdatePeriod="PT6S" minBufferTime="PT1.000S"
 maxSegmentDuration="PT3.003S" availabilityStartTime="2021-05-27T11:59:16Z"
 timeShiftBufferDepth="PT36.036S" publishTime="2021-06-07T19:25:48Z"
 profiles="urn:mpeg:dash:profile:isoff-live:2011">
   <Period id="487925" start="PT976813.47S">
     <AdaptationSet mimeType="video/mp4" segmentAlignment="true"
 startWithSAP="1" maxWidth="1280" maxHeight="720" maxFrameRate="60000/1001"
 par="16:9">
       <InbandEventStream schemeIdUri="urn:mpeg:dash:event:2012"
 value="1"/>
       <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"
 value="CC1:und;CC2:und"/>
       <SegmentTemplate timescale="90000"
 media="$RepresentationID$-$Number$.m4s" startNumber="487925"/>
       <Representation id="video1" width="1280" height="720"
 frameRate="60000/1001" sar="1:1" scanType="progressive"
 bandwidth="6562944" codecs="avc1.640029"/>
     </AdaptationSet>
     <AdaptationSet mimeType="audio/mp4" lang="en" segmentAlignment="true"
 startWithSAP="1">
       <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
       <SegmentTemplate timescale="90000"
 media="$RepresentationID$-$Number$.m4s" startNumber="487925"/>
       <Representation id="audio1" audioSamplingRate="44100"
 bandwidth="96000" codecs="mp4a.40.2">
         <AudioChannelConfiguration
 schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
 value="2"/>
       </Representation>
     </AdaptationSet>
     <AdaptationSet mimeType="audio/mp4" lang="es" segmentAlignment="true"
 startWithSAP="1">
       <Role schemeIdUri="urn:mpeg:dash:role:2011" value="dub"/>
       <SegmentTemplate timescale="90000"
 media="$RepresentationID$-$Number$.m4s" startNumber="487925"/>
       <Representation id="audio2" audioSamplingRate="44100"
 bandwidth="96000" codecs="mp4a.40.2">
         <AudioChannelConfiguration
 schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
 value="2"/>
       </Representation>
     </AdaptationSet>
   </Period>
   <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014"
 value="2021-06-07T19:25:48Z"/>
 </MPD>
 }}}

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9281#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list