音频常用操作
常见的ffmpeg音频参数
常用参数解释:
- i 表示input,即输入文件
- f 表示format,即输出格式
- vn 表示vedio not,即输出不包含视频
- ar 设定采样率
- ac 设定声音的channel数
- ab 音频数据流量,一般选择32、64、96、128
- acodec 设定声音解码器
- y 覆盖输出文件
更详细的参数说明:官方文档
将视频转换成音频
# 把MP4转换成MP3
ffmpeg -i old.mp4 new.mp3
# 将MP4转换成wav
ffmpeg -i 606120.mp4 -f wav -vn test.wav
# 生成16位、单声道、采样率为16k。其中“-f wav”是必不可少的,否则生成的就是pcm数据,而非wav。
ffmpeg -i 123.mp4 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 -f wav 123.wav
# 如果只想获得原始的pcm文件,可以用下面的命令:
ffmpeg -i 123.mp4 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 123.pcm
# 从视频中提取aac文件
ffmpeg -i 1.mp4 -vn -y -acodec copy vn.aac
音频格式转换:wav转mp3
ffmpeg -i input.wav -acodec libmp3lame -aq 4 -ar 44100 -ab 320k -ac 2 output.mp3
# 将双通道wav转换成pcm:
ffmpeg -y -i 1.wav -acodec pcm_s16le -f s16le -ac 1 -ar 16000 1.pcm
# pcm转换成wav
ffmpeg -f s16le -ar 16000 -ac 1 -i input.pcm output.wav
# s16le:有符号、整形、小端
# 把mp3转换为wav文件
ffmpeg -i input.mp3 output.wav
删除静音片段
ffmpeg -i vn436.aac -af silenceremove=stop_periods=-1:stop_duration=1:stop_threshold=-30dB vn436.aac
# 经过测试,可以有效删除静音片段,可以用于aac音频格式。
# stop_duration:静音片段阈值,超过多少秒就会删除静音片段。
增大音量
# 放大音量(volune=1表示正常音量,=0.5表示变为一半,=2表示变为2倍)
ffmpeg -i input.wav -c:a copy -af 'volume=2' output.wav
音频截取
# 音频截取,截取0秒到10秒
ffmpeg -i radio.mp3 -vn -acodec copy -ss 00:00:00 -t 00:00:10 ouput.mp3
音频拼接
# 音频拼接,将多个MP3按顺序拼接生成一个mp3
ffmpeg -i "concat:1.mp3|ding.mp3|2.mp3" -acodec copy output.mp3
音频补白
# 手动生成一条10秒长的空白音频 :test.mp3
ffmpeg -f lavfi -t 10 -i anullsrc test.mp3 -y
音频格式之间的转换:link
判断是否有音轨-ffprobe
ffprobe -i INPUT -show_streams -select_streams a -loglevel error
# loglevel error,控制日志打印级别
标签:常用,ffmpeg,音频,wav,s16le,mp3,pcm,操作
From: https://www.cnblogs.com/happy-lagrange/p/16878580.html