[FFmpeg-trac] #2801(avformat:new): Concat protocol with too many files

FFmpeg trac at avcodec.org
Sun Jul 21 11:12:09 CEST 2013


#2801: Concat protocol with too many files
------------------------------------+------------------------------------
             Reporter:  jbvsmo      |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  normal      |                Component:  avformat
              Version:  git-master  |               Resolution:
             Keywords:  concat      |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+------------------------------------

Comment (by Cigaes):

 Replying to [ticket:2801 jbvsmo]:
 >  1 - FFmpeg doesn't tell me whats wrong. It just ends the process with
 error code 1 and no useful information whatsoever. Even gdb can't show any
 information.

 That is not exactly true: ffmpeg tries to tell you what is going wrong,
 but the line it prints is huge and truncated by the colored log system, so
 you do not get the error message itself. Patch sent on the mailing list.

 >  2 - Why are all the files being opened at once? There should be a way
 to call "ffurl_open" only when the file is going to be used.

 To implement seeking and report useful information, concat needs at least
 the size of all component, and lavf does not allow to get that without
 opening. Two useful options could be added to the concat protocol to
 mitigate this problem:

 * An option to open only one file at once, and close it when no longer
 necessary. Even better, an option to limit the number of opened files to
 any value, using a LRU logic.

 * An option to work in non-seekable mode, with only one file open at once.

 Both options make the protocol slightly less reliable, but that is up to
 the user to choose to use them. Both should be pretty easy to implement
 (but not as easy as the first problem).

 Note that as an alternative to the concat protocol you can use the concat
 demuxer, it does not suffer from this problem. But it will only work if
 your streams are cleanly split before keyframes.

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


More information about the FFmpeg-trac mailing list