1.音频
(1) 音频合并(两个音频会重叠)
ffmpeg -i first.mp3 -i second.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 third.mp3
(2)音频拼接
(1)ffmpeg -i "concat:first.mp3|second.mp3" -acodec copy third.mp3 (third格式和first保持一致)
(2)ffmpeg -i "concat:first.mp3|second.mp3" -i second.mp3 -acodec copy test.mp3 -map_metadata 0:1 (third格式和second保持一致)
(3)cat first.mp3 > third.mp3 && cat second.mp3 >> third.mp3 (发现third.mp3也可以播放,瞎搞???)
http://superuser.com/questions/314239/how-to-join-merge-many-mp3-files"
2.视频
(1) 视频截取
ffmpeg -i a.mp4 (-ss 0 ) -t 5 -acodec copy -vcodec copy b.mp4
-ss 开始时间 以秒为单位/ 写成这样00:00:01应该也可以吧
-t 多长时间 ,以秒为单位
but新视频没有封面
(2) 视频合并
这个的思路是先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。
ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
3.过滤器的使用
将输入的视频转为960x540输出:
ffmpeg -i out21.avi -vf scale=960:540 out31.avi
//注:如果540不写,写成-1也是可以的,即scale=960:-1,ffmpeg会通知缩放滤镜在输出时保持原始的宽高比。
4.视频格式转换
ffmpeg -i input.avi output.mp4
ffmpeg -i 20171012134024.mp4 -qscale 0 -ar 11025 20171012134024.flv
参考:
ffmpeg常用命令
http://www.360doc.com/content/16/0518/11/496343_560111633.shtml
http://blog.csdn.net/l_yangliu/article/details/7274968
ffmpeg文档系列:https://www.cnblogs.com/xdsnet/category/788313.html