v0.0.2版本更新如下:
1.优化代码框架,支持配置多种图像格式
2.支持动态配置graph,包括音视频捕获,编解码,叠加图层,回放及网络分发等模块
2.支持 rtsp/rtmp streaming
3.支持本地录制 mp4 文件
Aquila是一套C语言实现的多媒体应用程序,面向嵌入式IOT开发者,目标是对接硬件平台,快速开发出针对视频监控和ipcam等场景的产品。开发时需要依赖 gearlib开源库
层级 | 功能 |
---|---|
网络协议层 RTSP/RTMP/RPC | 向网络端传输视频流,支持主流协议,并接受远程控制码率分辨率等参数 |
录制/回放层 mp4/flv/sdl | 本地产生录像文件,并支持SDL播放显示,计划扩展到带屏幕的管理终端 |
视频编码层 h.264/265 | 对yuv编码压缩,支持开源ffmpeg/x264,计划支持厂商私有扩展 |
设备采集层 v4l2/his/vendor | 获取视频原始yuv数据,支持标准v4l2,计划支持各厂商私有接口 |
代码框架以filter和graph的方式组织,每层的代码以 open/read/write/encode/decode 等接口做封装,并抽象成 filter,各 filter 之间以 queue形式连接,包括:视频捕捉 videocap_filter,编解码 vencode/vdecode_filter,录像 record_filter,回看 playback_filter,网络流 upstream_filter 等.程序通过配置文件来 enable/disable 各模块参数及连接关系.
码云主页:https://gitee.com/gozfreee/aquila
github主页:https://github.com/gozfree/aquila