我正在使用OpenCV 3.0.0 beta编写视频
VideoWriter vw("out.avi",VideoWriter::fourcc('h','2','6','4'),24,frame.size());
调用ffmpeg后端(avcodec版本56.26.100),后者调用libx264(build 142)。但是,显然无法从OpenCV指定libx264配置文件,并且我的应用程序的默认比特率太低。
在哪里可以更改ffmpeg或libx264的默认行为,以获得从OpenCV写入的更高质量的视频?
答案 0 :(得分:2)
与此同时,我自己找到了答案。在modules / videoio / src / cap_ffmpeg_impl.hpp的第1232行(在OpenCV 3.0.0 beta上),默认CRF定义为23:
av_opt_set(c->priv_data,"crf","23", 0);
将数字更改为您喜欢的值。这需要重新编译OpenCV,它是一个全局设置,直到videoio模块正确实现编解码器选项。