使用 ffmpeg 获取没有 WAV 标头的 PCM/Red Book/CDDA?

使用 ffmpeg 获取没有 WAV 标头的 PCM/Red Book/CDDA?

我有一个副项目正在进行,需要的文件只是未压缩的 PCM 音频的样本。我的计划是首先将所有内容转换为 WAV,然后使用我自己的脚本删除除样本之外的所有片段。

我突然想到,直接转换为 CDDA(“红皮书”音频)与我得到的结果相同,但涉及的步骤少了一步,并且代码经过了更好的测试,只要我可以将所有内容强制转换为 CD - 优质音频(我是)。不过,翻看文档,似乎ffmpeg并不能真正输出CDDA?考虑到它可以输出多少不常见的东西,以及音频将在任何其他音频文件转换中通过该形式进行解码,这有点令人困惑。

我是否缺少某种获取所需内容的方法,或者这是意外缺少的组件ffmpeg?其他常用工具可以做到吗?

答案1

如果您只需要原始比特流,请使用

ffmpeg -i in.mp3 -ar 44100 -ac 2 -f s16le out.pcm

其中输出没有标题或其他元数据。它是原始比特流。两个通道是交错的,即 {sample-ch1、sample-ch2、sample-ch1...}

答案2

CDDA 格式是原始签名小端 16 位 PCM,具有 2 个通道,频率为 44.1 kHz。所以你需要的是类似的东西

-acodec pcm_s16le -ar 44.1k -ac 2

(未经测试)。顺便说一句,您可以看到所有编解码器,包括 PCM 的,带有ffmpeg -codecs.

相关内容