基于libpeer的研究项目

kindring de2c325705 fix: 修复候选重复添加问题 10 luni în urmă
cmake-build-debug 67da75dea5 初次提交 10 luni în urmă
examples 67da75dea5 初次提交 10 luni în urmă
include 67da75dea5 初次提交 10 luni în urmă
src de2c325705 fix: 修复候选重复添加问题 10 luni în urmă
tests 67da75dea5 初次提交 10 luni în urmă
third_party 67da75dea5 初次提交 10 luni în urmă
.clang-format 67da75dea5 初次提交 10 luni în urmă
.gitignore f64717bfad 添加gitnone 10 luni în urmă
.gitmodules 67da75dea5 初次提交 10 luni în urmă
CMakeLists.txt 67da75dea5 初次提交 10 luni în urmă
LICENSE 67da75dea5 初次提交 10 luni în urmă
L_RTP.c 67da75dea5 初次提交 10 luni în urmă
README.md 67da75dea5 初次提交 10 luni în urmă
idf_component.yml 67da75dea5 初次提交 10 luni în urmă
test2.pcap 67da75dea5 初次提交 10 luni în urmă

README.md

libpeer - Portable WebRTC Library for IoT/Embedded Device

build

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

  • Video/Audio Codec
    • H264
    • G.711 PCM (A-law)
    • G.711 PCM (µ-law)
    • OPUS
  • DataChannel
  • STUN/TURN
  • IPV4/IPV6
  • Signaling

Dependencies

Getting Started with Generic Example

  • 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

Examples for Platforms

  • ESP32: MJPEG over datachannel
  • PICO: Ping pong with datachannel
  • Raspberry Pi: Video and two-way audio stream