Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OpenCV:FFMPEG:tag0x34363268/&x27;h264和x27;编解码器不支持_Python_Macos_Opencv_Ffmpeg_H.264 - Fatal编程技术网

Python OpenCV:FFMPEG:tag0x34363268/&x27;h264和x27;编解码器不支持

Python OpenCV:FFMPEG:tag0x34363268/&x27;h264和x27;编解码器不支持,python,macos,opencv,ffmpeg,h.264,Python,Macos,Opencv,Ffmpeg,H.264,在Mac OS 10.13.6上安装类似opencv的软件后: conda install -c conda-forge ffmpeg conda install -c conda-forge opencv 并在VideoWriter中使用fourcc=cv2.VideoWriter_fourcc('h','2','6','4') 我得到一个错误: OpenCV: FFMPEG: tag 0x34363268/'h264' is not supported with codec id 27 a

在Mac OS 10.13.6上安装类似opencv的软件后:

conda install -c conda-forge ffmpeg
conda install -c conda-forge opencv
并在VideoWriter中使用
fourcc=cv2.VideoWriter_fourcc('h','2','6','4')

我得到一个错误:

OpenCV: FFMPEG: tag 0x34363268/'h264' is not supported with codec id 27 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x31637661/'avc1'
如何修复它?

您应该更改:

fourcc = cv2.VideoWriter_fourcc('h', '2', '6', '4')
致:

如果要使用
h264
,在Linux中必须首先安装
libx264 dev

sudo apt-get install libx264-dev

编解码器依赖于平台,这可能是问题所在。尝试使用以下组合:

  • 文件扩展名=
    test.mkv
  • 编解码器<代码>CV_FOURCC(*'X264)

下面是参考

FourCC是一个4字节代码,用于指定视频编解码器。可用代码列表可在fourcc.org中找到。它依赖于平台。下面的编解码器对我来说很好

  • 在Fedora中:DIVX,XVID,MJPG,X264,WMV1,WMV2。(XVID比 更好。MJPG产生高尺寸视频。X264提供非常小的 尺寸(视频)
  • 在Windows中:DIVX(需要测试和添加更多)
  • 在OSX中:MJPG(.mp4)、DIVX(.avi)、X264(.mkv)

据我所知,您需要libx264来编码h264,默认情况下,您只能解码该格式。不过,我不确定安装libx264是否能解决您的问题。如果OpenCV使用ffmpeg进行写入,则avc1是mp4
sudo apt get install libx264 dev
中h264的正确标记,但对我来说,它不起作用
sudo apt-get install libx264-dev