鉴于媒体文件,在运行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 在这里意味着什么?如何计算?
答案 0 :(得分:12)
输入(在这种情况下为文件)可以具有扩展名(例如“.avi”)并且具有不同的格式(例如,wav文件)。 FFmpeg可以检测输入的实际格式(使用ffprobe)。
为了做到这一点,它打开文件并读取它(前5秒,如果我没记错的话,由选项analyzeduration
设置)。然后,它为每种格式分配一个分数:如果数据与输入无关则得分低,如果格式看起来正确则得分高。
返回的格式是得分最高的格式。 probe_score 是这个分数。
100是最高分,这意味着FFmpeg确定格式是真实的。如果得分低于25,则建议增加探测持续时间。