#9281(ffmpeg:new): wrong $Number$ value while reading mpd
#9281: wrong $Number$ value while reading mpd -------------------------------------+------------------------------------- Reporter: Kostik | Type: defect Status: new | Priority: normal Component: ffmpeg | Version: Keywords: mpd | unspecified manifest | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- 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> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#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
#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 | -------------------------------------+------------------------------------ Comment (by Chris Woods): This is still an issue in latest ffmpeg builds. Some DASH manifests seem to cause ffmpeg to incorrectly calculate the segment numbers. This behaviour is being noticed in various programs which depend on ffmpeg for DASH playback. == A working example, using mpv == {{{#!xml <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG- DASH_schema_files/DASH-MPD.xsd" profiles="urn:dvb:dash:profile:dvb- dash:2014,urn:dvb:dash:profile:dvb-dash:isoff-ext-live:2014" type="dynamic" availabilityStartTime="1970-01-01T00:01:00Z" publishTime="2025-05-27T10:34:23.736Z" minimumUpdatePeriod="PT8H" minBufferTime="PT10S" timeShiftBufferDepth="PT2M" maxSegmentDuration="PT4S"> <Period id="1" start="PT0S"> <AdaptationSet id="1" contentType="audio" mimeType="audio/mp4" segmentAlignment="true" audioSamplingRate="48000" codecs="mp4a.40.2" startWithSAP="1" group="1" lang="en"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="pa9" bandwidth="192000"> <SegmentTemplate initialization="a=pa9/b=192000/segment.init" media="t=4000/a=pa9/b=192000/$Number$.m4s" timescale="48000" duration="192000"/> </Representation> </AdaptationSet> <AdaptationSet id="2" contentType="video" mimeType="video/mp4" segmentAlignment="true" sar="1:1" startWithSAP="1" group="2" par="16:9"> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="pv54" bandwidth="24000000" width="3840" height="2160" codecs="hev1.2.4.L153.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv54/b=24000000/segment.init" media="t=4000/v=pv54/b=24000000/$Number$.m4s" timescale="200" duration="800"/> </Representation> <Representation id="pv49" bandwidth="14000000" width="2560" height="1440" codecs="hev1.2.4.L150.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv49/b=14000000/segment.init" media="t=4000/v=pv49/b=14000000/$Number$.m4s" timescale="200" duration="800"/> </Representation> <Representation id="pv46" bandwidth="10000000" width="1920" height="1080" codecs="hev1.2.4.L123.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv46/b=10000000/segment.init" media="t=4000/v=pv46/b=10000000/$Number$.m4s" timescale="200" duration="800"/> </Representation> <Representation id="pv45" bandwidth="7000000" width="1280" height="720" codecs="hev1.2.4.L120.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv45/b=7000000/segment.init" media="t=4000/v=pv45/b=7000000/$Number$.m4s" timescale="200" duration="800"/> </Representation> <Representation id="pv53" bandwidth="5500000" width="960" height="540" codecs="hev1.2.4.L93.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv53/b=5500000/segment.init" media="t=4000/v=pv53/b=5500000/$Number$.m4s" timescale="200" duration="800"/> </Representation> <Representation id="pv52" bandwidth="2810000" width="960" height="540" codecs="hev1.2.4.L93.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv52/b=2810000/segment.init" media="t=4000/v=pv52/b=2810000/$Number$.m4s" timescale="200" duration="800"/> </Representation> <Representation id="pv51" bandwidth="1600000" width="960" height="540" codecs="hev1.2.4.L93.00.00.B0" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv51/b=1600000/segment.init" media="t=4000/v=pv51/b=1600000/$Number$.m4s" timescale="200" duration="800"/> </Representation> </AdaptationSet> </Period> <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-xsdate:2014" value="https://time.akamai.com/?iso"/> </MPD> }}} {{{ [ 1.177][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash-stream/v=pv54/b=24000000/segment.init', offset 0 [ 1.178][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.185][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.220][d][ffmpeg] AVIOContext: Statistics: 721 bytes read, 0 seeks [ 1.221][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash- stream/t=4000/v=pv54/b=24000000/437889944.m4s', offset 0 [ 1.221][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.230][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.291][d][ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: advanced_editlist does not work with fragmented MP4. disabling. [ 1.291][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash-stream/v=pv49/b=14000000/segment.init', offset 0 [ 1.291][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.300][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.341][d][ffmpeg] AVIOContext: Statistics: 721 bytes read, 0 seeks [ 1.341][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash- stream/t=4000/v=pv49/b=14000000/437889944.m4s', offset 0 [ 1.342][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.350][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.405][d][ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: advanced_editlist does not work with fragmented MP4. disabling. [ 1.405][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash-stream/v=pv46/b=10000000/segment.init', offset 0 [ 1.406][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.415][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.457][d][ffmpeg] AVIOContext: Statistics: 721 bytes read, 0 seeks [ 1.458][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash- stream/t=4000/v=pv46/b=10000000/437889944.m4s', offset 0 [ 1.458][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.465][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.513][d][ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: advanced_editlist does not work with fragmented MP4. disabling. [ 1.513][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash-stream/v=pv45/b=7000000/segment.init', offset 0 [ 1.513][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.521][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.557][d][ffmpeg] AVIOContext: Statistics: 721 bytes read, 0 seeks [ 1.557][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash- stream/t=4000/v=pv45/b=7000000/437889944.m4s', offset 0 [ 1.558][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.565][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.618][d][ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: advanced_editlist does not work with fragmented MP4. disabling. [ 1.618][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash-stream/v=pv53/b=5500000/segment.init', offset 0 [ 1.619][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.626][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.662][d][ffmpeg] AVIOContext: Statistics: 721 bytes read, 0 seeks [ 1.663][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash- stream/t=4000/v=pv53/b=5500000/437889944.m4s', offset 0 [ 1.663][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.672][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.726][d][ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: advanced_editlist does not work with fragmented MP4. disabling. [ 1.726][d][ffmpeg/demuxer] dash: DASH request for url 'https://example.tld/working-dash-stream/v=pv52/b=2810000/segment.init', offset 0 [ 1.727][d][ffmpeg] tcp: Starting connection attempt to 10.10.1.1 port 80 [ 1.736][d][ffmpeg] tcp: Successfully connected to 10.10.1.1 port 80 [ 1.780][d][ffmpeg] AVIOContext: Statistics: 721 bytes read, 0 seeks }}} == An example of an incorrect playback attempt == {{{#!xml <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG- DASH_schema_files/DASH-MPD.xsd" profiles="urn:dvb:dash:profile:dvb- dash:2014,urn:dvb:dash:profile:dvb-dash:isoff-ext-live:2014" type="dynamic" availabilityStartTime="2025-07-03T09:38:39.04Z" publishTime="2025-07-03T09:38:21.9Z" minimumUpdatePeriod="PT8H" minBufferTime="PT10S" maxSegmentDuration="PT4S"> <Period id="1" start="PT0S"> <AdaptationSet id="1" contentType="audio" mimeType="audio/mp4" segmentAlignment="true" audioSamplingRate="48000" codecs="mp4a.40.5" startWithSAP="1" group="1" lang="en"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> <InbandEventStream schemeIdUri="urn:mpeg:dash:event:2012" value="1"/> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="pa3" bandwidth="96000"> <SegmentTemplate initialization="a=pa3/al=en- GB/ap=main/b=96000/segment.init" media="t=3840/a=pa3/al=en- GB/ap=main/b=96000/$Number$.m4s" startNumber="456129032" timescale="48000" duration="184320" presentationTimeOffset="84073702993920"/> </Representation> </AdaptationSet> <AdaptationSet id="2" contentType="video" mimeType="video/mp4" segmentAlignment="true" sar="1:1" startWithSAP="1" group="2" par="16:9"> <InbandEventStream schemeIdUri="urn:mpeg:dash:event:2012" value="1"/> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="pv4" bandwidth="281024" width="384" height="216" codecs="avc3.42C015" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv4/b=281024/segment.init" media="t=3840/v=pv4/b=281024/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv5" bandwidth="437056" width="512" height="288" codecs="avc3.4D4015" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv5/b=437056/segment.init" media="t=3840/v=pv5/b=437056/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv8" bandwidth="827008" width="704" height="396" codecs="avc3.4D401E" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv8/b=827008/segment.init" media="t=3840/v=pv8/b=827008/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv10" bandwidth="1604032" width="960" height="540" codecs="avc3.4D401F" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv10/b=1604032/segment.init" media="t=3840/v=pv10/b=1604032/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv13" bandwidth="2812032" width="960" height="540" codecs="avc3.64001F" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv13/b=2812032/segment.init" media="t=3840/v=pv13/b=2812032/$Number$.m4s" startNumber="456129032" timescale="50" duration="192" presentationTimeOffset="87576773952"/> </Representation> <Representation id="pv14" bandwidth="5070016" width="1280" height="720" codecs="avc3.640020" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv14/b=5070016/segment.init" media="t=3840/v=pv14/b=5070016/$Number$.m4s" startNumber="456129032" timescale="50" duration="192" presentationTimeOffset="87576773952"/> </Representation> </AdaptationSet> </Period> <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-xsdate:2014" value="https://time.akamai.com/?iso"/> </MPD> }}} {{{ [ 21.660][v][stream_callback] Opening https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/pc_hd_abr_v2.mpd [ 21.660][v][ffmpeg] Opening https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/pc_hd_abr_v2.mpd [ 21.796][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 21.796][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/v=pv4/b=281024/segment.init', offset 0 [ 21.856][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649671.m4s', offset 0 [ 21.905][w][ffmpeg] https: HTTP error 403 Forbidden [ 21.905][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 21.905][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 21.905][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649670.m4s', offset 0 [ 21.946][w][ffmpeg] https: HTTP error 403 Forbidden [ 21.946][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 21.946][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 21.946][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649669.m4s', offset 0 [ 22.004][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.004][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.004][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.004][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649668.m4s', offset 0 [ 22.060][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.060][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.060][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.060][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649667.m4s', offset 0 [ 22.101][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.101][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.101][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.101][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649666.m4s', offset 0 [ 22.147][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.147][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.147][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.147][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649665.m4s', offset 0 [ 22.204][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.204][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.204][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.204][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649664.m4s', offset 0 [ 22.262][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.262][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.262][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.262][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649663.m4s', offset 0 [ 22.315][w][ffmpeg] https: HTTP error 403 Forbidden [ 22.315][w][ffmpeg/demuxer] dash: Failed to open fragment of playlist [ 22.315][d][ffmpeg/demuxer] dash: new fragment: min[456135136] max[456135136] [ 22.315][d][ffmpeg/demuxer] dash: DASH request for url 'https://ve-cmaf- push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv4/b=281024/-1431649662.m4s', offset 0 }}} == An example of the same stream/manifest, correctly parsed and played using dash.js == {{{#!xml <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG- DASH_schema_files/DASH-MPD.xsd" profiles="urn:dvb:dash:profile:dvb- dash:2014,urn:dvb:dash:profile:dvb-dash:isoff-ext-live:2014" type="dynamic" availabilityStartTime="2025-07-03T09:38:39.04Z" publishTime="2025-07-03T09:38:21.9Z" minimumUpdatePeriod="PT8H" minBufferTime="PT10S" maxSegmentDuration="PT4S"> <Period id="1" start="PT0S"> <AdaptationSet id="1" contentType="audio" mimeType="audio/mp4" segmentAlignment="true" audioSamplingRate="48000" codecs="mp4a.40.5" startWithSAP="1" group="1" lang="en"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> <InbandEventStream schemeIdUri="urn:mpeg:dash:event:2012" value="1"/> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="pa3" bandwidth="96000"> <SegmentTemplate initialization="a=pa3/al=en- GB/ap=main/b=96000/segment.init" media="t=3840/a=pa3/al=en- GB/ap=main/b=96000/$Number$.m4s" startNumber="456129032" timescale="48000" duration="184320" presentationTimeOffset="84073702993920"/> </Representation> </AdaptationSet> <AdaptationSet id="2" contentType="video" mimeType="video/mp4" segmentAlignment="true" sar="1:1" startWithSAP="1" group="2" par="16:9"> <InbandEventStream schemeIdUri="urn:mpeg:dash:event:2012" value="1"/> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="pv4" bandwidth="281024" width="384" height="216" codecs="avc3.42C015" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv4/b=281024/segment.init" media="t=3840/v=pv4/b=281024/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv5" bandwidth="437056" width="512" height="288" codecs="avc3.4D4015" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv5/b=437056/segment.init" media="t=3840/v=pv5/b=437056/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv8" bandwidth="827008" width="704" height="396" codecs="avc3.4D401E" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv8/b=827008/segment.init" media="t=3840/v=pv8/b=827008/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv10" bandwidth="1604032" width="960" height="540" codecs="avc3.4D401F" frameRate="25" scanType="progressive"> <SegmentTemplate initialization="v=pv10/b=1604032/segment.init" media="t=3840/v=pv10/b=1604032/$Number$.m4s" startNumber="456129032" timescale="25" duration="96" presentationTimeOffset="43788386976"/> </Representation> <Representation id="pv13" bandwidth="2812032" width="960" height="540" codecs="avc3.64001F" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv13/b=2812032/segment.init" media="t=3840/v=pv13/b=2812032/$Number$.m4s" startNumber="456129032" timescale="50" duration="192" presentationTimeOffset="87576773952"/> </Representation> <Representation id="pv14" bandwidth="5070016" width="1280" height="720" codecs="avc3.640020" frameRate="50" scanType="progressive"> <SegmentTemplate initialization="v=pv14/b=5070016/segment.init" media="t=3840/v=pv14/b=5070016/$Number$.m4s" startNumber="456129032" timescale="50" duration="192" presentationTimeOffset="87576773952"/> </Representation> </AdaptationSet> </Period> <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-xsdate:2014" value="https://time.akamai.com/?iso"/> </MPD> }}} {{{ https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/v=pv8/b=827008/segment.init https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/v=pv14/b=5070016/segment.init https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/a=pa3/al =en-GB/ap=main/b=96000/segment.init }}} {{{ https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv14/b=5070016/456134427.m4s https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/a=pa3/al =en-GB/ap=main/b=96000/456134427.m4s https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/a=pa3/al =en-GB/ap=main/b=96000/456134428.m4s https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv14/b=5070016/456134428.m4s https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/v=pv14/b=5070016/456134429.m4s https://ve-cmaf-push-uk- live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/t=3840/a=pa3/al =en-GB/ap=main/b=96000/456134429.m4s }}} etc. -- Ticket URL: <https://trac.ffmpeg.org/ticket/9281#comment:2> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg