1、使用ffmpeg剪辑视频命令
ffmpeg -ss 00:00:00 -t 00:01:00 -i input.mp4 -c copy output.mp4
上面的这条命令表示从00:00:00开始剪辑视频,视频长度为1分钟。
ffmpeg -ss 00:01:00 -to 00:02:00 -i input.mp4 -c copy output.mp4
上面的这条命令表示从00:01:00开始剪辑视频,到00:02:00结束。
这两条命令中都用到了-c copy,表示不改变音视频编码。我们也可以分开来写-c:v copy
表示直接复制源视频编码,-c:a copy
表示直接复制源音频编码。
我们也可以改变音视频编码。
ffmpeg -ss 00:00:00 -t 00:01:00 -i input.mp4 -c:v libx264 -c:a acc output.mp4
如果省略-ss
和后面的时间,那么默认就是从00:00:00
开始剪辑。
如果是省略-t
或-to
和后面的时间,那么默认是到视频最后。
2、使用ffmpeg改变音视频的速度
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=PTS/1.25[v];[0:a]atempo=1.25[a]" -map "[v]" -map "[a]" -crf 23 -b:a 191k output.mp4
上面的命令中[0:v]setpts=PTS/1.25[v]
表示视频速度改变为原来的1.25倍,[0:a]atempo=1.25[a]
表示音频速度改变为原来的1.25倍。
3、使用ffmpeg剪裁视频画面
ffmpeg -i input.mp4 -vf "crop=w:h:x:y" -c copy output.mp4
-vf表示简单过滤模式
ffmpeg -i input.mp4 -vf crop=iw:ih-78:128:78 -threads 16 -preset ultrafast -strict -2 -b:v 952k -b:a 64k out1.mp4
iw表示源视频宽度
ih表示源视频高度
-preset
预设值有如下几个:
ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow
4、使用ffmpeg推流
ffmpeg -re -i input.mp4 -f flv rtmp
5、参考文献
Q.E.D.