1.优化代码框架,完全依赖gear-lib库
2.重构 rtsp/rtmp streaming接口,优化rtmp的推流秒开时间
Aquila是一套C语言实现的多媒体应用程序,面向嵌入式IOT开发者,目标快速开发出针对视频监控和ipcam等场景的产品,适配多种硬件平台,支持ubuntu/raspberrypi,依赖 gear-lib开源库。
层级 | 功能 |
---|---|
网络协议层 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