只提取音频流而不进行重新编码
提取格式不能为MP3,可以是aac和m4a
ffmpeg -i input.avi -vn -acodec copy output.aac
vn
:没有视频;acodec copy
:使用已经在那里相同的音频流
提取指定时间段的音频
ffmpeg -i input.mp4 -ss 00:03:05 -t 00:00:45.0 -q:a 0 -map a output.mp3
1
ss:指定开始时间戳;
t:指定编码持续时间;
上例:从3分零5秒开始,跨度45秒,即到3分50秒结束;
时间戳必须采用HH:MM:SS.xxx格式或以秒为单位;
如果不指定t选项,则一直到末尾;
提取保存为指定编码 如wav
ffmpeg -i 123.mp4 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 -f wav 123.wav
这样就生成了一个wav文件,指定其为16位、单声道、采样率为16k。
其中 -f wav 是必不可少的,没了它,生成的就是pcm数据,而非wav,这里尤其要注意。
如果只想获得原始的pcm文件,可以用下面的命令:
ffmpeg -i 123.mp4 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 123.pcm