【opencv】cv::VideoWriter打开失败

可能原因1:
解决办法:将opencv_ffmpegXXXX.dll拷贝至运行目录。缺少了该dll,调用cv::VideoWriter的构造函数或者open函数并不会报错,但返回false

可能原因2:
opencv版本,2.x只支持avi格式,3.x支持mp4(此处均指官方提供的原生版本,非自编译版本)
opencv底层调用ffmpeg进行视频读写,相应的dll为opencv_ffmpeg
如,对于2.x的官方提供的dll,想转码一个x264的视频,会报错:could not find encoder for codec id 28,此时需要重新编译opencv_ffmpeg,这是可以让2.x支持avi以外的格式的

可能原因3:
VideoWriter底层调用opencv_ffmpeg_64.dll,需要将该dll拷贝至程序运行目录,而非opencv的dll所在目录!如果还附带了别的编解码库,如openh264,也要放到运行目录中

你可能感兴趣的:(opencv)