[FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature!

softworkz . softworkz at hotmail.com
Fri May 16 11:19:42 EEST 2025



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Gyan Doshi
> Sent: Freitag, 16. Mai 2025 10:14
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a
> Killer-Feature!
> 
> 
> 
> On 2025-05-16 01:20 pm, softworkz . wrote:
> >
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Martin
> >> Storsjö
> >> Sent: Freitag, 16. Mai 2025 08:22
> >> To: ffmpeg-devel at ffmpeg.org
> >> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make
> it a
> >> Killer-Feature!
> >>
> >> On Thu, 15 May 2025, softworkz wrote:
> >>
> >>> ffmpeg | branch: master | softworkz <softworkz at hotmail.com> | Thu May 15
> >> 23:10:02 2025 +0200| [1f2b8d7238eff4ab8a4d8d6177e250b8180d51f4] |
> committer:
> >> softworkz
> >>> fftools/graphprint: Now, make it a Killer-Feature!
> >>>
> >>> remember this: -sg   <= means Show Graph
> >>>
> >>> Signed-off-by: softworkz <softworkz at hotmail.com>
> >>>
> >>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1f2b8d7238eff4ab8a4d
> >> 8d6177e250b8180d51f4
> >>> ---
> >> This broke compilation in a number of configurations:
> >>
> >> Windows UWP/Phone:
> >> https://fate.ffmpeg.org/report.cgi?slot=arm-msvc2022-
> >> winphone&time=20250516053009
> >>
> >> filelauncher.o : error LNK2019: unresolved external symbol ShellExecuteA
> >> referenced in function ff_open_html_in_browser
> >> ffmpeg_g.exe : fatal error LNK1120: 1 unresolved externals
> >>
> >> iOS:
> >> https://fate.ffmpeg.org/report.cgi?slot=aarch64-apple-darwin-
> >> ios18&time=20250516011754
> >>
> >> src/fftools/graph/filelauncher.c:61:13: error: 'system' is unavailable:
> >> not available on iOS
> >>      61 |         if (system(cmd) != 0)
> >>         |             ^
> >>
> /Users/mstorsjo/Xcode_16.2.app/Contents/Developer/Platforms/iPhoneOS.platform/
> >> Developer/SDKs/iPhoneOS.sdk/usr/include/_stdlib.h:184:6:
> >> note: 'system' has been explicitly marked unavailable here
> >>     184 | int      system(const char *) __DARWIN_ALIAS_C(system);
> >>         |          ^
> >> 1 error generated.
> >>
> >> tvOS:
> >> https://fate.ffmpeg.org/report.cgi?slot=aarch64-apple-darwin-
> >> tvos18&time=20250516014542
> >>
> >> src/fftools/graph/filelauncher.c:61:13: error: 'system' is unavailable:
> >> not available on tvOS
> >>      61 |         if (system(cmd) != 0)
> >>         |             ^
> >>
> /Users/mstorsjo/Xcode_16.2.app/Contents/Developer/Platforms/AppleTVOS.platform
> >> /Developer/SDKs/AppleTVOS.sdk/usr/include/_stdlib.h:184:6:
> >> note: 'system' has been explicitly marked unavailable here
> >>     184 | int      system(const char *) __DARWIN_ALIAS_C(system);
> >>         |          ^
> >> 1 error generated.
> >>
> >> // Martin
> >>
> > Hi Martin,
> >
> > do you think this is a reasonable condition for Apple in configure?
> >
> >          enable browser_launch
> >          if test -n "$sysroot"; then
> >              case "$sysroot" in
> >                  */iPhone*.sdk|\
> >                  */AppleTV*.sdk|\
> >                  */WatchOS*.sdk|\
> >                  */BridgeOS*.sdk)
> >                      disable browser_launch
> >                      ;;
> >              esac
> >          fi
> 
> Can you add an option to avoid launching browser, and just gen html?

This is always possible:

ffmpeg -print_graphs -print_graphs_format mermaidhtml -print_graphs_file graph.html


or just the mermaid without html around:

ffmpeg -print_graphs -print_graphs_format mermaid -print_graphs_file graph.mermaid


or just print

ffmpeg -print_graphs -print_graphs_format mermaid

then you can copy paste the mermaid output somewhere. It's supported by most 
Markdown environments (incl. GitHub) when pasting as code block with 'mermaid'
as language.



And you can of course get the graph data in all formats that FFprobe supports, e.g:

ffmpeg -print_graphs -print_graphs_format json


Best
sw








More information about the ffmpeg-devel mailing list