前言
项目中有用到将多个mp4视频合成一个mp4,一个mp4切割成多个mp4文件的功能
查看文件信息
ffmpeg -i input.mp4
多个mp4合成一个mp4文件
1.concat(不适用于mp4)
ffmpeg -i "concat:input1|input2" -codec copy output
2.先将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
- 参考(https://video.stackexchange.c...)
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为水印图片
参考
- https://stackoverflow.com/que...
- https://ffmpeg.org/
原文地址:这里