基于libpeer的研究项目

kindring de2c325705 fix: 修复候选重复添加问题 1 місяць тому
cmake-build-debug 67da75dea5 初次提交 1 місяць тому
examples 67da75dea5 初次提交 1 місяць тому
include 67da75dea5 初次提交 1 місяць тому
src de2c325705 fix: 修复候选重复添加问题 1 місяць тому
tests 67da75dea5 初次提交 1 місяць тому
third_party 67da75dea5 初次提交 1 місяць тому
.clang-format 67da75dea5 初次提交 1 місяць тому
.gitignore f64717bfad 添加gitnone 1 місяць тому
.gitmodules 67da75dea5 初次提交 1 місяць тому
CMakeLists.txt 67da75dea5 初次提交 1 місяць тому
LICENSE 67da75dea5 初次提交 1 місяць тому
L_RTP.c 67da75dea5 初次提交 1 місяць тому
README.md 67da75dea5 初次提交 1 місяць тому
idf_component.yml 67da75dea5 初次提交 1 місяць тому
test2.pcap 67da75dea5 初次提交 1 місяць тому

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