请教下,怎么用 ffprobe 查看音频文件的 "位深" ? bits_per_raw_sample = N/A; bits_per_sample = 0 是啥情况? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yodhcn
V2EX    程序员

请教下,怎么用 ffprobe 查看音频文件的 "位深" ? bits_per_raw_sample = N/A; bits_per_ample = 0 是啥情况?

  •  
  •   yodhcn
    yodhcn 2021-01-27 21:34:48 +08:00 2414 次点击
    这是一个创建于 1770 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 ffprobe 查看音频文件的信息时,发现两个看不懂的数据项,`bits_per_raw_sample` 和 `bits_per_sample` 有什么区别?

    出现
    bits_per_raw_sample = N/A
    bits_per_sample = 0
    又意味着什么?

    据我了解,应有公式:比特率 = 采样率 * 位深 * 声道数

    用 `MPC-BE` 这个软件检查某些 MP3 文件的信息时,也会出现不显示 "位深" 的情况,
    这是 "位深" 低于 16bit 时就没有必要看了的意思吗?

    另外,位深、采样率、比特率等,这些值,哪一个最能反映音质?
    7 条回复    2021-01-28 12:03:20 +08:00
    no1xsyzy
        1
    no1xsyzy  
       2021-01-27 22:46:00 +08:00
    MPC-BE 我记得是基于 LavFilter,而 Lav 又是基于 ffmpeg……
    比特率还要考虑到压缩,尤其 mp3 是有损压缩

    决定音质的因素很多,如果拿 5 块钱爆音麦录 96kHz 48bit,音质也好不到哪去。何况单就文件来说,你可以随便升降采样
    就算问,在降采样的过程中降低哪个对音质还原度影响最大,那也是个偏微分方程。
    何况这三个值还有联动关系……
    具体你只能凭你的耳朵。
    如果你是想自动挑选,无脑选比特率大的吧,未必最好,但最让你感觉舒服,“我选了比特率最大的,其他多半只会更差吧”这样安慰自己。
    AX5N
        2
    AX5N  
       2021-01-27 22:47:50 +08:00
    理论上哪个都能反应出音质,实际上哪个都反应不出音质。

    人耳听不出位深高低的区别,采样率早已超出人耳极限,比特率和压缩算法有关,不同算法的比特率没有比较价值。
    mmlmml1
        3
    mmlmml1  
       2021-01-27 23:36:27 +08:00
    这三个都不能反映音质。举个极端的例子,一段原始为 16kHz/16bit 音频,将它先压缩到 8kHz/8bit 再 upscale 到 96kHz/24bit,处理前和处理后的哪个更好?

    更加准确的做法有,分析频谱图,分析 SNR 等等,而不是简单分析这几项数据。
    mmlmml1
        4
    mmlmml1  
       2021-01-27 23:39:33 +08:00
    另外,bits_per_raw_sample 表示每个样本在文件中占用的位数,bits_per_sample 表示每个样本实际的位数。举个例子:一个样本可以是 16 位的( bits_per_sample ),但在文件中占用 24 位( bits_per_raw_sample ),剩下的 8 位全部为 0 。
    Jirajine
        5
    Jirajine  
       2021-01-27 23:41:09 +08:00 via Android
    你可以理解为瓶子里装水,参数越高代表瓶子越大,“能够”装下更多地水。但实际装的水有多少,没有任何参数能够直接反映出。
    scarllium
        6
    scarllium  
       2021-01-28 10:33:42 +08:00   1
    位深是针对无损压缩的 wav 等格式,mp3/aac 有损格式的位深不是恒定的
    msg7086
        7
    msg7086  
       2021-01-28 12:03:20 +08:00 via Android   1
    有损压缩的位深没有具体意义。位深是指数据的精度,有损压缩中,数据都变了,还谈什么精度。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1111 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 17:41 PVG 01:41 LAX 09:41 JFK 12:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86