ffmpeg入门教程之ffmpeg命令行实战------音频滤镜

本文将会持续更新,敬请关注

命令行详解可参考ffmpeg入门教程或者参考官网文档

https://www.jianshu.com/p/042c7847bd8a

实例来源于《FFmpeg从入门到精通》

声道

声道(Sound Channel) 是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。

声卡所支持的声道数是衡量声卡档次的重要指标之一,从单声道到最新的环绕立体声。

双声道合并单声道

在这里插入图片描述
图片来源于《FFmpeg从入门到精通》

ffmpeg -y -i C:\Users\Administrator\Desktop\video.aac -ac 1 C:\Users\Administrator\Desktop\video_filtered.aac

输出如下:

Input #0, aac, from 'C:\Users\Administrator\Desktop\video.aac':
  Duration: 00:00:07.08, bitrate: 127 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, adts, to 'C:\Users\Administrator\Desktop\video_filtered.aac':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: aac (LC), 44100 Hz, mono, fltp, 69 kb/s
    Metadata:
      encoder         : Lavc58.59.100 aac
size=      47kB time=00:00:06.94 bitrate=  55.6kbits/s speed= 131x
video:0kB audio:45kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.554030%
[aac @ 0000000c31c37e40] Qavg: 19424.391

双声道合并成单声道后,听起来感觉没什么区别,音质当然有所下降

双声道提取多单声道

在这里插入图片描述
图片来源于《FFmpeg从入门到精通》

ffmpeg -y -i C:\Users\Administrator\Desktop\video.aac -map_channel 0.0.0 left.aac -map_channel 0.0.1 right.aac

输出如下

Input #0, aac, from 'C:\Users\Administrator\Desktop\video.aac':
  Duration: 00:00:07.08, bitrate: 127 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (aac (native) -> aac (native))
  Stream #0:0 -> #1:0 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
-map_channel is forwarded to lavfi similarly to -af pan=0x4|c0=c0.
[pan @ 0000004950a04cc0] Pure channel mapping detected: 0
Output #0, adts, to 'left.aac':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: aac (LC), 44100 Hz, mono, fltp, 69 kb/s
    Metadata:
      encoder         : Lavc58.59.100 aac
-map_channel is forwarded to lavfi similarly to -af pan=0x4|c0=c1.
[pan @ 0000004952814ec0] Pure channel mapping detected: 1
Output #1, adts, to 'right.aac':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #1:0: Audio: aac (LC), 44100 Hz, mono, fltp, 69 kb/s
    Metadata:
      encoder         : Lavc58.59.100 aac
size=      46kB time=00:00:06.94 bitrate=  54.2kbits/s speed=  81x
video:0kB audio:90kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

双声道提取为2个单声道后,单声道文件一个是高音,一个是低音,不再有立体声的感觉(当然只是小编感觉,也许是错的)

双声道转双音频流

在这里插入图片描述
图片来源于《FFmpeg从入门到精通》

ffmpeg -y -i C:\Users\Administrator\Desktop\video.aac -filter_complex channelsplit=channel_layout=stereo
 C:\Users\Administrator\Desktop\video.mka

输出如下:

Input #0, aac, from 'C:\Users\Administrator\Desktop\video.aac':
  Duration: 00:00:07.08, bitrate: 127 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
Stream mapping:
  Stream #0:0 (aac) -> channelsplit
  channelsplit:FL -> Stream #0:0 (libvorbis)
  channelsplit:FR -> Stream #0:1 (libvorbis)
Press [q] to stop, [?] for help
Output #0, matroska, to 'C:\Users\Administrator\Desktop\video.mka':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 44100 Hz, 1 channels (FL), fltp
    Metadata:
      encoder         : Lavc58.59.100 libvorbis
    Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 44100 Hz, 1 channels (FR), fltp
    Metadata:
      encoder         : Lavc58.59.100 libvorbis
size=      91kB time=00:00:06.93 bitrate= 107.2kbits/s speed=62.6x
video:0kB audio:79kB subtitle:0kB other streams:0kB global headers:6kB muxing overhead: 14.446838%

单声道转双声道

在这里插入图片描述
图片来源于《FFmpeg从入门到精通》

ffmpeg -y -i C:\Users\Administrator\Desktop\right.aac -ac 2 C:\Users\Administrator\Desktop\video.mka

输出如下:

