音频常用操作

常见的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常用操作的更多相关文章

  1. ffplay的快捷键以及选项 FFmpeg 基本用法 FFmpeg常用基本命令 ffmpeg常用转换命令,支持WAV转AMR

    ffmpeg -i 32_mkv_h264_718x480_ac3.mkv  -codec copy -bsf:v h264_mp4toannexb  -f mpegts xx.ts ./ffmpeg ...

  2. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  3. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  4. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  5. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  6. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  7. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  8. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  9. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

随机推荐

  1. 7.MongoDB系列之聚合框架

    1. 管道阶段和可调参数 聚合框架基于管道的概念.他由多个阶段组成,每个阶段都会提供一组按钮或可调参数.每个阶段对其输入执行不同的数据处理任务,并生成文档已作为输出传递到下一阶段. 2. 阶段常见操作 ...

  2. 齐博x1.2万能参数配置接口

    为何叫做万能参数接口,那是因为可以随意设置后台哪些字段可以给接口使用,还可以无限的新增接口参数,这个参数不仅仅是一个开关或文字,还可以是一张图片.一组图片.一组菜单.一个视频地址等等,非常的灵活. h ...

  3. HTML躬行记(2)——WebRTC基础实践

    WebRTC (Web Real-Time Communications) 是一项实时通讯技术,在 2011 年由 Google 提出,经过 10 年的发展,W3C 于 2021 年正式发布 WebR ...

  4. Selenium4+Python3系列(五) - 多窗口处理之句柄切换

    写在前面 感觉到很惭愧呀,因为居然在Selenium+Java系列中没有写过多窗口处理及句柄切换的文章,不过也无妨,不管什么语言,其思路是一样的,下面我们来演示,使用python语言来实现窗口句柄的切 ...

  5. python 爬虫 TCL SSL 安全证书问题

    其实很复杂 但也很简单 只需要在requests爬虫编写前 加上这句话 requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'DH+AES:RS ...

  6. Codeforces Round #786 (Div. 3) 补题记录

    小结: A,B,F 切,C 没写 1ll 对照样例才发现,E,G 对照样例过,D 对照样例+看了其他人代码(主要急于看后面的题,能调出来的但偷懒了. CF1674A Number Transforma ...

  7. 抓包整理————ip 协议一[十二]

    前言 简单介绍一下ip协议. 正文 先来看下ip协议在网络层的哪一层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 ip 层就在网络层: 其实很好想象哈,就是因为每台机器起码有一个ip ...

  8. Kubernetes核心技术Pod

    Kubernetes核心技术Pod Pod概述 Pod是K8S系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在K8S上运行容器化应用的资源对象,其它的资源对象 ...

  9. gin-巧用Context传递多种参数

    目录 引言: 1.巧妙包装gin.Context为NewContext 2 在使用gin.Use对每一个请求的Context进行组装 3 在路由绑定时解析出NewContext来为应用层函数提供参数, ...

  10. 递归与Stream流转换

    目录 递归与Stream流转换 list转为类中一个属性为key,类实例为value的Map list单独取出对象中一个属性成为集合/数组 步骤:--在此只写service层代码 递归与Stream流 ...