ffmpeg将音视频文件转换为wav文件

视频或者音频文件都可以转换为wav文件,如果是音频文件那么就是编码格式转变,如果是视频文件,那么就是从视频文件中抽取音频。

如果对wav的channel和sample bits没有什么要求的话,那么很简单:

ffmpeg  -i  INPUT OUTPUT.wav

ffmpeg看到你的文件后缀就知道你要输出的文件是wav,所以你不用指定它的编码格式。

例如:

ffmpeg -i c:test.mp3 c:test.wav

就是将c盘的test.mp3转换为test.wav文件

如果你查看它的格式你会发现:

sample frequcency: 44100

sample bits: 16bits

channels: 2

这是ffmpeg的默认设置,如果想要改变这些值那么要改变命令格式:

ffmpeg -i INPUT -ac CHANNELS -ar FREQUENCY -acodec PCMFORMAT OUTPUT

这里的CHANNELS 可以为

1和2,


PCMFORMAT 可以

pcm_u8,pcm_u16

FREQUENCY 可以是

8000

11025

22050

44100

例如:

ffmpeg -i D:Testaudiodizi.mp3 -ar 8000 -ac 1 -acodec pcm_u8 d:testaudiodizi.wav

就是输出8000采样率,1个声道,8bits的wav文件。

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

3 thoughts on “ffmpeg将音视频文件转换为wav文件

    1. huangxiansheng1980

      回复 zhangdaren:
      谢谢你的指正。
      $ ffmpeg -formats | grep PCM
      DE alaw PCM A-law
      DE f32be PCM 32-bit floating-point big-endian
      DE f32le PCM 32-bit floating-point little-endian
      DE f64be PCM 64-bit floating-point big-endian
      DE f64le PCM 64-bit floating-point little-endian
      DE mulaw PCM mu-law
      DE s16be PCM signed 16-bit big-endian
      DE s16le PCM signed 16-bit little-endian
      DE s24be PCM signed 24-bit big-endian
      DE s24le PCM signed 24-bit little-endian
      DE s32be PCM signed 32-bit big-endian
      DE s32le PCM signed 32-bit little-endian
      DE s8 PCM signed 8-bit
      DE u16be PCM unsigned 16-bit big-endian
      DE u16le PCM unsigned 16-bit little-endian
      DE u24be PCM unsigned 24-bit big-endian
      DE u24le PCM unsigned 24-bit little-endian
      DE u32be PCM unsigned 32-bit big-endian
      DE u32le PCM unsigned 32-bit little-endian
      DE u8 PCM unsigned 8-bit
      上面是所有ffmpeg所支持的wav的格式

      Reply
  1. Pingback: 树莓派语音识别——基于百度在线PythonSDK | 番茄小窝

Leave a Reply

Your email address will not be published. Required fields are marked *