video - 使用 ffprobe 检查文件是仅音频还是视频

标签 video ffmpeg ffprobe

有没有我可以运行的 ffprobe 命令来查看我拥有的 mov 文件是纯音频还是还包含视频?我有各种 mov 文件,其中一些是音频配音,一些是完整的视频。

最佳答案

输出codec_type

ffprobe -loglevel error -show_entries stream=codec_type -of default=nw=1 input.foo

示例结果:

codec_type=video
codec_type=audio

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


同上但只输出值

ffprobe -loglevel error -show_entries stream=codec_type -of default=nw=1=nk=1 input.foo

或:

ffprobe -loglevel error -show_entries stream=codec_type -of csv=p=0 input.foo

示例结果:

video
audio

包含流索引

ffprobe -loglevel error -show_entries stream=index,codec_type -of csv=p=0 input.foo

示例结果:

0,video
1,audio

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


没有音频则不输出

ffprobe -loglevel error -select_streams a -show_entries stream=codec_type -of csv=p=0 input.foo

输入音频的示例结果:

audio

如果输入有音频,那么将没有输出(空输出),这对脚本使用很有用。


JSON 输出示例

ffprobe -loglevel error -show_entries stream=codec_type -of json input.mkv 

示例结果:

{
    "programs": [

    ],
    "streams": [
        {
            "codec_type": "video"
        },
        {
            "codec_type": "audio"
        }
    ]
}

其他输出格式

如果您想要不同的输出格式(ini、平面、紧凑、csv、xml),请参阅 FFprobe Documentation: Writers .

关于video - 使用 ffprobe 检查文件是仅音频还是视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32278277/

相关文章:

video - 如何在 FFMPEG 中删除/减少 mjpeg 流的像素化

android - 媒体播放器-NuPlayerRenderer : possible video time jump of x ms

c# - Dxsnap 第一次打开后无法正确显示视频

ffmpeg : Conversion to mkv with compatibility with Samsung BluRay

python - 如何在 ffprobe 中省略 JSON 输出中的错误消息?

ffmpeg - 编辑H264视频流头信息("start_pts"和 "start_time")

c# - C#中的文件比较

python - 如何在 ffmpeg-python 中合并视频和音频文件

ffmpeg 音量级别

audio - 查找视频文件中是否有音频