首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用 ffmpeg 实现批量剪切视频

The future depends on what we do in the present.

一直对编辑视频很有兴趣,上大学的时候学了一些视频剪辑的软件,已经好久没用了,现在也都忘的差不多了。前段时间弄了个头条号,想发一些视频,就又想做视频这回事了,要不还真快忘记自己曾经做过一些小视频了(捂脸)。其实现在想要做的视频,不需要做很多特效,也不需要做配字幕等这些内容,所以不是很难,但是要做的量比较多,算起来要花费的时间也不算少,但是又不想在这件事上浪费太多的时间,嗯,这个时候懒的特质就该展示它的作用了。既然自己不想做,那就只好想办法让机器做了,于是就发现还真不是我一个人这么懒(哈哈)。我用的是 mac,就以这个系统为例记录一下这个过程,至于 windows 怎么办,自己试吧,因为我懒得试那个了。

既然是用 ffmpeg,当然第一步就是要下载 ffmpeg 。使用 Homebrew 下载。

brew install ffmpeg

下载好之后就可以开始了

ffmpeg -i "input.mp4" -ss 2 -to 3 -acodec copy -vcodec copy "output.mp4"

-i ,-ss,-to 等等都是 ffmpeg 的命令。这样一条命令只能操作一次,如果想要剪辑多条,这样的命令就要重复多次,显然不能用剪一次换个参数再输入一次这条命令,这样效率太差了不是我们想要的,那么该用什么方法呢?多次执行一个操作,我们第一个想到的就是循环, 但如何在终端里循环呢,这又是个问题。首先想到既然要写循环,那么就需要使用一种语言来写,面这种语言在运行时可以控制 terminal 执行循环里的命令。这时就想到用 shell 来写,shell 的教程可以参考菜鸟教程。

这是我写一个每隔 280s 切割一个视频的脚本,一个多小时的视频切成 14 个视频也就只用了不到 5 分钟,速度还是可以的,时间也很精确。对于视频时间的问题,这几天一直在遇到,在项目中也遇到了处理视频的功能,有几个功能需要根据一定的条件定位到相应的时间点去播放,但是由于视频关键帧的问题,定位的时候,它总是会寻找与当前位置最近的关键帧,然后跳到关键帧的位置,这就会出现定位不准的问题,如果用过格式工厂的朋友肯定也遇到过这样的问题,目前对于截视频找到了这种方法,但是对于在项目中定位不准的问题还是没能好的解决方法。在网上也找过一些资料,大多都是通过添加视频关键帧的方法解决的,但这不是我想要的方法,还在寻找当中。。。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180128G0MYX500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券