[FFmpeg-trac] #8522(avformat:open): DASH start segment number calculation is wrong for fragment_duration mode

FFmpeg trac at avcodec.org
Fri Jul 5 10:20:26 EEST 2024


#8522: DASH start segment number calculation is wrong for fragment_duration mode
------------------------------------+--------------------------------------
             Reporter:  onitake     |                    Owner:  Steven Liu
                 Type:  defect      |                   Status:  open
             Priority:  normal      |                Component:  avformat
              Version:  git-master  |               Resolution:
             Keywords:  dash        |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+--------------------------------------
Comment (by gorilla.maguila):

 Another example where dashdec requests negative fragments:

 https://ve-cmaf-pushb-
 uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/mobile_wifi_main_sd_abr_v2.mpd


 {{{
 [AVFormatContext @ 0x73727c000c80] Opening 'https://ve-cmaf-pushb-
 uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/mobile_wifi_main_sd_abr_v2.mpd'
 for reading
 [https @ 0x73727c001400] Setting default whitelist
 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
 [tcp @ 0x73727c0043c0] Original list of addresses:sq=    0B f=0/0
 [tcp @ 0x73727c0043c0] Address 52.84.66.15 port 443
 [tcp @ 0x73727c0043c0] Address 52.84.66.82 port 443
 [tcp @ 0x73727c0043c0] Address 52.84.66.93 port 443
 [tcp @ 0x73727c0043c0] Address 52.84.66.8 port 443
 [tcp @ 0x73727c0043c0] Interleaved list of addresses:
 [tcp @ 0x73727c0043c0] Address 52.84.66.15 port 443
 [tcp @ 0x73727c0043c0] Address 52.84.66.82 port 443
 [tcp @ 0x73727c0043c0] Address 52.84.66.93 port 443
 [tcp @ 0x73727c0043c0] Address 52.84.66.8 port 443
 [tcp @ 0x73727c0043c0] Starting connection attempt to 52.84.66.15 port 443
 [tcp @ 0x73727c0043c0] Successfully connected to 52.84.66.15 port 443
 [https @ 0x73727c001400] request: GET
 /x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/mobile_wifi_main_sd_abr_v2.mpd
 HTTP/1.1
 User-Agent: Lavf/60.16.100
 Accept: */*
 Range: bytes=0-
 Connection: close
 Host: ve-cmaf-pushb-uk.live.cf.md.bbci.co.uk
 Icy-MetaData: 1


 [https @ 0x73727c001400] header='HTTP/1.1 206 Partial Content'0/0
 [https @ 0x73727c001400] http_code=206
 [https @ 0x73727c001400] header='Content-Type: application/dash+xml'
 [https @ 0x73727c001400] header='Content-Length: 3926'
 [https @ 0x73727c001400] header='Connection: close'
 [https @ 0x73727c001400] header='x-amzn-RequestId:
 UQFJY7DSTUU3B6Y2EDAUAGUJCE4G7774YVDO5KRJ5RRPNP6E2LCW32MQHPG2PER5VNAZNRE7OF3OLM7I3BA2O4A'
 [https @ 0x73727c001400] header='Last-Modified: Thu, 04 Jul 2024 20:19:44
 GMT'
 [https @ 0x73727c001400] header='Access-Control-Allow-Origin: *'
 [https @ 0x73727c001400] header='Access-Control-Expose-Headers: Content-
 Range,X-Amz-Cf-Pop,X-Forwarded-Proto,Last-Modified,Date,x-amzn-cipher-
 suite,x-amzn-ErrorMessage,Cache-Control,ETag,x-amzn-RequestId,x-amzn-
 ErrorType,X-Forwarded-For,X-Amz-Cf-Id,Content-Length,Content-Type'
 [https @ 0x73727c001400] header='Cache-Control: max-age=30'
 [https @ 0x73727c001400] header='Date: Fri, 05 Jul 2024 07:18:31 GMT'
 [https @ 0x73727c001400] header='ETag:
 f1d84b6f69823a2fa077d92d73789822c81952255b58dfd701bc33386c93ede6'
 [https @ 0x73727c001400] header='Vary: Accept-Encoding'
 [https @ 0x73727c001400] header='Content-Range: bytes 0-3925/3926'
 [https @ 0x73727c001400] header='X-Cache: RefreshHit from cloudfront'
 [https @ 0x73727c001400] header='Via: 1.1
 71a0472adc0e71a3b21b29ba3bec35f2.cloudfront.net (CloudFront)'
 [https @ 0x73727c001400] header='X-Amz-Cf-Pop: MAD51-C2'
 [https @ 0x73727c001400] header='X-Amz-Cf-Id:
 05TsFnqRjKhwR7JIdqillLqARTUpxDX9nOORBHwxjAQT5gjL1CEgOg=='
 [https @ 0x73727c001400] header=''
 Probing dash score:100 size:2048
 [dash @ 0x73727c000c80] Format dash probed with size=2048 and score=100
 [dash @ 0x73727c000c80] c->availability_start_time = [1720124415]
 [dash @ 0x73727c000c80] c->publish_time = [1720124384]
 [dash @ 0x73727c000c80] c->minimum_update_period = [28800]
 [dash @ 0x73727c000c80] c->min_buffer_time = [10]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [82565970001920]
 [dash @ 0x73727c000c80] rep->fragment_duration = [184320]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [48000]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [43003109376]
 [dash @ 0x73727c000c80] rep->fragment_duration = [96]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [25]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [43003109376]
 [dash @ 0x73727c000c80] rep->fragment_duration = [96]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [25]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [43003109376]
 [dash @ 0x73727c000c80] rep->fragment_duration = [96]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [25]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [43003109376]
 [dash @ 0x73727c000c80] rep->fragment_duration = [96]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [25]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [43003109376]
 [dash @ 0x73727c000c80] rep->fragment_duration = [96]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [25]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] rep->presentation_timeoffset = [43003109376]
 [dash @ 0x73727c000c80] rep->fragment_duration = [96]
 [dash @ 0x73727c000c80] rep->fragment_timescale = [25]
 [dash @ 0x73727c000c80] rep->first_seq_no = [447949057]
 [dash @ 0x73727c000c80] in fragment_duration mode fragment_timescale = 25,
 presentation_timeoffset = 43003109376
 [dash @ 0x73727c000c80] in live mode
 [dash @ 0x73727c000c80] new fragment: min[447959342] max[447959342]
 [dash @ 0x73727c000c80] DASH request for url 'https://ve-cmaf-pushb-
 uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/v=pv2/b=86016/segment.init',
 offset 0
 [https @ 0x73727c10c740] Setting default whitelist
 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
 [tcp @ 0x73727c0a8f80] Original list of addresses:sq=    0B f=0/0
 [tcp @ 0x73727c0a8f80] Address 52.84.66.82 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.93 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.8 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.15 port 443
 [tcp @ 0x73727c0a8f80] Interleaved list of addresses:
 [tcp @ 0x73727c0a8f80] Address 52.84.66.82 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.93 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.8 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.15 port 443
 [tcp @ 0x73727c0a8f80] Starting connection attempt to 52.84.66.82 port 443
 [tcp @ 0x73727c0a8f80] Successfully connected to 52.84.66.82 port 443
 [https @ 0x73727c10c740] request: GET
 /x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/v=pv2/b=86016/segment.init
 HTTP/1.1
 User-Agent: Lavf/60.16.100
 Accept: */*
 Connection: close
 Host: ve-cmaf-pushb-uk.live.cf.md.bbci.co.uk
 Icy-MetaData: 1


 [https @ 0x73727c10c740] header='HTTP/1.1 200 OK' sq=    0B f=0/0
 [https @ 0x73727c10c740] http_code=200
 [https @ 0x73727c10c740] header='Content-Type: video/mp4'
 [https @ 0x73727c10c740] header='Content-Length: 687'
 [https @ 0x73727c10c740] header='Connection: close'
 [https @ 0x73727c10c740] header='x-amzn-RequestId:
 4SXTB5TPQ2TSJDP7ZH3DZKGNMKZMWQPBMRPNIQ3KVYB2JZPLJ5HOVPTWDOVT3VUZ2NBYJC6KG7OJI5YYLQ3PCMQ'
 [https @ 0x73727c10c740] header='Last-Modified: Thu, 04 Jul 2024 20:18:50
 GMT'
 [https @ 0x73727c10c740] header='Access-Control-Allow-Origin: *'
 [https @ 0x73727c10c740] header='Access-Control-Expose-Headers: Content-
 Range,X-Amz-Cf-Pop,X-Forwarded-Proto,Last-Modified,Date,x-amzn-cipher-
 suite,x-amzn-ErrorMessage,Cache-Control,ETag,x-amzn-RequestId,x-amzn-
 ErrorType,X-Forwarded-For,X-Amz-Cf-Id,Content-Length,Content-Type'
 [https @ 0x73727c10c740] header='Cache-Control: max-age=7200'
 [https @ 0x73727c10c740] header='Date: Fri, 05 Jul 2024 06:26:34 GMT'
 [https @ 0x73727c10c740] header='ETag:
 3d26bd85707ae45c10487c8477fdebab7688decb2cde0527031033d4041de11c'
 [https @ 0x73727c10c740] header='X-Cache: Hit from cloudfront'
 [https @ 0x73727c10c740] header='Via: 1.1
 4ddf42f206fdf10afe67b89baac28c46.cloudfront.net (CloudFront)'
 [https @ 0x73727c10c740] header='X-Amz-Cf-Pop: MAD51-C2'
 [https @ 0x73727c10c740] header='X-Amz-Cf-Id: 9RO-
 c6zWzX7OEE9TEoj2tavZylnDqnWRogHALSboXxciYUjcLhKzgA=='
 [https @ 0x73727c10c740] header='Age: 3118'
 [https @ 0x73727c10c740] header=''
 [dash @ 0x73727c000c80] Downloading an initialization section of size 687
 [AVIOContext @ 0x73727c6a4a00] Statistics: 687 bytes read, 0 seeks
 [dash @ 0x73727c000c80] DASH request for url 'https://ve-cmaf-pushb-
 uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/t=3840/v=pv2/b=86016/-1431645489.m4s',
 offset 0
 [https @ 0x73727c628700] Setting default whitelist
 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
 [tcp @ 0x73727c0a8f80] Original list of addresses:sq=    0B f=0/0
 [tcp @ 0x73727c0a8f80] Address 52.84.66.93 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.8 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.15 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.82 port 443
 [tcp @ 0x73727c0a8f80] Interleaved list of addresses:
 [tcp @ 0x73727c0a8f80] Address 52.84.66.93 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.8 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.15 port 443
 [tcp @ 0x73727c0a8f80] Address 52.84.66.82 port 443
 [tcp @ 0x73727c0a8f80] Starting connection attempt to 52.84.66.93 port 443
 [tcp @ 0x73727c0a8f80] Successfully connected to 52.84.66.93 port 443
 [tls @ 0x73727c660d80] Error in the pull function.sq=    0B f=0/0
 [tls @ 0x73727c660d80] IO error: End of file
 [dash @ 0x73727c000c80] Failed to open fragment of playlist
 [dash @ 0x73727c000c80] in live mode
 [dash @ 0x73727c000c80] new fragment: min[447959342] max[447959342]
 [dash @ 0x73727c000c80] DASH request for url 'https://ve-cmaf-pushb-
 uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/t=3840/v=pv2/b=86016/-1431645488.m4s',
 offset 0
 [https @ 0x73727c628700] Setting default whitelist
 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
 [tcp @ 0x73727c681640] Original list of addresses:sq=    0B f=0/0
 [tcp @ 0x73727c681640] Address 52.84.66.15 port 443
 [tcp @ 0x73727c681640] Address 52.84.66.82 port 443
 [tcp @ 0x73727c681640] Address 52.84.66.93 port 443
 [tcp @ 0x73727c681640] Address 52.84.66.8 port 443
 [tcp @ 0x73727c681640] Interleaved list of addresses:
 [tcp @ 0x73727c681640] Address 52.84.66.15 port 443
 [tcp @ 0x73727c681640] Address 52.84.66.82 port 443
 [tcp @ 0x73727c681640] Address 52.84.66.93 port 443
 [tcp @ 0x73727c681640] Address 52.84.66.8 port 443
 [tcp @ 0x73727c681640] Starting connection attempt to 52.84.66.15 port 443
 [tcp @ 0x73727c681640] Successfully connected to 52.84.66.15 port 443
 [https @ 0x73727c628700] request: GET
 /x=4/i=urn:bbc:pips:service:ww_bbc_stream_077/t=3840/v=pv2/b=86016/-1431645488.m4s
 HTTP/1.1
 User-Agent: Lavf/60.16.100
 Accept: */*
 Connection: close
 Host: ve-cmaf-pushb-uk.live.cf.md.bbci.co.uk
 Icy-MetaData: 1

 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/8522#comment:19>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list