Libwebsockets is a simple-to-use, MIT-license, pure C library providing client and server for http/1, http/2, websockets, MQTT and other protocols in a security-minded, lightweight, configurable, scalable and flexible way. It's easy to build and cross-build via cmake and is suitable for tasks from embedded RTOS through mass cloud serving.
80+ independent minimal examples for various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to get started quickly.
There are a lot of READMEs on a variety of topics.
We do a huge amount of CI testing per push, currently 495 builds on 27 platforms.
If you're interested in ws + h.264, there's a 80-90% complete minimal example that needs help with the mp4 container part, the lws v4l2 integration, MPJPG->h.264 transcoding and ws transport to MediaSource parts already work.
Take a look at the top two patches on _v4l2
branch and post on the mailing list or
github to discuss if you can help.
See the changelog
The master->main branch transition happened several months ago, currently master is still around as a mirror of main. master branch will go away some time before the next release.
This is the libwebsockets C library for lightweight websocket clients and servers. For support, visit
and consider joining the project mailing list at
https://libwebsockets.org/mailman/listinfo/libwebsockets
You can get the latest version of the library from git:
Doxygen API docs for development: https://libwebsockets.org/lws-api-doc-master/html/index.html