• 欢迎访问ABCRK.COM,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入ABCRK.COM QQ群
  • 测试信息1
  • 已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 测试信息2https://abcrk.com
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏ABCRK.COM吧

ffmpeg 裁剪视频的几种方式

音视频资料 admin 2年前 (2022-11-26) 267次浏览 0个评论

使用 -ss 设置起始时间

格式为 HH:MM:SS.MILLISECONDS 或者秒数

设置结束时间

-to 参数

设置的 endTime, 格式为 HH:MM:SS.MILLISECONDS 或者秒数

例如

ffmpege -ss 20 -to 80 -i inputVideo.mp4
ffmpege -ss 01:02:03 -to 02:02:03 -i inputVideo.mp4

-t 参数

设置持续时间,单位为s

例如

ffmpege -ss 01:02:03 -t 80 -i inputVideo.mp4

-to-t 同时设置,以 -t 为准

方法一:re-encoding形式裁剪视频【处理速度慢】

ffmpeg -ss 00:03 -to 00:08  -i inputVideo.mp4 -threads 2 -c:v libx264 -crf 30 trim_opseek_encode.mp4

参数说明

-c:v ****指定视频的编码格式,若不指定也会以Re-Encoding形式裁剪视频
-crf ****CRF质量更改分辨率
-ss ****指定开始时间
-to ****指定结束时间,不指定时默认为视频结束时间
-therads****指定调用的cpu核数,避免ffmpeg将cpu占满,可根据机器实际情况配置

备注

-ss-to 的位置不同代表的意义也不一样
放在 -i 前代表对输入视频的参数指定
放在 -i 后代表对输出视频的参数指定
如果我们需要一个更精确的时间,我们可以手动添加关键帧开始和结束的时间

ffmpeg -i my_video.mp4 -force_key_frames 00:00:15,00:00:25 clip.mp4

方法二:以流复制方式裁剪视频【处理速度快】

./ffmpeg -ss 00:17:24  -to 02:19:31 -i inputVideo.mp4 -threads 2 -c:v copy -c:a copy outputVideo.mp4

参数说明

-c:v ****copy 指定以copy方式处理视频流
-c:a ****copy 指定以copy方式处理音频流
-ss ****指定开始时间
-to ****指定结束时间,不指定时默认为视频结束时间
-therads ****指定调用的cpu核数,避免ffmpeg将cpu占满,可根据机器实际情况配置

处理结果

frame=222065 fps=14206 q=-1.0 Lsize= 1332873kB time=02:02:07.61 bitrate=1490.1kbits/s speed= 469x
video:1239527kB audio:83530kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.741900%

可以看到处理速度speed为469x,还是非常快的

方法三:使用 trim 过滤命令处理【适用于小视频,1min以内】

ffmpeg -i my_video -vf trim=10:25,setpts=PTS-STARTPTS clip.mp4

参数说明

-vf ****指定视频过滤
trim ****10:25代表 裁切00:00:10~00:00:25这个范围
setpts ****为剪辑中的每一帧设置,表示时间戳,PTS-STARTPTS确保剪辑不会延迟或停止,并且帧是相对于setpts值(即0)进行同步的


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ffmpeg 裁剪视频的几种方式
喜欢 (0)
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址