[FFmpeg-trac] #9683(ffmpeg:new): New multimedia filter(s) which can output to a file

FFmpeg trac at avcodec.org
Thu Mar 10 08:27:54 EET 2022


#9683: New multimedia filter(s) which can output to a file
-------------------------------------+-------------------------------------
             Reporter:  ScriptTiger  |                     Type:
                                     |  enhancement
               Status:  new          |                 Priority:  wish
            Component:  ffmpeg       |                  Version:
                                     |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the wish:
 Currently, using the movie and amovie filters allow you to define
 multimedia sources directly in a filtergraph. However, there are currently
 no counterpart filters to allow you to output to a file, which must be
 done via additional trailing command-line parameters (i.e. "-map", "-c:a",
 "-c:v", etc.)

 I propose (a) new multimedia filter(s) for writing to output files which
 are defined directly in a filtergraph.

 The use case for this is that all terminal environments, especially on
 Windows systems, are extremely limited in multiple ways. The solution to
 avoiding these limitations is to use the "-filter_complex_script"
 parameter and offload the filtergraph into an external file which can be
 read directly by FFmpeg and bypasses the terminal limitations. However,
 having to separately map the outputs outside of the filtergraph script is
 a single point of failure which can possibly undermine the advantages of
 using an external filtergraph script in cases where there are a large
 number of outputs, each requiring separate mappings, codecs, and
 containing varying path lengths that can quickly hit the terminal
 limitations for large, complex projects.

 I think ultimately having such a filter will also make FFmpeg much more
 scalable to large, complex projects, as well as make filtergraphs
 themselves much more portable as a kind of project file which contains all
 the information needed to output any project, thus making additional
 command-line parameters redundant in cases where the filtergraph script
 can also define output multimedia files.

 The intention of this is not to look negatively upon the currently
 available command-line parameters, as they definitely give you a lot of
 options and make working with FFmpeg extremely fast and efficient under
 any circumstance. However, for very large, complex projects, being able to
 contain everything to a filtergraph would definitely improve usability and
 efficiency for those use cases.

 A common example of a use case would be one of "big data" visualizations,
 where you have multiple multimedia sources and need to perform highly
 complex transformations with very large filtergraphs and output that data
 in multiple formats. Currently, the only way to do this is by creating
 multiple filtergraph scripts that deal with only a smaller subset of the
 data at a time and running FFmpeg multiple times, doing just a small group
 of outputs at a time, and spending an order of magnitude more time than
 necessary on redundant transformations. This also makes those filtergraphs
 not very portable since each filtergraph requires their own additional
 command-line parameters to define their outputs, like mappings, codecs,
 etc. So, just making the filtergraph script itself have the ability to be
 self-contained seems like it would massively improve workflow efficiency,
 portability, scalability, and just overall simplify things a lot.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9683>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list