首页 > 其他分享 >ffmpeg常用操作

ffmpeg常用操作

时间:2022-11-10 20:00:44浏览次数:65  
标签:常用 ffmpeg 音频 wav s16le mp3 pcm 操作

音频常用操作

常见的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

相关文章

  • 菜鸡学Unity 之 Unity中对游戏物体的常用操作旋转移动放缩
    LZ-Says:愿时光依旧,美好前方~前言本小节,我们一起来看下Unity中对游戏物体的常用操作旋转移动放缩这些基本骚操作吧~基本骚操作全程都可以简单操纵鼠标完成,当然,直接有效是......
  • 时序数据库clickhouse_数据库操作
    一:新增列ADDCOLUMN[IFNOTEXISTS]name[type][default_expr][codec][AFTERname_after]ALTERTABLEvisitsONCLUSTERcluster_nameADDCOLUMNcolumn_name1,A......
  • dubbo+zookeeper+springboot远程连接,虚拟机和主机分布式操作
    dubbo+zookeeper+springboot远程连接,虚拟机和主机分布式操作springboot版本:阿里云2.3.7实现目标在主机上的消费者可以调用虚拟机中生产者的接口方法项目目录pom.xml......
  • C++ 之string类常用接口功能解析(7千字长文带你玩懂string!)
    C++之string常用接口功能解析关于string的背景我们可以看到string的本质就是一个类模板!**为什么使用的是类模板因为字符串涉及到了编码的问题!——有ACCII,utf-8utf-1......
  • Sqlite 安装操作使用
    一、什么是SQLite数据库SQLite是嵌入式SQL数据库引擎。与大多数其他SQL数据库不同,SQLite没有单独的服务器进程。SQLite直接读取和写入普通磁盘文件。具有多个......
  • 常用Dos命令
    简单Dos命令盘符切换D:查看当前目录下所有文件dir切换目录不跨盘cdtmp跨盘符cd/dE:\tmp返回上一级cd..清除屏幕cls退出终端ex......
  • django-07-操作数据库
    django操作表-models.py(app)-1.创建表;删除表;修改表:在models.py中创建数据库类classUserInfo(models.Model):name=models......
  • Json常用注解
    Json常用注解@Data@JsonIgnoreProperties(value={"sex","phone"})publicclassUser{privateStringid;privateStringname;privateStringsex;......
  • 日期时间常用类和其API
    packageA_ShangGuiGu.String;importorg.junit.Test;importjava.util.Date;publicclassDate_Time{@Testpublicvoidtest1(){/***1.System......
  • k8s 命令操作
    kubectltaintnodek8s-master01key1=value1:NoExecute添加污点并驱逐podetcd命令操作etcdctl--endpoints=https://[127.0.0.1]:2379--cacert=/etc/kubernetes/pki......