Python opencv videowriter问题:不压缩/写入

时间:2017-09-30 21:13:45

标签: python opencv encoding

我目前在python中使用opencv来编写带压缩的视频。以下是代码中出错的部分内容。

fourcc=cv2.VideoWriter_fourcc(*'X264')
video = cv2.VideoWriter(outfiles[c],fourcc, fps, (width,height))

错误是

OpenCV:FFMPEG:标签0x34363258 /' X264'编解码器ID 28和表单不支持 在< mp4 / MP4(MPEG-4 Part 14)' OpenCV:FFMPEG:回退使用标签0x00000021 /'!???' 处理文件test_videos / solidYellowLeft.mp4 OpenCV:FFMPEG:标签0x34363258 /' X264'编解码器ID 28和表单不支持 在< mp4 / MP4(MPEG-4 Part 14)' OpenCV:FFMPEG:回退使用标签0x00000021 /'!???'

我已经为较新版本的H264编码下载了openh264-1.6.0-win64msvc.dll文件。我尝试过不同的类型,H264,X264,XVID,VIDX,不使用MJPG,因为它会生成一个大文件。将VideoWriter中的第5个选项设置为False(使其成为单个通道)也不起作用。如果您对如何解决此问题或尝试其他方法有建议,那将有很大帮助。如果您需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:0)

如果有人遇到此错误,我会使用删除错误的后备标记解决此问题。

fourcc=0x00000021

答案 1 :(得分:0)

假设outfiles[c]包含"out.mp4"之类的文件名,以下代码在具有NVidia GPU的Ubuntu 16.04计算机上为我工作。

fourcc = cv.VideoWriter_fourcc(*"mp4v")
video = cv2.VideoWriter(outfiles[c],fourcc, fps, (width,height))

为jspiers欢呼,以回答here