ffmpeg 获取音频文件PCM切片

作者&投稿:蓝享 (若有异议请与网页底部的电邮联系)
~ 背景:为测试听歌识曲的sdk是否准确,获取一批测试音频(MP3格式) 的pcm 数据

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

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

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

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

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

ffplay.exe         一个播放器

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

通过调用命令行 

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 原始数据 

测试:

结果:

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

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

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

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

https://github.com/devsnd/tinytag

脚本存到在:


横山县13995265254: 怎么通过ffmpeg将音频文件转换成Mp3 转 -
赵希引阳: fmpeg -formats ffmpeg -i /media/e_backup/video/学说上海话/学说上海话-04.rmvb -vn -acodec pcm_s16le 4.wav lame 4.wav shanghai-04.mp3

横山县13995265254: ffmpeg命令行转换音频 -
赵希引阳: 可能是输入的pcm或输出MP3没有指定采样率和频道参数 把样本发一个给我可以看看

横山县13995265254: 请问怎样从一段视频里截出自己想要的那短音频, 呢? [mp3, 阿当然其它任何格式也好..] -
赵希引阳: mencoder: mencoder -ss 1:00 -endpos 1:50 -oac pcm -ovc frameno -of rawaudio -o c:\0 c:\0.rmvb说明:mencoder是mplayer的解码端,mplayer是ffmpeg的最大应用者,ffmpeg是开源的媒体编码解码库计划,mplayer是世界上最好的播放器.上...

横山县13995265254: 怎么用FFT从PCM获取频率?
赵希引阳: 很简单啊:Complex[] complexData = new Complex[audioData.length];for (int i = 0; i < complexData.length; i++) { complextData[i] = new Complex(audioData[i], 0);}Complex[] fftResult = FFT.fft(complexData);[/code]

横山县13995265254: ffmpeg PCM - S16LE和PCM - S16BE怎么转换 -
赵希引阳: 只要交换每个sample的高8bit和低8bit就可以了

横山县13995265254: 怎么用FFT从PCM获取频率? -
赵希引阳: 没做过 楼主参考下 http://stackoverflow.com/questions/7649003/jtransforms-fft-in-android-from-pcm-data看有没有帮助

横山县13995265254: 是否有将音频文件转化成PCM格式的软件? -
赵希引阳: 1. All To MP3 Converter 1.5.5.4 可将WMA,OGG和WAV PCM WMA格式转换成MP3格式,使用上相当简单快速、只需点选文件音乐 dl.pconline.com.cn/html/1/5/dlid=9425&dltypeid=1&pn=0&.html 2. 音频转换精灵 3.0 音频转换精灵是一款专业的音...

横山县13995265254: c# 解码MP3输出PCM -
赵希引阳: http://www.codeproject.com/Articles/8544/Aumplib-C-Namespace-And-Classes-For-Audio-Conversi

横山县13995265254: 如何使用ffmpeg中有多少条音频管道 -
赵希引阳: 什么意思,没看懂,如果你说的是用ffmpeg查看媒体文件中有多少条音频流 那么 ffmpeg -i fileName 就可以看到

横山县13995265254: 关于无损格式的转换 -
赵希引阳: 1.flac转wav不影响音质,不过完全没必要,差别忽略,还多了一倍的体积,且你的耳机比较一般 2.不知道你是拿什么软件提取音频的,DVD音频提取不太清楚,但是wavpack是可以拿foobar转换的,你要转wav或flac就找wav或flac的编码器,还有kmp也是可以提取或捕获的,一般可以直接输出无损格式. 3. 格式工厂其实就是捆绑了一堆的编码器,转换格式也就充当个媒介的作用,至于转换质量好坏和格式工厂并没啥关系,主要还要看他用的编码器,觉得欠妥当,还是拿foobar转吧,千千能转wav但不知道能不能播wavepack.其实转ape,FLAC,或者高码有损就够了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网