当前位置:   article > 正文

OpenCV 报错:FFMPEG: tag 0x34363258/‘X264‘ is not supported with codec id 27 and format ‘mp4 / MP4‘_opencv: ffmpeg: tag 0x34363248/'h264' is not suppo

opencv: ffmpeg: tag 0x34363248/'h264' is not supported with codec id 27 and

首先说一下报错的地方,是在使用VideoWriter保存视频时:

  1. '''
  2. opencv读取摄像头视频流,并且显示
  3. '''
  4. import cv2
  5. import numpy as np
  6. #调用摄像头
  7. cap = cv2.VideoCapture(0)
  8. #DIVX,X264
  9. fourcc = cv2.VideoWriter_fourcc(*'X264')
  10. fps = 20
  11. #获取图像的高宽
  12. width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
  13. height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
  14. writer = cv2.VideoWriter('video.mp4',fourcc,fps,(width,height))
  15. while True:
  16. #读取视频帧
  17. rec, frame = cap.read()
  18. #镜像
  19. frame = cv2.flip(frame,1)
  20. #灰度图片
  21. gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
  22. #保存视频
  23. writer.write(frame)
  24. #显示图片
  25. cv2.imshow('demo',frame)
  26. #退出条件
  27. if cv2.waitKey(10) & 0xFF == ord('q'):
  28. break
  29. cap.release()
  30. writer.release()
  31. cv2.destroyAllWindows()

出现如下错误:

  1. OpenCV: FFMPEG: tag 0x34363258/'X264' is not supported with codec id 27 and format 'mp4 / MP4 (MPEG-4 Part 14)'
  2. OpenCV: FFMPEG: fallback to use tag 0x31637661/'avc1'
  3. [ERROR:0@0.234] global cap_ffmpeg_impl.hpp:2991 open Could not find encoder for codec_id=27, error: Encoder not found
  4. [ERROR:0@0.234] global cap_ffmpeg_impl.hpp:3066 open VIDEOIO/FFMPEG: Failed to initialize VideoWriter

经过查找网上资料,发现是cv2.VideoWriter_fourcc()参数存在问题,

解决方法:

fourcc = cv2.VideoWriter_fourcc(*'X264')

修改为:

fourcc = cv2.VideoWriter_fourcc(*'mp4v')

即可完美解决问题。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号