音视频开发 ● FFmpeg精准剪切

本文介绍了如何使用FFmpeg进行精准的视频剪切,包括如何避免空白片段、实现精确时间截取,并提供了一段Python脚本来批量处理视频切割。通过指定开始时间和时长,结合不同的参数选项,确保了视频质量的同时实现了精确的剪切效果。
摘要由CSDN通过智能技术生成

将视频讲解切割,每张幻灯的片断一个文件,按幻灯页码命名文件01.mp4,02.mp4,03.mp4……,以此类推;分辨率不超过320*180像素,单声道96kbps音质,控制每个文件尺寸不超过10M,另请发来对应的ppt文档,用来制作成视频与ppt同步翻页的课程。
于是,承接前面一篇,三分屏课件制作教程,我考虑也能自动按照时间轴拆分所有视频文件。于是得到了下面这段分割代码。

ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy [out].mp4
[start]:为需要截取内容的开始时间
[duration]:为需要截取的时长
[in]:为输入视频文件名
[out]:为输出视频文件名

这种截取的好处是特别快,因为它不会对视频重新编码,直接截取相关时间,导出视频,但是这种方式会导致:如果视频结尾不是关键帧,那么视频最后就会出现一段空白。

这个时候,你可以加入[-avoid_negative_ts 1]变成这样:
ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy -avoid_negative_ts 1 [out].mp4
这样截取视频之后,空白视频是没有了,但是时间不会精确截取,它会找到下一个关键帧,补全这个视频,所以,导致连续分割的视频之间存在细微的交集。

最后详细看了下FFmpeg的文档,如果你需要精确截取视频,避免关键帧的丢失并精确截取时间,这个时候最好是重新编码视频。就变成这样了:
ffmp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值