GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - livekit-examples/cpp-example-collection: A collection of small examples for the LiveKit C++ SDK

BranchesTags
Open more actions menu

Latest commit

 

History

30 Commits
30 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
basic_room
basic_room
 
 
cmake
cmake
 
 
frame_metadata
frame_metadata
 
 
hello_livekit
hello_livekit
 
 
logging_levels
logging_levels
 
 
ping_pong
ping_pong
 
 
platform_audio
platform_audio
 
 
simple_data_stream
simple_data_stream
 
 
simple_room
simple_room
 
 
simple_rpc
simple_rpc
 
 
token_source
token_source
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CODEOWNERS
CODEOWNERS
 
 
README.md
README.md
 
 

Repository files navigation

cpp-example-collection

This repository contains a collection of small, self-contained examples for the LiveKit C++ SDK.

The goal of these examples is to demonstrate common usage patterns of the LiveKit C++ SDK (connecting to a room, publishing tracks, RPC, data streams, etc.) without requiring users to build the SDK from source.

Examples

Example Description
basic_room Connects to a room and publishes synthetic audio and video tracks.
frame_metadata Publishes and consumes video frames with frame metadata such as IDs, timestamps, and user data.
hello_livekit/receiver Subscribes to the sender example's video and data tracks.
hello_livekit/sender Publishes synthetic video and data for a paired receiver example.
logging_levels/basic_usage Demonstrates SDK log-level filtering and log callbacks.
logging_levels/custom_sinks Shows custom SDK log sinks such as file, JSON, and ROS-style output.
ping_pong/ping Sends ping messages over a data track and records response latency.
ping_pong/pong Listens for ping messages and publishes matching pong responses.
platform_audio Demonstrates microphone capture and speaker playout with platform audio devices.
simple_data_stream Sends and receives text and byte streams over LiveKit data streams.
simple_room Connects to a room, publishes local media, and subscribes to remote media.
simple_rpc Demonstrates LiveKit RPC calls between participants.
token_source Shows ways to supply connection credentials through LiveKit token sources.

How the SDK is provided

These examples automatically download a prebuilt LiveKit C++ SDK release from GitHub at CMake configure time.

This is handled by the CMake helper: LiveKitSDK.cmake.

Selecting a LiveKit SDK version

By default, the examples download the latest released LiveKit C++ SDK.

You can pin a specific SDK version using the LIVEKIT_SDK_VERSION CMake option.

Examples

Use the latest release:

cmake -S . -B build

Use a specific version:

cmake -S . -B build -DLIVEKIT_SDK_VERSION=1.3.0

Reconfigure to change versions:

rm -rf build
cmake -S . -B build -DLIVEKIT_SDK_VERSION=1.3.0

Build against a local SDK:

rm -rf build
# install the SDK into $HOME/livekit-sdk-install (or any other directory)
cmake --install <sdk-build-dir> --prefix "$HOME/livekit-sdk-install"

# build the examples against the local SDK
cmake -S . -B build -DLIVEKIT_LOCAL_SDK_DIR="$HOME/livekit-sdk-install"

Building the examples

macOS / Linux

cmake -S . -B build
cmake --build build

Windows (Visual Studio generator)

cmake -S . -B build
cmake --build build --config Release

The LiveKit Release SDK is downloaded into build/_deps/livekit-sdk/

Running the examples

After building, example binaries are located under:

build/<example-name>/

For example:

./build/basic_room/basic_room --url <ws-url> --token <token>

Supported platforms

Prebuilt SDKs are downloaded automatically for:

  • Windows: x64
  • macOS: x64, arm64 (Apple Silicon)
  • Linux: Ubuntu 24.04 x64

If no matching SDK is available for your platform, CMake configuration will fail with a clear error.

About

A collection of small examples for the LiveKit C++ SDK

github.com/livekit/client-sdk-cpp

Resources

Readme
Activity
Custom properties

Stars

3 stars

Watchers

0 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.