Opened 16 months ago

Closed 16 months ago

Last modified 16 months ago

#10104 closed defect (invalid)

ffprobe: doesn't write data when using -print_format/-of option

Reported by: smurfix Owned by:
Priority: normal Component: ffprobe
Version: 5.1.2 Keywords:
Cc: smurfix Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by smurfix)

Summary of the bug:

"ffprobe -of XXX" prints something that might contain XXX but doesn't actually write any data.

How to reproduce:

% ffprobe -of json 01.ogg 2>/dev/null
{

}
% ffprobe -of json 01.ogg 
{
ffprobe version 5.1.2-1 Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-3)
  configuration: --prefix=/usr --extra-version=1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, ogg, from '01.ogg':
  Duration: 00:02:36.45, start: 0.000000, bitrate: 141 kb/s
  Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 160 kb/s
}

This happens with MP4 files too so looks like a generic problem.

Change History (8)

comment:1 by Elon Musk, 16 months ago

Resolution: needs_more_info
Status: newclosed

Nonsense report.

Using hide banner and ffmpeg instead of ffprobe as mentioned in report.
Too much contradictions to comprehend.

comment:2 by smurfix, 16 months ago

Description: modified (diff)
Resolution: needs_more_info
Status: closedreopened

Report fixed. Sorry for mistakenly writing "ffmpeg" instead of "ffprobe" in the description.

Using -hide-banner or not doesn't affect the output; in fact further testing shows that all the verbosity goes to stderr and stdout is empty.

comment:3 by smurfix, 16 months ago

Summary: ffprobe: ignores output format optionffprobe: doesn't write data when using -print_format option

comment:4 by Cigaes, 16 months ago

Resolution: needs_more_info
Status: reopenedclosed

You did not use the -print_format option.
Reopen this bug when you manage to ① try a command line that matches the report you are making and ② copy-paste exactly your command line and its output ③ without hiding the banner and stderr output.

comment:5 by smurfix, 16 months ago

Description: modified (diff)
Resolution: needs_more_info
Status: closedreopened
Summary: ffprobe: doesn't write data when using -print_format optionffprobe: doesn't write data when using -print_format/-of option

I'd like to remind you that -print_format is documented as doing exactly the same thing as -of.

comment:6 by Elon Musk, 16 months ago

Both Command works fine here. So I'm very curious what binary you use.
Perhaps you use some shell that escapes stuff in strange ways.

comment:7 by Cigaes, 16 months ago

Resolution: invalid
Status: reopenedclosed

“③ without hiding the banner and stderr output”

Anyway, this is the expected behavior.

comment:8 by smurfix, 16 months ago

“③ without hiding the banner and stderr output”

Umm, I did add a second invocation without the redirect. Did you miss that?

Anyway, this is the expected behavior.

What do you mean by "this"? Empty JSON output??

Note: See TracTickets for help on using tickets.