libpeer is a WebRTC implementation written in C, developed with BSD socket. The library aims to integrate IoT/Embedded device video/audio streaming with WebRTC, such as ESP32 and Raspberry Pi
- Video/Audio Codec
- H264
 - G.711 PCM (A-law)
 - G.711 PCM (µ-law)
 - OPUS
 
 - DataChannel
 - STUN/TURN
 - IPV4/IPV6
 - Signaling
- WHIP
 - MQTT
 
 
- Copy URL from the test website
 - Build and run the example
 
$ sudo apt -y install git cmake
$ git clone --recursive https://github.com/sepfy/libpeer
$ cd libpeer
$ cmake -S . -B build && cmake --build build
$ wget http://www.live555.com/liveMedia/public/264/test.264 # Download test video file
$ wget https://mauvecloud.net/sounds/alaw08m.wav # Download test audio file
$ ./examples/generic/sample -u <URL>- Click Connect button on the website
 
- ESP32: MJPEG over datachannel
 - PICO: Ping pong with datachannel
 - Raspberry Pi: Video and two-way audio stream