How to list streams with FFmpeg?
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?
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 ...