解决:OpenCV: FFMPEG: tag 0x44495658/‘XVID‘ is not supported with codec id 12 and format ‘mp4 / MP4

解决:OpenCV: FFMPEG: tag 0x44495658/‘XVID’ is not supported with codec id 12 and format 'mp4 / MP4

背景

在使用之前的代码利用 python 的 opencv 包把图片合并为视频(mp4格式)的时候,报错:
OpenCV: FFMPEG: tag 0x44495658/‘XVID’ is not supported with codec id 12 and format ‘mp4 / MP4 (MPEG-4 Part 14)’

报错问题

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

报错翻译

主要报错信息内容翻译如下所示:

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

翻译:

OpenCV:FFMPEG:编解码器id 12和格式“mp4/mp4(MPEG-4第14部分)”不支持标记0x44495658/“XVID”
OpenCV:FFMPEG:回退以使用标记0x7634706d/'mp4v'

报错原因

经过查阅资料,发现主要是合成时采用的视频编码不对。

小伙伴们按下面的解决方法即可解决!!!

解决方法

合成时使用正确的视频编码。

修改前:

fourcc = cv2.VideoWriter_fourcc('M','J','P','G')

修改后:

fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V') 

代码总体结构大致如下:

import cv2

......
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V') # mp4
img_size = (image_w, image_h)
videoWriter = cv2.VideoWriter(save_video_path, fourcc, fps, img_size, isColor=True)
 
for  image_path in xxx:
    image = cv2.imread(image_path)
    videoWriter.write(image)
videoWriter.release()
......



今天的分享就到此结束了

欢迎点赞评论关注三连

在这里插入图片描述

你可能感兴趣的:(Python,opencv,ffmpeg,人工智能,python)