1.简介
H.264标准是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像专家组)的联合视频组(JVT,Joint Video Team)开发的标准,也称为MPEG-4 AVC,它作为MPEG-4 Part10,是“高级视频编码”。
1.1优势
MPEG-2、MPEG-4、H.264,三者都能达1920×1080i(非交错)的高清晰度(High Definition,HD)、24fps(每秒更新24张画面)的影像画质,但传输带宽上MPEG-2需要12~20Mbps,相对的H.264只要7~8Mbps,而MPEG-4则介于两者间,更直接地说,若把MPEG-2的带宽用作基准的100%,MPEG-4要达相同效果只需要60%带宽,H.264更是低至40%,约为原MPEG-2的1/2~1/3。
2.代码
VideoWriter writerh264;
int codech264 = CV_FOURCC('H', '2', '6', '4');
double fps = 25.0;
string filenameh264 = "./live_h264.avi";
bool isColor = (imgIn.type() == CV_8UC3);
writerh264.open(filenameh264, codech264, fps, imgIn.size(), isColor);
if (!writerh264.isOpened()) {
return -1;
}
// main loop
while (true) {
// feed the capture to the opencv mat
writerh264.write(imgIn);
} // end main while loop
3.动态库
3.1 Opencv
2.7的版本会出现如下错误:
[libx264 @ 0x8d6220] broken ffmpeg default settings detected
[libx264 @ 0x8d6220] use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x8d6220] preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x8d6220] speed presets are listed in x264 --help
[libx264 @ 0x8d6220] profile is optional; x264 defaults to high
将版本升级到3.2就可以了
3.2 libx264
3.链接
https://blog.csdn.net/qq_23330633/article/details/53053744