awslabs/amazon-kinesis-video-streams-webrtc-sdk-c logo

awslabs/amazon-kinesis-video-streams-webrtc-sdk-c

Free

Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams.

FreeFree tier
Inputs: video, audioOutputs: video, audio
Type
Open Source
Company
Amazon Web Services

About awslabs/amazon-kinesis-video-streams-webrtc-sdk-c

Amazon Kinesis Video Streams C WebRTC SDK is a pure C library that enables real-time communication between devices and secure streaming of video and audio to Amazon Kinesis Video Streams. It provides a signaling client, supports multiple codecs (VP8, H264, Opus, G.711 PCM), includes STUN/TURN support, and offers a developer-controlled media pipeline with raw media input/output callbacks. The SDK is portable across Linux/MacOS, supports x64 and ARM architectures, and has a small library footprint under 200KB. It also includes a new feature to ingest media into Kinesis Video Streams for WebRTC storage.

Key Features

Audio/Video Support (VP8, H264, Opus, G.711 PCM A-law and µ-law)
Developer Controlled Media Pipeline with raw media input/output callbacks
DataChannels and NACK support
STUN/TURN Support for IPv4/IPv6
Signaling Client Included (Kinesis Video Streams as backend)
Pre-made samples for Android, iOS, and Web connectivity
Ingest media into Kinesis Video Streams for WebRTC storage
Portable across Linux/MacOS, x64 and ARM architectures
Small install size (sub 200KB)

Pros & Cons

Pros
  • Open source with permissive Apache 2.0 license
  • Small library footprint suitable for embedded and edge devices
  • Supports popular codecs and standard WebRTC features like DataChannels and NACKs
  • Portable across multiple platforms and architectures
  • Includes signaling client and STUN/TURN for robust connectivity
  • New storage feature enables media ingestion into KVS
Cons
  • Requires C development expertise and manual compilation
  • Tied to Amazon Kinesis Video Streams as the only backend
  • No built-in user interface; requires application-level integration
  • Documentation primarily limited to GitHub README

Best For

Real-time video/audio streaming to Amazon Kinesis Video StreamsIoT devices with camera or audio capabilitiesBuilding WebRTC applications with custom media pipelinesIntegration with Android, iOS, or Web via provided samples