当前位置:   article > 正文

【Opencv基础学习】 VideoWriter打开本地摄像头并保存mp4格式视频_opencv保存视频mp4

opencv保存视频mp4

你好! 这是我第一次用CSDN编写博客。该专栏博客主要来记录学习使用Opencv过程中所遇到的问题及解决方案。
这篇博客主要记录了使用Opencv打开本地摄像头录制视频,并保存为*.mp4文件格式视频所遇到的问题,以及最终成功的解决代码解决方案。

1.视频编码格式fourcc设置

关于视频编码格式问题,主要参考了一下几篇博客:

1. cv2.VideoWriter()指定写入视频帧编码格式
2. Opencv CV_FOURCC 可能的四字码
3. Video Codecs by FOURCC
4. 知乎-python-opencv写入视频文件无法播放?

在项目过程中主要问题就是,所设置的视频编码格式fourcc要与保存的文件格式想对应,比如:.avi格式可以使用“DIVX”、“MPEG”、“MJPG”等fourcc;*.mp4可以使用“mp4v” …。所以要保存为mp4格式的视频,需要设置:fourcc = cv2.VideoWriter_fourcc(*"mp4v")

在参考博客【Opencv3】视频操作 读写avi、mp4、flv时,说以下四种说法等价:

fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') 
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V') 
fourcc = cv2.VideoWriter_fourcc(*'MP4V') 
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
  • 1
  • 2
  • 3
  • 4

但是,我使用Pycharm经过测试,以下三种设置会报错误,但可以成功保存mp4视频,且可以正常播放:

fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') 
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V') 
fourcc = cv2.VideoWriter_fourcc(*'MP4V')
  • 1
  • 2
  • 3

OpenCV: FFMPEG: tag 0x5634504d/‘MP4V’ is not supported with codec id 12 and format ‘mp4 / MP4 (MPEG-4 Part 14)’
OpenCV: FFMPEG: fallback to use tag 0x7634706d/‘mp4v’

所以经过上述多次不断反复尝试,最终找到正确保存mp4文件格式的fourcc的设置

fourcc = cv2.VideoWriter_fourcc(*"mp4v")
  • 1

2.cv2.VideoWriter() 的FrameSize设置问题

在保存视频时,会遇到只能保存不到1kb,或者保存完视频后不能正常播放,**原因是VideoCapture的FrameSize与VideoWriter设置的S不一致导致的。**参考文章:知乎-python-opencv写入视频文件无法播放?

保存视频无法播放解决

3.成功保存为mp4格式视频,且正常播放代码

import cv2

cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

fourcc = cv2.VideoWriter_fourcc(*"mp4v")
out = cv2.VideoWriter('test.mp4', fourcc, 20, (width, height))

while True:
    ret, frame = cap.read()
    if ret:
        out.write(frame)
        cv2.imshow('capture', frame)
        if cv2.waitKey(25) & 0xFF == ord('q'): #按键盘Q键退出
            break
    else:
        continue
cap.release()
out.release()
cv2.destroyAllWindows()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

博主第一次写博客,希望大家可以多多批评指正,互相学习。希望本篇博客可以帮助到同样需要利用Opencv保存mp4文件格式视频的同学们!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/484839
推荐阅读
相关标签
  

闽ICP备14008679号