Skip to content

metartc/metaRTC

Repository files navigation

MetaRTC Overview

  • The easiest WebRTC stack for embedded / IoT / robotics devices
  • Code once run everywhere, A pure C version of webRTC
  • Linux/RTOS/Windows/Mac/Android/IOS

MetaRTC implements a complete WebRTC stack

  • ICE / ICE-Lite
  • STUN and TURN (configurable)
  • DTLS / SRTP
  • Full RTP/RTCP support
  • Adaptive bitrate & congestion control
  • Flexible media pipelines
  • P2P connection logic
  • Customizable session/signaling logic
  • UDP and optional TCP fallback
  • Multi-stream, multi-track support

In short, MetaRTC provides full control, can run in fully offline environments, and is suitable for large-scale product integration.

Key Features

  • Audio/Video Support

    • H264/H265(HEVC)
    • OPUS/G711A/G711U/AAC/MP3/SPEEX
    • AEC/ANS/AGC/VAD/CNG
  • DataChannels

  • NACK/PLI/FIR/FEC/TWCC

  • STUN/TURN Support

  • IPv4/IPv6

  • Whip/Whep

  • Linux/RTOS/Windows/Mac/Android/IOS

  • ARM/MIPS/Loongson/RISC-V/X86

  • MP4/FLV Recording

    • AAC/H264
    • AAC/H265(HEVC)
  • Flutter/React Native/UniApp/QT/Lvgl/Native

module

libyangutil8(pure C)

AEC/ANS/AGC and other audio and video processing libraries

libmetartccore8(pure C)

Implementation of webRTC protocol stack

libyangwhip8(pure C)

whip/whep/sfu/mcu connection protocol implementation

libmetartc8(C++)

Realize audio and video collection, encoding, decoding, transmission, rendering, and push-pull streaming

Dependencies

To compile libmetartccore8, you'll need to satisfy the following dependencies:
OpenSSL or Mbedtls
libsrtp
usrsctp
Third-party library download

metaRTC API

metaRTC 8.0 API
metaRTC 8.0 P2P Programming Guide
metaRTC 8.0 API Programming Guide

Compile

metaRTC Compilation
metaRTC(ARM linux64) Compilation
metaRTC mbedtls(PolarSSL) Compilation

metaRTC Programming guide

metaRTC H265 HEVC Programming Guide
metaRTC Mac iOS Programming Guide
metaRTC datachannel programming guide
metaRTC7 demo mac ios compilation guide

metaRTC streams to janus via the whip protocol

https://github.com/metartc/metaRTC/wiki/metaRTC-streams-to-janus-via-the-whip-protocol