前言
项目中有用到将多个mp4视频合成一个mp4,一个mp4切割成多个mp4文件的功能
复制代码
查看文件信息
ffmpeg -i input.mp4
复制代码
多个mp4合成一个mp4文件
- concat(不适用于mp4)
ffmpeg -i "concat:input1|input2" -codec copy output
复制代码
- 先将mp4文件转化为ts,再ts合成mp4文件(本次使用)
- a.转为ts
ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input.ts 复制代码
- b.ts合成mp4
ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy -bsf:a aac_adtstoasc -movflags +faststart output.mp4 复制代码
一个mp4切割成多个mp4文件
ffmpeg -i input.mp4 -vf "crop=out_w:out_h:x:y" -y output.mp4
复制代码
- out_w 是输出矩形的宽度
- out_h 是输出矩形的高度
- x:y specify the top left corner of the output rectangle
- 参考(video.stackexchange.com/questions/4…
mp4文件添加水印
ffmpeg -i input.mp4 -i overlay.png -filter_complex "[1:v]scale=800x800 [ovrl], [0:v][ovrl]overlay=0:0 " -c:v libx26 -profile:v baseline -level 3.1 -s 368x368 -y
复制代码
- overlay.png为水印图片
参考
原文地址:这里