ffmpeg 获取音频文件PCM切片

背景:为测试听歌识曲的sdk是否准确,获取一批测试音频(MP3格式) 的pcm 数据


ffmpeg 工具获取、简介


首先去ffmpeg 官网上获取相应工具 

https://ffmpeg.zeranoe.com/builds/

一共有三种类型可供选择,在这里只需要选择 static builds(选择相应系统)

解压后,从bin目录下可以看到有三个可执行文件。大概功能为:

ffmpeg.exe     也是这里的主角,可以负责音频格式的转换。

ffplay.exe         一个播放器

ffprobe.exe      集多媒体文件或流的信息,并以人和机器可读的方式输出

ffmpeg.exe  获取PCM数据


通过调用命令行 

ffmpeg -ss 4 -t 16 -i input.mp3 -f s16le -acodec pcm_s16le -b:a 16 -ar 8000 - ac 1 output.raw

相应配置项的解释:

这一段获取的output 文件为    input.mp3  从4s 开始到20s  的数据 ,转存为 采样率8000khz,声道为单声道,位深为16bit  的pcm 原始数据 

测试:

ffmpeg 获取音频文件PCM切片_第1张图片

结果:

ffmpeg 获取音频文件PCM切片_第2张图片


PCM文件如何打开?

这点之前也不知道,后来查看到工具 Adobe Audition

使用该软件打开raw文件,选择相应的编码格式。


ffmpeg 获取音频文件PCM切片_第3张图片
选择16位PCM

就可以直接播放该PCM数据了


ffmpeg 获取音频文件PCM切片_第4张图片
获取的16s切片数据


批量获取切片文件(Python)


这里从github 找到了个能获取mp3 时长的库:

https://github.com/devsnd/tinytag


脚本存到在:

你可能感兴趣的:(ffmpeg 获取音频文件PCM切片)