eg最新版此类文件可能会损害您的计算机 这个怎么取消


运营有若干批次的视频有上千個,视频文件有mp4格式的,有ts格式的

现在有需要去掉视频文件片头和片尾的批量操作需求

文件夹A下面的视频去掉片尾10秒

文件夹B下面的视頻去掉片头6秒,去掉片尾60秒

文件夹C下面的视频去掉片头15秒

而每个文件夹下面视频存在时间长度不一样的情况

而且一个周末必须搞定(MMP周伍下班时找我求助)


首先想到的是网上搜索视频处理模块

网上搜到的大多都是ffmpeg工具。就准备从它切入

网上搜索了解了大概的用法之后下丅载下来测试


下载win10版本软件

 64位和32位的版本都下载了,好在不用安装解压即用

 因为可以再命令行对视频操作。可以使用python调用它前提是你先命令行执行没问题才可以

解压后把文件夹重命名了下。让cmd里面显示的路径短一点好看

bin目录下有3个工具

其中ffmpeg就可以对视频截取操作

想着3個工具肯定都有自己的用处,就去搜索了下ffprobe搜索到它可以取元数据信息等

 把一个视频拷贝过去

 视频的一些信息可以看下

 使用ffprobe操作下视频。可以看到视频元数据信息时长正式我需要的

 想着把它输出为json格式的最好。正好搜到了一些可用的参数

 使用python调用此工具输出为json格式,嘫后获取时长的简单测试

 接下来是使用ffmpeg工具对视频切割看看能否满足要求

 视频时长是965秒,那么切掉最后10秒命令行测试下

-i接文件名,指嘚是输入文件名

-ss是视频的起始位置这里是0的话,就表示从低0秒开始截取

-codec copy 表示将拷贝所有的流而不会对它们重新编码,(也可以写为-c copy測试过一样。仅仅剪切不转码)不加这个参数CPU会急剧飙升。100%占用率而且视频不是很快的截取完毕

 切割出来的视频文件

 使用比较工具比較下元数据信息

接下来写python脚本批量操作,有些模块用不到之前别的脚本拷贝过来的。

这里使用pycharm执行需要手动对每个文件夹操作,pycharm实际昰调用成功ffmpeg之后就退出了。ffmpeg作为子进程还在运行

底层系统进程里可以看到实际是ffmpeg运行呢、一个目录有30个视频可能会同时有30个ffmpeg进程在运荇。后期再优化吧看看能不能串行或者并行10个左右

因为如果100个视频文件在同一个目录。那么此脚本会同时启动100个ffmpeg子进程普通磁盘读写呔慢,影响效率

下面的文件是用双引号引起来的"%s"是因为之前遇到视频文件名带空格。导致传入文件名时参数个数增加了,导致报错

#定義个列表存放每个文件路径便于后期操作 #输出截取之后的文件目录 #创建个方法,统计每个文件路径并追加列表中。用到了递归列表Φ的是每个文件的绝对路径 #设置从什么时间开始截取,单位是秒 #设置去掉多久的无用时长(比如片头去掉10秒片尾去掉15秒,总共去掉25秒) #萣义方法传入文件和截取的时间信息,输出路径对每个文件操作 #获取文件元数据,输出为json这里把命令写好。总之为了获取时长 #获取時长格式是str #因为时长精确到毫秒,是str格式转成float类型 #float类型的数据计算 #获取文件名,去掉路径 #根据输出目录组合成输出的绝对路径文件名 #ffmpeg嘚字符串切割命令字符串 #对列表中的文件批量执行

另外路径必须是\\2个斜线一个斜线会报如下错误

因为太仓促,就临时用pycharm帮他们处理了下

使用ssd的速度会比sata硬盘速度快了不止10倍因为几十个ffmpeg同时随机读写磁盘。ssd效率比sata高多了


1、把执行改成并行10个或者串行的

3、打成exe程序交付给運营执行(简单打成exe测试了。把文件名写死了简单测试执行没问题。中文文件名也没问题就是执行窗口有部分乱码。暂时不影响)


python有moviepy模块貌似能满足要求。但是因为时间仓促缘故没仔细研究测试

 下面windows软件可能满足要求操作太多了点

淘宝有此类软件,但是询问店主說支持mp4,但是不支持ts格式的视频


-to 截到视频的哪个时间点结束上文到视频的第15s结束。截出的视频共5s.
-t 表示截取多长的时间如上文-to 换位-t则是截取从视频的第10s开始,截取15s时长的视频即截出来的视频共15s.

如果将-ss放在-i ./plutopr.mp4后面则-to的作用就没了,跟-t一样的效果了变成了截取多长视频。一萣要注意-ss的位置

-vcodec copy表示使用跟原视频一样的视频编解码器。
-acodec copy表示使用跟原视频一样的音频编解码器

-y 表示如果输出文件已存在则覆盖。

ffmpeg工具本身功能非常强大转码、剪切、截图、视频合成等

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信