使用FFmpeg转换mp3或wav文件为pcm格式文件
由于项目开发中需要验证pcm格式音频的播放,可以使用FFmpeg进行转换
安装时这里推荐一个便捷方式,sudo apt install smplayer命令就会顺便安装上FFmpeg而不需要导入额外的仓库;
示例如下
ffmpeg -i incoming.mp3 -ar 8000 -ac 1 -acodec pcm_s16le -f s16le pcm16bit-le-1ac-8khz.pcm
说明:
-i incoming.mp3: 输入文件为incoming.mp3
-ar 8000: 采样率为8000
-ac 1: 声道数为1
-acodec pcm_s16le: 设置音频编码方式为输出pcm格式,采用signed 16编码,字节序为小端;
-f s16le: 即PCM signed 16-bit little-endian可以通过命令ffmpeg -formats查看支持的格式种类;
强制输入输出文件的格式,往往会自动检测或根据文件后缀猜到,大多不需要指定;
pcm16bit-le-1ac-8khz.pcm: 为输出文件名
典型转换
ffmpeg -i incoming.mp3 -ar 8000 -ac 2 -acodec pcm_s16le -f s16le pcm16bit-le-2ac-8khz.pcm
ffmpeg -i incoming.mp3 -ar 8000 -ac 1 -acodec pcm_s16le -f s16le pcm16bit-le-1ac-8khz.pcm
ffmpeg -i music.mp3 -ar 8000 -ac 1 -acodec pcm_s16le -f s16le music-pcm16bit-le-1ac-8khz.pcm
PCM转wav要提前知道pcm的采样率通道数编码格式及数据格式
ffmpeg -ar 8000 -ac 1 -acodec pcm_s16le -f s16le -i music-pcm16bit-le-1ac-8khz.pcm music-pcm16bit-le-1ac-8khz.wav