> IIRC, ffmpeg is like this with everything going to stderr, making metadata parsing more difficult than it needs to be.
If you're trying to parse metadata, ffprobe has a set of options for structured output to stdout. Parsing this will be dramatically easier than whatever you're doing.
sometimes you just want to quickly look at ffprobe's natural output but the file have a lot of metadata or subtitles or whatever, and the stuff you want to look at is printed up on top, so the natural way is to pipe it to less or a file.
but no, you have to mess with stderr because the programs natural output without using the flags is an error apparently.
If you're trying to parse metadata, ffprobe has a set of options for structured output to stdout. Parsing this will be dramatically easier than whatever you're doing.
(There's more -show_stuff options, but they're probably more detailed than you want. Run ffprobe --help for details.)