ffprobe输出的level值与H.264标准定义的level有什么区别
ffprobe输出level值与H.264标准level的差异
两者核心差异为数值换算规则不同,具体如下:
- H.264标准定义的level为带1位小数的数值,常见的有3.1、4.0、4.1、5.0、5.1等,每个level对应固定的最大视频分辨率、帧率、码率等性能阈值,用于标识解码设备需要满足的最低性能要求。
- ffprobe输出的level值为整数,是将标准level数值乘以10后得到的结果,方便程序统一读取处理,该换算规则同时适用于H.264、H.265编码的level输出。
- 两者换算公式:
ffprobe输出level值 ÷ 10 = 对应标准定义的level数值,比如ffprobe输出H.264流的level为31,对应H.264标准Level 3.1;输出level为40,对应H.264标准Level 4.0。
你提供的HEVC编码流查询样例使用的命令为:ffprobe -show_streams input.mp4
对应输出片段如下:
[STREAM] index=0 codec_name=hevc codec_long_name=H.265 / HEVC (High Efficiency Video Coding) profile=Main codec_type=video ... level=120 ...
该样例中ffprobe输出level=120,对应HEVC标准定义的Level 12.0。
内容的提问来源于stack exchange,提问作者Honng。
相关产品推荐
相关产品推荐

