ffmpeg学习记录---音频相关操作

1,提取视频(去音频)
ffmpeg -i %s -vcodec copy -an %s
操作示例,将test.mp4提取视频,输出为test1.mp4:
ffmpeg -i test.mp4 -vcodec copy -an test1.mp4

2,提取音频
ffmpeg -i %s -acodec copy -vn %s
操作示例,将test.mp4体育音频,输出为audio1.aac:
ffmpeg -i test.mp4 -acodec copy -vn audio1.aac

3,音视频合成
ffmpeg -i %s -i %s -codec copy -y %s
操作实例,将audio1.aac音频文件和temp.mp4提取得视频文件temp1.mp4合成,输出为test2.mp4
ffmpeg -i temp.mp4 -vcodec copy -an temp1.mp4
ffmpeg -i audio1.aac -i temp1.mp4 -codec copy -y test2.mp4
注:该指令合成的时长已最长时间,如该样例,音频文件时长大于视频文件,则视频播放到最后一帧时,继续播放音频,直到音频播放结束整个视频才结束。
同时该指令将音频文件和一个音视频文件合成失败,如该指令没有效果:ffmpeg -i audio1.aac -i temp.mp4 -codec copy -y test3.mp4

4,音频剪切
ffmpeg -ss %d -accurate_seek -t %d -i %s -acodec copy -vn %s
操作实例:audio1.aac为23秒的音频,剪切0s到16s,输出为audio2.aac
ffmpeg -ss 0 -accurate_seek -t 16 -i audio1.aac -acodec copy -vn audio2.aac
实际结果报错: Estimating duration from bitrate, this may be inaccurate
(解决参考:https://blog.csdn.net/u013470102/article/details/80880079)查看音频文件信息
ffmpeg -i audio1.acc
牵扯acc格式音频文件源码修改,暂不深入,祥见下面将mp3文件剪切成功

5,音频转码
ffmpeg -i %s %s
操作实例:将audio1.aac转为audio3.mp3
ffmpeg -i audio1.aac audio3.mp3
再次尝试将该mp3格式音频文件剪切,剪切成功,输出为audio4.mp3
ffmpeg -ss 0 -accurate_seek -t 16 -i audio3.mp3 -acodec copy -vn audio4.mp3

6,音频合并
ffmpeg -i concat:"%s|%s" -acodec copy %s
操作实例:将audio3.mp3、audio4.mp3合并,输出为audio5.mp3(16s + 23s)
ffmpeg -i concat:"audio3.mp3|audio4.mp3" -acodec copy audio5.mp3

7,音频合成(混响)
ffmpeg -i %s -i %s -filter_complex amix=inputs=2:duration=first -strict -2 %s
操作实例:制作二重唱
将audio3.mp3从第一秒开始剪切,长度16s,输出audio6.mp3
ffmpeg -ss 1 -accurate_seek -t 16 -i audio3.mp3 -acodec copy -vn audio6.mp3
将audio6.mp3、audio4.mp3合成,输出为audio7.mp3
ffmpeg -i audio6.mp3 -i audio4.mp3 -filter_complex amix=inputs=2:duration=first -strict -2 audio7.mp3
//adjust volume:using '-vol 50', which is form 0 to 100   待深入研究音量参数设置

8,设置视频宽高比
-aspect[:stream_specifier] aspect (output,per-stream)
操作实例:将test.mp4文件输出为16:9,输出文件名test4.mp4
ffmpeg -i test.mp4 -aspect 16:9 test4.mp4
// If used together with -vcodec copy, it will affect the aspect ratio stored at container level, but not the aspect ratio stored in encoded frames, if it exists.

9,绘制音频波形图
ffmpeg -i %s -filter_complex "showwavespic=s=1280X720" -frames:v 1 %s
操作实例:绘制test.mp4视频文件的音频波形图,输出为1280X720的图片wavespic1.png
ffmpeg -i test.mp4 -filter_complex "showwavespic=s=1280X720" -frames:v 1 wavespic1.png


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值