📄 一句话概括
参数不用全记——只要求【和预期不符的那一项】,符合预期的一眼扫过,对不上的那一行才是问题。
📝 本节和前面几节的关系
3.2.2 讲了怎么用,这一节说输出里各项怎么读。
一、六个必看的参数
Format:容器格式——和扩展名对不上,说明文件被改过后缀。 Codec ID:编码标识——播放器不认,多半卡在这一项。 Bit rate:码率——远高于同规格,说明压得不干净。 Frame rate:帧率——非常规值,可能是变速或抓帧。 Duration:时长——明显偏短,说明文件被截断。 Channels:声道数——只有 1,说明原始就是单声道。
二、怎么读:和预期对比
读参数的诀窍不是【全看懂】,而是看哪一项和你的预期不符。 比如你以为是 1080p,参数显示 854×480——这就是问题所在。 符合预期的参数看一眼就过,对不上的那一行才值得研究。
三、两类最常见的异常
扩展名与 Format 不符:文件被改过后缀,或者下载时改错了名。 总码率明显高于各流之和:说明还有别的数据(比如大段的元信息或广告)。 这两类问题看一遍参数就能发现,不用真的去播放。
四、参数背后的含义
每一行参数背后都是一个工程决定: 码率是质量与成本的取舍;帧率是流畅度与体积的取舍; 采样率是音质与兼容性的取舍。 读参数时多想一句【它为什么选了这个值】——这就是从【会看】到【会判断】的那一步。
五、动手 Demo:几个关键参数,看什么
MediaInfo 参数很多,但排查问题时真正要看的就那么几个。
params = [
("Format", "容器格式", "和扩展名不符=文件被改过后缀"),
("Codec ID", "编码标识", "播放器不认多半卡在这里"),
("Bit rate", "码率", "远高于同规格=压得不干净"),
("Frame rate", "帧率", "非常规值=可能是变速或抓帧"),
("Duration", "时长", "明显偏短=文件被截断"),
("Channels", "声道数", "只有 1 =原始就是单声道"),
]
for name, mean, bad in params:
print("%-11s %-9s %s" % (name, mean, bad))
实跑输出:
--------------------------------------------------------------------
几个关键参数,看什么
--------------------------------------------------------------------
MediaInfo 参数很多,但排查问题时真正要看的就那么几个。
参数 含义 异常时说明什么
---------------------------------------------------------
Format 容器格式 和扩展名不符=文件被改过后缀
Codec ID 编码标识 播放器不认多半卡在这里
Bit rate 码率 远高于同规格=压得不干净
Frame rate 帧率 非常规值=可能是变速或抓帧
Duration 时长 明显偏短=文件被截断
Channels 声道数 只有 1 =原始就是单声道
看参数的诀窍:**不要求全,要求【和预期不符的那一项】**。
符合预期的参数看一眼就过,**对不上的那一行才是问题所在。**
读参数的诀窍:不要求全,要求【和预期不符的那一项】。 符合预期的一眼扫过,对不上的那一行才是问题所在。
30 秒实验
- 拿一个文件,先写下你以为的四个参数(分辨率、帧率、码率、声道)。
- 再用 MediaInfo 读一遍,看有几项和你以为的不一样。
常见误区
- 想把每个参数都背下来。只用看和预期不符的那一项。
- 忽略扩展名与 Format 不符。那是文件被改过的最直接证据。
自测三问(点开对答案)
1. 六个必看的参数是哪些? —— Format、Codec ID、Bit rate、Frame rate、Duration、Channels。 2. 读参数的正确方法是什么? —— 和预期对比,只关注对不上的那一项。 3. 总码率明显高于各流之和说明什么? —— 文件里还有别的数据,比如大段元信息或附加内容。- ☐ 下一节(3.3.1 FLV简介)
相关笔记
- MediaInfo使用方法 — 怎么把它读出来
- 简介 — 参数看不懂时,下一层是码流分析
- 视频 — 分辨率与帧率的基础
- 🎬 FFmpeg入门详解 · 索引