To output the codec_type
ffprobe -loglevel error -show_entries stream=codec_type -of default=nw=1 input.foo
Example result:
codec_type=video
codec_type=audio
If you have multiple audio or video streams the output will show multiple video or audio entries.
Same as above but output just the values
ffprobe -loglevel error -show_entries stream=codec_type -of default=nw=1=nk=1 input.foo
or:
ffprobe -loglevel error -show_entries stream=codec_type -of csv=p=0 input.foo
Example result:
video
audio
To include the stream index
ffprobe -loglevel error -show_entries stream=index,codec_type -of csv=p=0 input.foo
Example result:
0,video
1,audio
In this example the video is the first stream and the audio is the second stream which is the norm but not always the case.
Output nothing if there is no audio
ffprobe -loglevel error -select_streams a -show_entries stream=codec_type -of csv=p=0 input.foo
Example result for input with audio:
audio
If the input does not have audio then there will be no output (null output) which could be useful for scripted usage.
JSON output example
ffprobe -loglevel error -show_entries stream=codec_type -of json input.mkv
Example result:
{
"programs": [
],
"streams": [
{
"codec_type": "video"
},
{
"codec_type": "audio"
}
]
}
Other output formats
If you want different output formatting (ini, flat, compact, csv, xml) see FFprobe Documentation: Writers.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…