[FFmpeg-devel] [PATCH 0/3] tools/ffmpeg-sg: Add show-graph wrapper scripts (aka killer feature)
softworkz .
softworkz at hotmail.com
Tue Jun 10 16:31:35 EEST 2025
> -----Original Message-----
> From: Kieran Kunhya <kieran618 at googlemail.com>
> Sent: Dienstag, 10. Juni 2025 00:49
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Cc: softworkz <softworkz at hotmail.com>
> Subject: Re: [FFmpeg-devel] [PATCH 0/3] tools/ffmpeg-sg: Add show-
> graph wrapper scripts (aka killer feature)
>
> On Mon, 9 Jun 2025, 20:24 ffmpegagent, <ffmpegagent-at-
> gmail.com at ffmpeg.org>
> wrote:
>
> > The "killer feature" returns!
> >
> > Different approach - same procedure:
> >
> > * Add -sg to your FFmpeg command line
> > * But now it's not
> > * ./ffmpeg -sg xxxxx but
> > * ./ffmpeg-sg xxxxx
> >
>
> Why does this need to be part of FFmpeg if it's a wrapper script to
> spawn a
> web browser (nothing to do with FFmpeg's actual purpose of processing
> multimedia).
>
> Kieran
Hi Kieran,
of course that's a legitimate question, and a question that could be asked
for almost any new feature in FFmpeg.
Obviously, there is no forcing reason for which it would _need_ to be included,
so I can only say why it _should_ be included in FFmpeg IMHO:
- Highly Useful
If you haven't seen what it is and what it does, than I would suggest to
everybody to try it out or to look at some of the examples:
https://softworkz.github.io/ffmpeg_output_apis/2_hwa_qsv.html
https://softworkz.github.io/ffmpeg_output_apis/3_complex_graphs.html
This should also answer your question about what it has to do with "FFmpeg'
actual purpose of processing multimedia": FFmpeg has a command line
interface and it's often not clear to everybody how a certain command line
is actually interpreted and executed by FFmpeg. This is helpful for
both beginners and advanced users of FFmpeg (e.g. when things get complex
like in the second example).
Even Michael said he finds it useful and Niklas Haas had voiced a need
for visualizing the negotiated image formats between filters, earlier this
year.
- Highly Convenient
This core functionality for the above is already merged into master, but
it's rather painful to make use of it
- You need to remember the command line parameters
- You need to type them
- You need to determined a name for the output html file
- You need to change it each time when you want to compare commands
- You need to manually open the output in a browser
It becomes highly convenient when the only thing you need to do and
remember is to append "-sg" to any command whenever you need it and
everything else happens automatically.
You can try many command variations and it creates tabs in your
browser between you can switch can compare the different graphs.
- Instant Availability
This simply means that whenever and wherever you need it...
=> it's already there
It is part of the build output, which means all developers that you
can compile, test your work and when you want to visualize the graph
you just need to append -sg and it works - without doing any extra
work.
Same for make install and all kinds of distribution packages.
When this is given, we can add a note to the documentation and make
this available to Millions of users.
If it would be just scripts for download from "somewhere", then it
wouldn't be a feature available to Millions, but just something
for a few dozens of people who would ever know about it.
Those considerations combined is what had originally brought me
to the tag line that some found funny and others rather "immature":
Highly Useful + Convenient + Instant Availability = "Killer Feature"
It's helpful for the masses => it should be available to the masses.
This is why I believe that it should be included in FFmpeg.
Best regards,
softworkz
More information about the ffmpeg-devel
mailing list