内容简介:目前的一个项目需要使用opencv 录制视频,并且将录制的视频上传到我方服务器上,所以,视频的大小直接影响视频分析的时时性,针对这个情况,需要在不同的压缩格式下进行测试,在测试的时候发现,录制1080p的视频,大多分布在300M左右,还有更夸张的1.5G,如下图所示如果录制12个小时以上,文件会过大,这种方式是不可以接受的
目录
- 发现
- 分析
- 解决
- 总结
发现
目前的一个项目需要使用opencv 录制视频,并且将录制的视频上传到我方服务器上,所以,视频的大小直接影响视频分析的时时性,针对这个情况,需要在不同的压缩格式下进行测试,在测试的时候发现,录制1080p的视频,大多分布在300M左右,还有更夸张的1.5G,如下图所示
如果录制12个小时以上,文件会过大,这种方式是不可以接受的
分析
现在,得知以下因素是直接影响输出文件大小的
- 录制时长
- 使用格式
- FPS
- 分辨率
在做了大量的实验之后,决定使用MP42的格式,至少目前这个格式是可以接受的
解决
那输出后的文件是否可以在进一步的压缩呢?当然是可以的,这里就要推出神器 ffmpeg
,参考文档 http://wiki.webmproject.org/ffmpeg ,总之ffmpeg 是格式转化和压缩的工具,使用命令行进行转化,这次的目标格式打算转成webm的格式
ffmpeg -i MP42_1535613331.avi -threads 4 -vcodec libvpx-vp9 -cpu-used -8 -crf 10 -qmax 60 -deadline realtime out_3_high.webm
源文件500多M,转出的文件大概10M不到,整体上看来效果也不会太差
大家可以看到参数里面的,cpu-used 相关的,在转化时长大约5分钟的视频,也需要花费大概2.5分钟的时间,而此时cpu基本要占用一半,损耗的资源状态是不可以接受的,最后和团队协商,采用720p的格式
总结
本次主要研究了不同格式下视频输出的大小,并引入了一个新的工具 ffmpeg
的使用,相关的代码可以参考我的gist
以上所述就是小编给大家介绍的《opencv 不同的视频输出以及文件过大的解决方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 9 个技巧,解决 K8s 中的日志输出问题
- 使用PyCharm编写Python代码,Python输出窗口报错解决方案 Python 3.7 anaconda environment - imp...
- 2. Python中的基本输入、输出、格式化输出
- console 输出对象
- 多种格式数据输出
- Java输入输出挂
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Amazon Web Services
James Murty / O'Reilly Media / 2008-3-25 / USD 49.99
Building on the success of its storefront and fulfillment services, Amazon now allows businesses to "rent" computing power, data storage and bandwidth on its vast network platform. This book demonstra......一起来看看 《Programming Amazon Web Services》 这本书的介绍吧!