11

给定一个媒体文件,运行后ffprobe -i input.mp4 -show_format -print_format json,我得到了这样的结果:

{
    "format": {
        "filename": "ooxx.mp4",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
        "format_long_name": "QuickTime / MOV",
        "start_time": "0.000000",
        "duration": "231.210000",
        "size": "65133325",
        "bit_rate": "2253650",
        "probe_score": 100,
        "tags": {
            "major_brand": "isom",
            "minor_version": "512",
            "compatible_brands": "isomiso2avc1mp41",
            "encoder": "Lavf55.33.100",
        }
    }
}

我想知道probe_score在这里是什么意思?它是如何计算的?

4

1 回答 1

17

输入(在这种情况下为文件)可以具有扩展名(例如“.avi”)并且具有不同的格式(例如 wav 文件)。FFmpeg 可以检测输入的真实格式(使用 ffprobe)。为此,它会打开文件并读取它(前 5 秒,analyzeduration如果我没记错的话,由选项设置)。然后,它为每种格式分配一个分数:如果数据与输入无关,则为低分,如果格式看起来正确,则为高分。

返回的格式是得分最高的格式。probe_score就是这个分数。

100 是最高分,意味着 FFmpeg 确定格式是真实的。得分低于 25 分时,建议增加探测持续时间。

于 2014-08-13T14:29:13.543 回答