问题:
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp: 在静态成员函数‘static AVStream* OutputMediaStream_FFMPEG::addVideoStream(AVFormatContext*, AVCodecID, int, int, int, double, int)’中:
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:2047:16: 错误:从类型‘int’到类型‘AVPixelFormat’的转换无效 [-fpermissive]
c->pix_fmt = pixel_format;
^
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp: 在成员函数‘bool OutputMediaStream_FFMPEG::open(const char*, int, int, double)’中:
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:2107:5: 错误:‘PixelFormat’在此作用域中尚未声明
PixelFormat codec_pix_fmt = PIX_FMT_YUV420P;
^
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:2111:99: 错误:‘codec_pix_fmt’在此作用域中尚未声明
(oc_, codec_id, width, height, width * height * bitrate_scale, fps, codec_pix_f
^
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp: 在成员函数‘bool InputMediaStream_FFMPEG::open(const char*, int*, int*, int*, int*)’中:
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:2316:18: 错误:‘PIX_FMT_YUV420P’在此作用域中尚未声明
case PIX_FMT_YUV420P:
^
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:2320:18: 错误:‘PIX_FMT_YUV422P’在此作用域中尚未声明
case PIX_FMT_YUV422P:
^
/home/ning/software/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:2324:18: 错误:‘PIX_FMT_YUV444P’在此作用域中尚未声明
case PIX_FMT_YUV444P:
解决办法:
打开cmake-gui界面,取消ffmeg项后面的对勾