This topic created in 1943 days ago, the information mentioned may be changed or developed.
用 ffprobe 查看音频文件的信息时,发现两个看不懂的数据项,`bits_per_raw_sample` 和 `bits_per_sample` 有什么区别?
出现
bits_per_raw_sample = N/A
bits_per_sample = 0
又意味着什么?
据我了解,应有公式:比特率 = 采样率 * 位深 * 声道数
用 `MPC-BE` 这个软件检查某些 MP3 文件的信息时,也会出现不显示 "位深" 的情况,
这是 "位深" 低于 16bit 时就没有必要看了的意思吗?
另外,位深、采样率、比特率等,这些值,哪一个最能反映音质?
7 replies • 2021-01-28 12:03:20 +08:00
 |
|
1
no1xsyzy Jan 27, 2021
MPC-BE 我记得是基于 LavFilter,而 Lav 又是基于 ffmpeg…… 比特率还要考虑到压缩,尤其 mp3 是有损压缩
决定音质的因素很多,如果拿 5 块钱爆音麦录 96kHz 48bit,音质也好不到哪去。何况单就文件来说,你可以随便升降采样 就算问,在降采样的过程中降低哪个对音质还原度影响最大,那也是个偏微分方程。 何况这三个值还有联动关系…… 具体你只能凭你的耳朵。 如果你是想自动挑选,无脑选比特率大的吧,未必最好,但最让你感觉舒服,“我选了比特率最大的,其他多半只会更差吧”这样安慰自己。
|
 |
|
2
AX5N Jan 27, 2021
理论上哪个都能反应出音质,实际上哪个都反应不出音质。
人耳听不出位深高低的区别,采样率早已超出人耳极限,比特率和压缩算法有关,不同算法的比特率没有比较价值。
|
 |
|
3
mmlmml1 Jan 27, 2021
这三个都不能反映音质。举个极端的例子,一段原始为 16kHz/16bit 音频,将它先压缩到 8kHz/8bit 再 upscale 到 96kHz/24bit,处理前和处理后的哪个更好?
更加准确的做法有,分析频谱图,分析 SNR 等等,而不是简单分析这几项数据。
|
 |
|
4
mmlmml1 Jan 27, 2021
另外,bits_per_raw_sample 表示每个样本在文件中占用的位数,bits_per_sample 表示每个样本实际的位数。举个例子:一个样本可以是 16 位的( bits_per_sample ),但在文件中占用 24 位( bits_per_raw_sample ),剩下的 8 位全部为 0 。
|
 |
|
5
Jirajine Jan 27, 2021 via Android
你可以理解为瓶子里装水,参数越高代表瓶子越大,“能够”装下更多地水。但实际装的水有多少,没有任何参数能够直接反映出。
|
 |
|
6
scarllium Jan 28, 2021 1
位深是针对无损压缩的 wav 等格式,mp3/aac 有损格式的位深不是恒定的
|
 |
|
7
msg7086 Jan 28, 2021 via Android 1
有损压缩的位深没有具体意义。位深是指数据的精度,有损压缩中,数据都变了,还谈什么精度。
|