Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sepfy/libpeer
WebRTC Library for IoT/Embedded Device using C
https://github.com/sepfy/libpeer
c esp32 h264 iot linux raspberry-pi webrtc
Last synced: about 1 month ago
JSON representation
WebRTC Library for IoT/Embedded Device using C
- Host: GitHub
- URL: https://github.com/sepfy/libpeer
- Owner: sepfy
- License: mit
- Created: 2021-04-07T05:27:20.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-25T13:22:50.000Z (about 2 months ago)
- Last Synced: 2024-09-29T16:29:38.489Z (about 1 month ago)
- Topics: c, esp32, h264, iot, linux, raspberry-pi, webrtc
- Language: C
- Homepage:
- Size: 523 KB
- Stars: 861
- Watchers: 25
- Forks: 127
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-webrtc - libpeer - WebRTC Library for IoT/Embedded Device using C. (Libraries / C/C++)
README
# libpeer - Portable WebRTC Library for IoT/Embedded Device
![build](https://github.com/sepfy/pear/actions/workflows/build.yml/badge.svg)
[![Discord](https://img.shields.io/discord/1265486725967253667?logo=discord)](https://discord.gg/AsPgabeS67)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
### Features
- Vdieo/Audio Codec
- H264
- G.711 PCM (A-law)
- G.711 PCM (µ-law)
- OPUS
- DataChannel
- STUN/TURN
- IPV4/IPV6
- Signaling
- [WHIP](https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html)
- MQTT### Dependencies
* [mbedtls](https://github.com/Mbed-TLS/mbedtls)
* [libsrtp](https://github.com/cisco/libsrtp)
* [usrsctp](https://github.com/sctplab/usrsctp)
* [cJSON](https://github.com/DaveGamble/cJSON.git)
* [coreHTTP](https://github.com/FreeRTOS/coreHTTP)
* [coreMQTT](https://github.com/FreeRTOS/coreMQTT)### Getting Started with Generic Example
```bash
$ 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
$ ./generic/sample/sample
```### Examples for Platforms
- [ESP32](https://github.com/sepfy/libpeer/tree/main/examples/esp32): MJPEG over datachannel
- [Raspberry Pi](https://github.com/sepfy/libpeer/tree/main/examples/raspberrypi): Video and two-way audio stream