音频常用操作

常见的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. 18.MongDB系列之批量更新写入Python版

    在实际的工作中,难免批量更新的数量极大,pymongo提供了便捷的客户端供使用 假设读者对pandas比较熟悉,下图为事先准备好的dataframe import pandas as pd from ...

  2. 数据结构中的哈希表(java实现)利用哈希表实现学生信息的存储

    哈希表 解释 哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方 内存结构分析图 1.定义一个类为结点,存储的信息 2.定义链表的相关操作 3.定义一个数组存 ...

  3. 在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库

    文章目录 1.导入相关的依赖 2.创建要保存的数据信息实体类 3 .编写对应的sql语句 4.使用spring 的 aop 技术切到自定义注解上,所以先创建一个自定义注解类 5. 创建aop切面实现类 ...

  4. day50-正则表达式01

    正则表达式01 5.1正则表达式的作用 正则表达式的便利 在一篇文章中,想要提取相应的字符,比如提取文章中的所有英文单词,提取文章中的所有数字等. 传统方法是:使用遍历的方式,对文本中的每一个字符进行 ...

  5. pytorch 环境配置

    一.下载Anaconda 二.添加清华镜像 # 添加清华镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anac ...

  6. 脚本之一键部署nexus

    NEXUS_URL="https://download.sonatype.com/nexus/3/nexus-3.39.0-01-unix.tar.gz" #NEXUS_URL=& ...

  7. 如何在.NET程序崩溃时自动创建Dump?

    今天在浏览张队转载文章的留言时,遇到一个读者问了这样的问题,如下图所示: 首先能明确的一点是"程序崩溃退出了是不能用常规的方式dump的",因为整个进程树都已经退出.现场已经无法使 ...

  8. 写一个shell,自动执行jmeter测试脚本

    贡献一个自己写的shell脚本,很简单,但又可以高效率的自动执行jmeter压测脚本. #!/bin/bash #author:zhangyl #version:V1 #该脚本放置于压测脚本的上一层目 ...

  9. 数组还是HashSet?

    我记得大约在半年前,有个朋友问我一个问题,现在有一个选型: 一个性能敏感场景,有一个集合,需要确定某一个元素在不在这个集合中,我是用数组直接Contains还是使用HashSet<T>.C ...

  10. 4.mysql-进阶

    1.事务 将多个操作步骤变成一个事务,任何一个步骤失败,则回滚到事务的所有步骤之前状态,大白话:要成功都成功:要失败都失败. 如转账操作,A扣钱.B收钱,必须两个步骤都成功,才认为转账成功 innod ...