ffmpeg音频命令(常用篇)

写在前面

使用ffmpeg的主要原因是工作需要,期间总是会涉及音频的采样率、音量啥的转换,音频的剪切与合成叠加。这是以前在别的平台发布的,整合一下丢在这,方便以后查阅。

一、工作时涉及到的音频名词

1、声道

当人听到声音时,能对声源进行定位,那么通过在不同的位置设置声源,就可以造就出更好的听觉感受。声道越多的话,更能获得身临其境的听音体验,声音的环绕效果也会更加的真实。

比如手机的单扬声器就是单声道,有双扬声器的手机就可以支持双声道(貌似是可以独立发声的声源有几个,就是几声道)。

常见的声道
单声道mono
双声道stereo,最常见的类型,包含左声道以及右声道
2.1声道在双声道基础上加入一个低音声道
5.1声道包含一个正面声道、左前方声道、右前方声道、左环绕声道、右环绕声道、一个低音声道,最早应用于早期的电影院
7.1声道在5.1声道的基础上,把左右的环绕声道拆分为左右环绕声道以及左右后置声道,主要应用于BD以及现代的电影院
2、采样率

通常音频是连续的声波,但在机器传输时需要转换为01的数字信号。音频采样,是把声音从模拟信号转换为数字信号。采样率,就是每秒对声音进行采集的次数,同样也是所得的数字信号的每秒样本数。

采样越高,声音的还原就越真实越自然,人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求。

在对声音进行采样时,常用的采样率有:

8,000Hz电话所用采样率, 对于人的说话已经足够
11,025HzAM调幅广播所用采样率
22,050Hz和24,000HzFM调频广播所用采样率
32,000HzminiDV、数码视频、camcorder、DAT (LP mode)所用采样率
44,100Hz音频 CD,也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率
47,250Hz商用 PCM 录音机所用采样率
48,000HzminiDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率
50,000Hz商用数字录音机所用采样率
96,000Hz和192,000HzDVD-Audio、一些 LPCM DVD 音轨、BD-ROM(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率
2.8224MHzDirect Stream Digital 的 1 位 sigma-delta modulation 过程所用采样率
3、采样位数

采样值或取样值(声音的连续强度被数字表示后可以分为多少级,即将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。

常见的位数有:

  • 8bit(也就是1字节) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;
  • 16bit(也就是2字节) 可以细到 65536 个数, 这已是 CD 标准了;
  • 32bit(也就是4字节) 能把振幅细分到 4294967296 个等级, 实在是没必要了。
4、帧

音频在量化得到二进制的码字后,需要进行变换,而变换(MDCT)是以块为单位(block)进行的,一个块由多个(120或128)样本组成。而一帧内会包含一个或者多个块。帧的常见大小有960、1024、2048、4096等。一帧记录了一个声音单元,它的长度是样本长度和声道数的乘积。(有点像搬家时候打包行李)

5、样本组合方式

这个主要是针对双声道或多声道音频来说的,对于一个双声道音频来说,它的组合方式可能有以下两种:

  • 交错(interleaved)。以stereo为例,一个stereo音频的样本是由两个单声道的样本交错地进行存储得到的。
  • 平面(planar)。各个声道的样本分开进行存储。
6、比特率

每秒的传输速率(位速, 也叫比特率)。如128kbps 或 128000bps, 其中的 b 是 bit, ps 是每秒(per second)的意思,表示每秒128000bit的容量。压缩的音频文件常常用倍速来表示,譬如达到CD音质的MP3是128kbps/44100HZ。

注意这里的单位是bit而不是Byte,一个Byte等于8个bit(位),bit是最小的单位,一般用于网络速度的描述和各种通信速度,Byte则用于计算硬盘,内存的大小。 

Mbps 即:Milionbit per second(百万位每秒);
Kbps 即: Kilobit per second(千位每秒);
bps 即:bit per second (位每秒)

扩展:
1M带宽就是1Mbps = 1000000 bps=1000000/8/1000 = 125;所以1M带宽的下载速率一般不超过125KB/s。
100M宽带也就是100000000bps = 100000000/8/1000/1000 = 12.5,所以100M带宽的下载速率最大可达到12.5MB/s。

二、ffmpeg安装

1、Windows下配置安装
  • 在ffmpeg官网上下载相关版本的软件。
  • 将压缩包解压在一个文件夹中。
  • 添加环境变量,文件夹层级到bin即可,即其下包含ffmpeg.exe、ffplay.exe、ffprobe.exe的文件夹。

  • cmd进入小黑框,输入ffmpeg,如果弹出界面,表示没有问题,可以使用,不过尤其要注意红框中的数目,有七个,之前我在linux部署少一个,导致音频拼接会出现问题。

2、Linux下配置安装

直接通过包管理器安装即可:

如果是Debian的系统(如Ubuntu)

sudo apt update
sudo apt install ffmpeg

如果是基于Red Hat的系统(如CentOS)

sudo yum update
sudo yum install ffmpeg ffmpeg-devel

三、ffmpeg音频常用命令

1、音频合成
1)方案一
# 将0.txt中记录的音频进行合成,保存为1.wav
ffmpeg -y -f concat -safe 0 -i 0.txt -c copy 1.wav

其中txt中的文本格式为file %s,音频最好是绝对路径

(常用,毕竟可以指定多个音频一起叠加,但由于需要txt,可能需要合成完音频后删除掉txt文件,减少资源占用)

2)方案二
# 将0.mp3与1.mp3进行拼接,得到2.mp3
ffmpeg -i "concat:0.mp3|1.mp3" -acodec copy 2.mp3

