整个项目结构比较清晰,分成几个文件:
camera.c: 基于v4l2的摄像头采集,支持一般的摄像头
textoverlay.c: 在图片上叠加ASCII字符,目前做得比较简陋
preview.c: 往framebuffer写图像,实现预览
encoder.c: H264编码器
output.c: 把编码后的H264码流写入MKV容器
main.c: 主函数,调用以上代码中的接口
未编码图像用picture_t传递,内部是I420格式,编码后的码流用encoded_pic_t传递
代码用git管理,现在有两个分支
master是基于libx264的软编码器,速度慢,可以在PC上运行
s5pv210是在210平台上跑的版本,使用的MFC硬件编码器
需要注意,在210平台上,必须使用superboot才能正常使用MFC,原因不明.之前因为这个原因折腾了好久,感谢@kylezhou的提醒
代码托管地址回复后可见
哈哈,开个玩笑,不回复也可见
https://github.com/593141477/SimpleRecorder