使用ffprobe检查纯音频文件

Dav*_*542 4 video ffmpeg ffprobe

是否有一个ffprobe命令我可以运行以查看我拥有的mov文件是仅音频还是包含视频?我有各种各样的mov文件,其中一些是音频配音,其中一些是完整的视频.

llo*_*gan 13

要输出 codec_type

ffprobe -loglevel error -show_entries stream=codec_type -of default=nw=1 input.foo
Run Code Online (Sandbox Code Playgroud)

示例结果:

codec_type=video
codec_type=audio
Run Code Online (Sandbox Code Playgroud)

如果您有多个音频或视频流,则输出将显示多个视频或音频条目.


与上面相同但只输出值

ffprobe -loglevel error -show_entries stream=codec_type -of default=nw=1=nk=1 input.foo
Run Code Online (Sandbox Code Playgroud)

要么:

ffprobe -loglevel error -show_entries stream=codec_type -of csv=p=0 input.foo
Run Code Online (Sandbox Code Playgroud)

示例结果:

video
audio
Run Code Online (Sandbox Code Playgroud)

包括流索引

ffprobe -loglevel error -show_entries stream=index,codec_type -of csv=p=0 input.foo
Run Code Online (Sandbox Code Playgroud)

示例结果:

0,video
1,audio
Run Code Online (Sandbox Code Playgroud)

在此示例中,视频是第一个流,而音频是第二个流,它是常态,但并非总是如此.


如果没有音频,则不输出任何内容

ffprobe -loglevel error -select_streams a -show_entries stream=codec_type -of csv=p=0 input.foo
Run Code Online (Sandbox Code Playgroud)

输入音频的示例结果:

audio
Run Code Online (Sandbox Code Playgroud)

如果输入的信息具有音频,然后就没有输出(没有输出),这可能是对脚本的使用是有用的.


其他输出格式

如果你想要不同的输出格式(json,ini,flat,csv,xml),请参阅FFprobe文档:Writers.


aer*_*tal 5

您可以输出JSON或XML中的流信息:

ffprobe -show_streams -print_format json input.mov

你将得到一个带有codec_type属性值的数组,如audio,video等等.