[FFmpeg-trac] #10574(undetermined:new): ffplay / ffmpeg bad retry behaviour upon encountering a 404 on a live DASH stream

FFmpeg trac at avcodec.org
Thu Sep 21 17:14:00 EEST 2023


#10574: ffplay / ffmpeg bad retry behaviour upon encountering a 404 on a live DASH
stream
-------------------------------------+-------------------------------------
             Reporter:  ahutson-bbc  |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 ffmpeg, when used via eg ffplay, upon encountering a 404 in a live DASH
 stream using a segment template manifest, will begin requesting
 incrementing segment numbers, seemingly indefinitely as fast as it's able.
 This results in a potentially very large number of requests for URIs which
 will not exist at the time they're requested according to the manifest,
 which puts undue load on the origin receiving those requests.

 How to reproduce:
 I'm attaching a sample manifest as well as sample init segments to go with
 it. Put these files on a web server somewhere and load the manifest URL
 with ffplay, eg:
 {{{
 % ffplay https://example.com/test.mpd
 }}}
 You will see errors such as the following:
 {{{
 [https @ 0x7fd268010000] HTTP error 404 Not Found sq=    0B f=0/0
 [dash @ 0x7fd268000c80] Failed to open fragment of playlist
 }}}

 And you will see a significant number of requests for "future" segments on
 the origin. You can try this with some segments present as well; once it
 runs out of segments, the same thing happens.

 The expected behaviour would be to perhaps retry the missing segment
 *once*, or potentially even attempt to skip over the segment, but it
 should not result in an infinite number of requests and it should not
 result in requests for segments that are outside of the availability
 window defined by the manifest.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10574>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list