最近由于工作需要,做了很多汇报材料.为了展示算法效果,大多神经网络开发人员都直接将模型跑出来的结果做成视频,但是生成的视频文件往往很大,在PPT插入时显得异常臃肿,真让人脑壳大 >_<.
为了方便的在PPT或其他汇报材料中插入小视频文件,这里指体积小的视频文件,我们可以选择对原始视频进行压缩,让其体积变小.压缩后,视频文件体积小了,所占空间自然就小了,我们的汇报材料所占空间自然而然也就小了.
俗话说的好:工欲善其事,必先利其器.我们肯定不是第一个遇到此类问题的人呀,我们打开百度,搜索一番.唉,小度苦人久矣,搜出来摸索半天都是收费软件或者需要实名注册才可以…
百度搜索折腾了半天,无果遂放弃.突然想起来自己还是个程序员,那就用命令行方式来解决吧.这里给大家安利FFmpeg库来做视频压缩,速度贼拉拉地快…
ffmpeg的在ubuntu上的安装方式贼简单,使用以下命令即可安装:
sudo apt-get update
sudo apt-get install ffmpeg
安装后执行以下命令进行验证:
ffmpeg -version
输出以下信息,则证明安装成功:
ffmpeg version 2.8.17-0ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
可以看出我们ffmpeg的版文为2.8.17,该库使用gcc-5.4进行编译生成.
FFmpeg是一套可以用来记录 转换数字音频和视频,并能将其转化为流的开源计算机程序.它提供了录制 转换以及流化音视频的完整解决方案.
嗯嗯, 接下来我们使用以下命令来执行视频压缩:
ffmpeg -i input.mp4 -vcodec h264 -acodec mp2 output.mp4
ffmpeg –i input.mp4 –vcodec h264 –g 25 –s 352*278 –an –f m4v test.264
上述命令解释如下:
我们执行以下命令,对视频detect.avi执行H264编码压缩后输出output.mp4文件:
ffmpeg -i detect.avi -vcodec h264 -acodec mp2 output.mp4
文件大小压缩后从 152MB 减小至 40.4MB,压缩过程虽然是有损压缩,但是清晰度还是足够使用的,人眼几乎看不出来区别,简直无敌…
学会了视频压缩,这里我们来思考下一个问题,如果我们不想要完整的视频,只想要从视频流中截取一段最精彩的视频片段,那我们该如何操作呢?
嗯… 答案还是推荐使用万能的ffmpeg,废话少说,我们直接看命令:
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4
上述命令解释如下:
好了,接下来我们从上述压缩后的完整视频中截取前10s 作为我们的最终输出,采用命令行如下:
ffmpeg -i output.mp4 -ss 00:00:00 -to 00:00:10 -c copy result.mp4
使用上述命令后,我们从压缩视频中提取精彩10s的视频,我们查看其大小:
最后的最后,我们的素材文件就只剩下了10M大小了,嗯捏,极大的减少了所占空间.
en,自从使用了FFmpeg, 感觉又看见了光…
本文介绍了如何使用FFmpeg库进行快速视频压缩和视频片段提取,针对FFmpeg库常用命令行参数进行了讲解说明,并给出了具体处理后的文件大小.
您学废了吗?
本文参考链接如下:
链接一
关注公众号《AI算法之道》,获取更多AI算法资讯。