问题描述
最近我们在做一个项目,这个项目需要使用到ffmpeg这个工具来对视频进行剪切,也就是剪出一个视频中的某一段,在实际测试中,我们发现,ffmpeg剪切速度很慢,而且这个速度还与剪切点开始时间(ss)有关系,具体有多慢呢?大概就从4000秒的位置到5000秒的位置的视频能剪10分钟左右,这是不能接受的
问题解决
经过查阅资料,我们做了以下两个优化
这是我们原来的ffmpeg指令
ffmpeg -y -i xxx.mp4 -ss 2000 -to 4000 out.mp4
参考了文章https://blog.csdn.net/yuan13091324/article/details/39343439,我把ss参数提到了最前面
然后参考了文章https://www.nxrte.com/jishu/7365.html,我又添加了 -c:v copy -c:a copy
,即视频和音频都不重新进行编码,这样可以缩短时间
最终的ffmpeg指令如下
ffmpeg -ss 2000 -y -i xxx.mp4 -to 4000 -c:v copy -c:a copy out.mp4
经测试,这个指令的速度极快