python OpenCV VideoWriter 视频格式及大小

7 篇文章 0 订阅
5 篇文章 0 订阅

问题:1、VideoWriter不能写MP4或是其他格式视频;

           2、VideoWriter写入保存的视频大小为0kb;

           3、VideoCapture读取打开不了MP4格式的视频。

解决:将OpenCV中的opencv_ffmpeg330_64.dll(在OpenCV\build\bin文件夹下,注意这是我的opencv版本)文件拷贝到Python的Lib\site-packages文件夹下(与cv2.pyd文件放在一起解码用)。

编码格式(('M', 'P', '4', '2') 视频大小最小):

cv2.VideoWriter_fourcc('M','J','P','G') = motion-jpeg codec

cv2.VideoWriter_fourcc('P','I','M','1') = MPEG-1 codec
cv2.VideoWriter_fourcc('M', 'P', '4', '2') = MPEG-4.2 codec
cv2.VideoWriter_fourcc('D', 'I', 'V', '3') = MPEG-4.3 codec
cv2.VideoWriter_fourcc('D', 'I', 'V', 'X') = MPEG-4 codec
cv2.VideoWriter_fourcc('U', '2', '6', '3') = H263 codec
cv2.VideoWriter_fourcc('I', '2', '6', '3') = H263I codec
cv2.VideoWriter_fourcc('F', 'L', 'V', '1') = FLV1 codec

 

通过摄像头录制了长约5分钟的视频,在D盘下生成的文件如下:


生成文件占用空间最小的编码方式是 MPEG-4.2 codec,约为19MB。用红线段标识,对应在VideoWriter类的构造函数参数为CV_FOURCC('M', 'P', '4', '2') 。

最大的是MPEG-1 codec,用蓝线段标识,约为111MB。对应在VideoWriter类的构造函数参数为CV_FOURCC('P','I','M','1') ,所占磁盘空间是前者的5.7倍。所以如果需要24小时全天候录制监控,基于磁盘空间的考虑,可以优先使用MPEG-4.2的编解码方式。
 

 


参考:

https://blog.csdn.net/dcrmg/article/details/52215930

https://blog.csdn.net/u013913216/article/details/82144395

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值