We’ve developed many camera products from scratch over the years. In the process we’ve built up a lot of expertise in a wide variety of camera chipsets, video pipelines, ONVIF, RTSP streaming, analytics, and all the surrounding software needed to develop and launch a new network camera product.
Most of that software did the same job on every product but with different chipsets. So we designed CameraStack from the start to be portable, with a common core plus a deliberately small port layer for each chipset.
The Golang core takes care of all the common functionality on every platform (ONVIF APIs, RTSP streaming, TLS encryption, media signing, analytics management), plus small chipset-specific ports handle the video pipeline. It has a comprehensive set of ONVIF features, multiple RTSP streaming formats (TCP, UDP, HTTP, WebSocket, several more encrypted/TLS variants), media signing and analytics.

The thing that sets CameraStack apart from a third-party drop-in ONVIF library: CameraStack owns the video pipeline, managing everything from the sensor and ISP through to the hardware encoder. That tight coupling allows much more advanced integration between the streaming server and the ONVIF server, and it means you don’t have to piece together an RTSP server, an ONVIF library and some video pipeline code yourself.
We’ve already ported it to several chipsets:
- Axera AX630C
- Sophgo SG2002
- Rockchip RV1106
- Rockchip RV1126B
- Allwinner A733
- Qualcomm Dragonwing QRB2210
- NVIDIA Jetson Nano
- Raspberry Pi
- HiSilicon Hi3519V101
On any of these it’s a ready-made camera stack. Porting to a new chipset not in the list only needs a thin layer of video pipeline code. Many of the ports use vendor-specific video pipeline APIs, but CameraStack also supports GStreamer, making ports to platforms that have it even easier.
If you’re building a camera product and would like to hit the ground running, get in touch.
More at https://camerastack.io