Gear Lib 是一组面向 IOT 及网络流媒体开发的C基础库,接口简洁易用,适用于物联网嵌入式设备端的开发,如 IOT 采集传感器,视频监控,设备端网络直播等场景。
新版本 1.1.21 更新日志如下:
- [新增] 快速构建C/C++工程的编译环境 (来自 dianjixz 的PR)
- [新增] httpd服务的支持 (来自 dianjixz 的PR)
- [新增] utf2gbk,集合类的支持(来自 dianjixz 的PR)
- [新增] avcap捕获音视频的接口,统一uvc/v4l2/Dshow/XCB linux桌面截屏/esp32 cam/linux pulseaudio等接口
- [修复] 跨平台编译的问题,支持win32/linux/msys2(mingw32/64)/raspberrypi/esp32等环境的编译
- [修复] libdict/libconfig/libstrex/libdarray/libposix/libworkq等多处兼容性问题
Gear Lib 库内容包括:
网络库
librtsp: RTSP 协议,适合 IPCamera 和 NVR 开发 | librtmpc: RTMP 协议,适合推流直播 |
libskt: Socket 封装 | librpc: 远程过程调用库 |
libipc: 进程间通信 | libp2p: p2p 穿透传输 |
libmqttc: MQTT 客户端协议 | libhomekit: Apple homekit 协议库 |
libhttpd: 移植于mongoose |
数据结构
libdict: 哈希字典 | libhash: linux 内核原生哈希库 |
libringbuffer: 循环缓冲 | libqueue: 数据队列 |
librbtree: 内核 rbtree | libsort: |
libvector: 容器库 | libdarray: 动态数组 |
异步
libgevent: 事件驱动 | libthread: 线程 |
libworkq: 工作队列 |
I/O
libstrex:字符串扩展库 | libconfig: 配置文件库 |
liblog: 日志库 | libfile: 文件操作库 |
libsubmask: 网络地址翻译 |
多媒体
libavcap: 音视频捕获库 | libmp4: MP4 解析库 |
libjpeg-ex: | libmedia-io: 音频视频格式定义 |
系统抽象层
libposix: Win32/Linux/FreeRTOS/RT-Thread平台适配库 |
其他
libdebug: 调试辅助库 | libhal: 硬件抽象层 |
libplugin: 动态加载库 | libtime: 时间库 |
libfsm: 有限状态机 |
码云主页:https://gitee.com/gozfreee/gear-lib
github 主页:https://github.com/gozfree/gear-lib