其中,-acodec    表示指定音频编码输出格式,copy表示同原始音频。
注意,是双引号,自测单引号会报错。

2、音频叠加
# 将0.wav与1.wav音频进行叠加,得到音频2.wav。其中,1.wav是在0.wav播放3s后叠加进去的。
ffmpeg -y -i 0.wav -i 1.wav -filter_complex [1]adelay="3000|3000\"[del1];[del1][0]amix 2.wav

其中字段解释如下 

-filter_complex一种滤镜参数,功能异常强大,这里只是音频叠加
[1]指代第二个输入源,也就是1.wav
3000|3000表示左右声道都延迟3s
[del1]将第一个处理结果保存为临时文件,并命名为del1
[del1][0]amix指定音源[del1]和第一个输入源进行拼接
3、音频剪切
# 剪切0.wav的音频片段,从2s开始,剪切10s,保存为1.wav
ffmpeg -y -i 0.wav -ss 2 -t 10 1.wav

其中,-ss表示开始时间,-t表示间隔时长。

4、音频转换

这里的转换包含多个,可以根据需要适当拼接成一条命令

1)音频格式转换
# 将0.wav的格式转变为mp3,并保存为1.mp3
ffmpeg -y -i 0.wav 1.mp3
2)音频音量调节
# 将0.wav的音量保持不变,并保存为1.wav
ffmpeg -y -i 0.wav -vol 100 1.wav

其中,vol里面的参数为百分制,相对于原来音频的音量 

3)音频速度调节
# 将0.wav的播放速率调整为之前的两倍,并保存为1.wav
ffmpeg -y -i 0.wav -af "atempo=2.0” 1.wav

其中,-af表示音频速度,atempo里面的参数为倍数,取值范围为[0.5,2.0],相对于原来的几倍。

4)音频采样率调节
# 将0.wav的采样率转为16k,并保存为1.wav
ffmpeg -y -i 0.wav -ar 16000 1.wav

其中,-ar表示为采样率。

5)音频通道数调节
# 将0.wav的通道数改为1,并保存为1.wav
ffmpeg -y -i 0.wav -ac 1 1.wav

其中,-ac表示为通道数。

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值