Input #0, aac, from 'C:\Users\Administrator\Desktop\right.aac':
  Duration: 00:00:05.24, bitrate: 74 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, mono, fltp, 74 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (aac (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
Output #0, matroska, to 'C:\Users\Administrator\Desktop\video.mka':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 44100 Hz, stereo, fltp
    Metadata:
      encoder         : Lavc58.59.100 libvorbis
size=      51kB time=00:00:06.95 bitrate=  60.6kbits/s speed=68.7x
video:0kB audio:45kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 14.680476%

2个音频源合并为双声道

在这里插入图片描述

ffmpeg -y -i C:\Users\Administrator\Desktop\left.aac -i C:\Users\Administrator\Desktop\right.aac 
-filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" C:\Users\Administrator\Desktop\video.mka

输出如下:

Input #1, aac, from 'C:\Users\Administrator\Desktop\right.aac':
  Duration: 00:00:05.24, bitrate: 74 kb/s
    Stream #1:0: Audio: aac (LC), 44100 Hz, mono, fltp, 74 kb/s
Stream mapping:
  Stream #0:0 (aac) -> amerge:in0
  Stream #1:0 (aac) -> amerge:in1
  amerge -> Stream #0:0 (libvorbis)
Press [q] to stop, [?] for help
[Parsed_amerge_0 @ 000000d1e787afc0] No channel layout for input 1
[Parsed_amerge_0 @ 000000d1e787afc0] Input channel layouts overlap: output layout will be determined by the number of distinct input channels
Output #0, matroska, to 'C:\Users\Administrator\Desktop\video.mka':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 44100 Hz, stereo, fltp (default)
    Metadata:
      encoder         : Lavc58.59.100 libvorbis
size=      73kB time=00:00:06.95 bitrate=  86.4kbits/s speed=61.2x
video:0kB audio:67kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 9.862594%

5.1声道

尽管双声道立体声的音质和声场效果大大好于单声道,但在家庭影院应用方面,它的局限性也暴露了出来。双声道立体声系统只能再现一个二维平面的空间感,即整个声场是平平地摆在我们面前,并不能让我们有置身其中的现场感。当然,由于在音乐会现场,观众原本就是坐在台下的,而乐队演奏人员则位于舞台之上,立体声所能再现的这种简单的声场方位感与现场音乐会的方位感是基本符合的,因而它仍能满足欣赏需求。但是,在欣赏影片时,整体声场全方位的三维空间感无疑可以给观众一种鲜活的,置身于其中的临场感,因此,多声道技术也开始发展起来。

5.1声道是指中央声道,前置左、右声道,后置左、右环绕声道,及所谓的0.1声道重低音声道。一套系统总共可连接6个喇叭。5.1声道已广泛运用于各类传统影院和家庭影院中,一些比较知名的声音录制压缩格式,譬如杜比AC-3(Dolby Digital)、DTS等都是以5.1声音系统为技术蓝本的,其中“0.1”声道,则是一个专门设计的超低音声道,这一声道可以产生频响范围20~120Hz的超低音。

千万不要以为5.1已经是环绕立体声的顶峰了,更强大的7.1系统已经出现了。它在5.1的基础上又增加了中左和中右两个发音点,以求达到更加完美的境界。由于成本比较高,没有广泛普及。

此处转载于百度百科:https://baike.baidu.com/item/5.1%E5%A3%B0%E9%81%93/3442580

在这里插入图片描述
图片来源于《FFmpeg从入门到精通》

多个音频合并为多声道

ffmpeg -y 
-i C:\Users\cy\Desktop\left.aac 
-i C:\Users\cy\Desktop\left.aac 
-i C:\Users\cy\Desktop\left.aac 
-i C:\Users\cy\Desktop\left.aac 
-i C:\Users\cy\Desktop\left.aac 
-i C:\Users\cy\Desktop\left.aac 
-filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]amerge=inputs=6[aout]" -map "[aout]"
 C:\Users\cy\Desktop\a5.1.aac

输出如下:

[aac @ 000001aea22d1940] Estimating duration from bitrate, this may be inaccurate
Input #0, aac, from 'C:\Users\cy\Desktop\left.aac':
  Duration: 00:00:04.94, bitrate: 76 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, mono, fltp, 76 kb/s
[aac @ 000001aea2306440] Estimating duration from bitrate, this may be inaccurate
Input #1, aac, from 'C:\Users\cy\Desktop\left.aac':
  Duration: 00:00:04.94, bitrate: 76 kb/s
    Stream #1:0: Audio: aac (LC), 44100 Hz, mono, fltp, 76 kb/s
[aac @ 000001aea22f8140] Estimating duration from bitrate, this may be inaccurate
Input #2, aac, from 'C:\Users\cy\Desktop\left.aac':
  Duration: 00:00:04.94, bitrate: 76 kb/s
    Stream #2:0: Audio: aac (LC), 44100 Hz, mono, fltp, 76 kb/s
[aac @ 000001aea40a9300] Estimating duration from bitrate, this may be inaccurate
Input #3, aac, from 'C:\Users\cy\Desktop\left.aac':
  Duration: 00:00:04.94, bitrate: 76 kb/s
    Stream #3:0: Audio: aac (LC), 44100 Hz, mono, fltp, 76 kb/s
[aac @ 000001aea40bc1c0] Estimating duration from bitrate, this may be inaccurate
Input #4, aac, from 'C:\Users\cy\Desktop\left.aac':
  Duration: 00:00:04.94, bitrate: 76 kb/s
    Stream #4:0: Audio: aac (LC), 44100 Hz, mono, fltp, 76 kb/s
[aac @ 000001aea22d9e40] Estimating duration from bitrate, this may be inaccurate
Input #5, aac, from 'C:\Users\cy\Desktop\left.aac':
  Duration: 00:00:04.94, bitrate: 76 kb/s
    Stream #5:0: Audio: aac (LC), 44100 Hz, mono, fltp, 76 kb/s
Stream mapping:
  Stream #0:0 (aac) -> amerge:in0
  Stream #1:0 (aac) -> amerge:in1
  Stream #2:0 (aac) -> amerge:in2
  Stream #3:0 (aac) -> amerge:in3
  Stream #4:0 (aac) -> amerge:in4
  Stream #5:0 (aac) -> amerge:in5
  amerge -> Stream #0:0 (aac)
Press [q] to stop, [?] for help
[Parsed_amerge_0 @ 000001aea45c4f00] No channel layout for input 1
[Parsed_amerge_0 @ 000001aea45c4f00] Input channel layouts overlap: output layout will be determined by the number of distinct input channels
Output #0, adts, to 'C:\Users\cy\Desktop\a5.1.aac':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: aac (LC), 44100 Hz, 5.1, fltp, 341 kb/s (default)
    Metadata:
      encoder         : Lavc58.59.100 aac
size=     222kB time=00:00:06.96 bitrate= 261.4kbits/s speed=16.2x
video:0kB audio:220kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.934240%
[aac @ 000001aea40d5f40] Qavg: 19602.068

绘制音频波形

单声道波形图

ffmpeg -y -i C:\Users\Administrator\Desktop\video.aac -filter_complex "showwavespic=s=1920x1080" 
-frames:v 1 C:\Users\Administrator\Desktop\wave.png

在这里插入图片描述
5.1声道的波形图

ffmpeg -y -i C:\Users\Administrator\Desktop\a5.1.aac -filter_complex "showwavespic=s=1920x1080:split_channels=1" 
-frames:v 1 C:\Users\Administrator\Desktop\a5.1.png

在这里插入图片描述

atempo音频倍速处理

半速处理:

ffmpeg -y -i C:\Users\Administrator\Desktop\video.aac -filter_complex "atempo=tempo=0.5" 
-acodec aac C:\Users\Administrator\Desktop\videotempo.aac

输出如下:

Input #0, aac, from 'C:\Users\Administrator\Desktop\video.aac':
  Duration: 00:00:07.08, bitrate: 127 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
Stream mapping:
  Stream #0:0 (aac) -> atempo
  atempo -> Stream #0:0 (aac)
Press [q] to stop, [?] for help
Output #0, adts, to 'C:\Users\Administrator\Desktop\videotempo.aac':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.59.100 aac
size=     162kB time=00:00:13.83 bitrate=  96.1kbits/s speed=1.76x
video:0kB audio:158kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.577307%

2倍速处理:

ffmpeg -y -i C:\Users\Administrator\Desktop\video.aac -filter_complex "atempo=tempo=2" 
-acodec aac C:\Users\Administrator\Desktop\videotempo.aac

输出如下:

Input #0, aac, from 'C:\Users\Administrator\Desktop\video.aac':
  Duration: 00:00:07.08, bitrate: 127 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
Stream mapping:
  Stream #0:0 (aac) -> atempo
  atempo -> Stream #0:0 (aac)
Press [q] to stop, [?] for help
Output #0, adts, to 'C:\Users\Administrator\Desktop\videotempo.aac':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.59.100 aac
size=      40kB time=00:00:03.45 bitrate=  95.8kbits/s speed=0.784x
video:0kB audio:39kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.601521%

本文将会持续更新,敬请关注

欢迎联系、指正、批评

Github:https://github.com/AnJiaoDe

优快云:https://blog.youkuaiyun.com/confusing_awakening

OpenCV入门教程:https://blog.youkuaiyun.com/confusing_awakening/article/details/113372425

ffmpeg入门教程:https://blog.youkuaiyun.com/confusing_awakening/article/details/102007792

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值