I’m reading the FFmpeg documentation from top to bottom and I’ve reached stream selection and stream specifiers and while the inference logic (i.e. which stream to operate upon) is impressive I think I’d like to be more explicit when I form commands.

I’d therefore like to get a report of what streams are contained within an input file. So how to get a list of streams using FFmpeg?

2 Answers 2


Use ffprobe. A command like this should give you all of the details you need:

ffprobe -i [filename]

To find number of streams via ffmpeg (without extra downloads like ffprobe):

ffmpeg.exe -i %file.in% 2>&1 | find "Stream"

You'll get output something like this:

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x816 [SAR 1:1 DAR 40:17], 2248 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 384 kb/s (default)
etc ...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .