我有一个 24 位 48 KHz wav 文件,但是当我通过 ffmpeg 输入它时,流看起来像这样:
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
所以,它清楚地说pcm_24le
,据我所知,这意味着 pcm 签署了 24 位小端序,但它也说s32
,24 bit
紧随其后。这是什么意思?该文件是否以某种方式同时具有 24 位和 32 位,或者在这种情况下 s32 是否意味着完全不同的东西。
在处理 dts-streams 时,我也经历过一些类似的事情。如果我有一个带有普通dts音频流的mkv文件,它被识别为dts 5.1,但是当我用ffmpeg从文件中删除了一些流时,通过使用-c copy命令,它突然变成了dts s32 5.1 in新的 mkv 文件。
那么,s32 是否意味着有符号 32 位以外的其他含义?
这似乎是一个报告错误。
一个类似的错误报告是 24 位 FLAC,显示为每个样本 32 位 #23,这应该已在 2018 年修复。评论说“ffmpeg 打印的信息始终是 32 位”。
一个类似的错误报告,但最近从 2022 年 开始在日志 #9 中包含每个样本的位数,其中还说: