gozfree/gear-lib logo

gozfree/gear-lib

Free

Gear-Lib, C library for IOT Embedded Multimedia and Network

FreeFree tier
Type
Open Source

About gozfree/gear-lib

Gear-Lib is a comprehensive collection of POSIX C libraries designed for IoT, embedded systems, multimedia, and network service development. It includes over 20 reusable libraries covering data structures (hash, queue, rbtree), network protocols (RTSP, RTMP, MQTT, Apple HomeKit, RPC, IPC, P2P), asynchronous event handling (gevent, thread pool, work queue), I/O utilities (string extension, config parsing in ini/json, logging, file operations), multimedia capture and processing (AV capture, MP4 muxer/parser), and an OS abstraction layer for cross-platform compatibility across Linux, Windows, Android, and iOS. All libraries are written in POSIX C and released under the MIT license.

Key Features

Data structure libraries: libdict, libhash, libringbuffer, libqueue, librbtree, libsort, libvector, libdarray
Network protocol libraries: librtsp (RTSP server), librtmpc (RTMP client), libsock (socket wrapper), librpc (RPC), libipc (IPC via mqueue/netlink/shm), libp2p (P2P hole punching), libmqttc (MQTT client), libhomekit (Apple HomeKit)
Async event and threading: libgevent (reactor event loop), libthread (thread wrapper), libworkq (user-space work queue)
I/O and config: libstrex (string extensions), libconfig (ini/json parsing), liblog (console/file/rsyslog), libfile (file operations), libsubmask (IP subnet transformation)
Multimedia: libavcap (AV capture via v4l2/uvc/esp32/dshow), libmp4 (MP4 muxer/parser), libjpeg-ex, libmedia-io (audio/video frame/packet definitions)
OS abstraction layer (libposix) for portability across Linux, Windows, Android, iOS
Miscellaneous: libdebug (crash tracing), libhal (hardware abstraction), libplugin (dynamic linking), libtime (time wrapper), libfsm (finite state machine)
Cross-platform compatibility with POSIX C and support for multiple operating systems
MIT licensed – free for personal and commercial use

Pros & Cons

Pros
  • Comprehensive set of over 20 reusable libraries covering many common embedded and networking needs
  • Written in POSIX C for maximum portability across Linux, Windows, Android, and iOS
  • Includes high-level protocols like RTSP, RTMP, MQTT, and Apple HomeKit out of the box
  • MIT license allows unrestricted use in commercial projects
  • Open source with public repository for community contributions and issue tracking
  • Lightweight and modular – developers can pick only the needed libraries
Cons
  • Last release (v1.1.19) was in September 2021, indicating low recent maintenance activity
  • Documentation is limited to the README file; no dedicated documentation site or guides
  • Requires solid C programming knowledge; not beginner-friendly
  • Lack of comprehensive API reference or examples beyond the code itself

Best For

IoT device firmware developmentEmbedded system softwareNetwork service and protocol implementationReal-time multimedia streaming (RTSP, RTMP)Cross-platform library integration for Linux, Windows, Android, iOSResearch and education in systems programming

FAQ

What is Gear-Lib?
Gear-Lib is a collection of basic libraries written in POSIX C for IoT, embedded, multimedia, and network development. It includes data structures, network protocols, async I/O, multimedia processing, and an OS abstraction layer.
How do I build Gear-Lib?
Please refer to the INSTALL.md file in the repository for detailed build instructions. The project supports build via Makefile and CMake.
What license does Gear-Lib use?
Gear-Lib is licensed under the MIT License, as stated in the LICENSE.MIT file in the repository.
Which platforms does Gear-Lib support?
Gear-Lib aims to be compatible with Linux, Windows, Android, and iOS. It uses POSIX C and includes an OS abstraction layer (libposix) for portability.
Does Gear-Lib support RTSP and RTMP?
Yes, it includes librtsp (RTSP server) and librtmpc (RTMP client) libraries for real-time streaming protocols.