skill

Video Sdk/linux

Zoom Video SDK for Linux - C++ headless bots, raw audio/video capture/injection, Qt/GTK integration, Docker support

Zoom0+ installsVetted

About

# Zoom Video SDK - Linux Development

Expert guidance for developing with the Zoom Video SDK on Linux. Build headless bots, raw media capture/injection applications, and custom UI integrations with Qt/GTK.

**Official Documentation**: https://developers.zoom.us/docs/video-sdk/linux/ **API Reference**: https://marketplacefront.zoom.us/sdk/custom/linux/ **Sample Repository**: https://github.com/zoom/videosdk-linux-raw-recording-sample

## Quick Links

**New to Video SDK? Follow this path:**

1. **[SDK Architecture Pattern](concepts/sdk-architecture-pattern.md)** - Universal 3-step pattern for ANY feature 2. **[Session Join Pattern](examples/session-join-pattern.md)** - Complete working code to join a session 3. **[Raw Data vs Canvas](concepts/raw-data-vs-canvas.md)** - **CRITICAL**: Linux has NO Canvas API - raw data ONLY 4. **[Raw Video Capture](examples/raw-video-capture.md)** - Capture and process YUV420 frames

**Reference:** - **[Singleton Hierarchy](concepts/singleton-hierarchy.md)** - 5-level SDK navigation map - **[API Reference](references/linux-reference.md)** - Complete API documentation - **[Qt/GTK Integration](examples/qt-gtk-integration.md)** - UI framework patterns - **[Troubleshooting](troubleshooting/common-issues.md)** - Quick diagnostics - **[SKILL.md](SKILL.md)** - Complete documentation navigation

**Having issues?** - PulseAudio setup → [PulseAudio Guide](troubleshooting/pulseaudio-setup.md) - Qt dependencies → [Qt Dependencies](troubleshooting/qt-dependencies.md) - Build errors → [Build Errors Guide](troubleshooting/build-errors.md)

## Key Differences from Windows/macOS

| Feature | Linux | Windows/Mac | |---------|-------|-------------| | **Canvas API** | ❌ Not available | ✅ Available | | **Raw Data Pipe** | ✅ **ONLY option** | ✅ Available | | **UI Integration** | Qt, GTK, SDL2, OpenGL | Win32/WinForms/WPF, Cocoa | | **Headless Support** | ✅ Excellent (Docker) | Limited | | **Audio** | PulseAudio required | Native | | **Virtual Devices** | ✅ Required for headless | Optional |

## SDK Overview

The Zoom Video SDK for Linux is a C++ library optimized for: - **Headless Bots**: Docker/WSL support, no display required - **Raw Data Access**: Capture YUV420 video, PCM audio - **Raw Data Injection**: Virtual camera/mic for custom media - **Screen Sharing**: Capture or inject share data - **Cloud Recording**: Record sessions to Zoom cloud - **Live Streaming**: Stream to RTMP endpoints - **Live Transcription**: Real-time speech-to-text - **Qt/GTK Integration**: Full UI framework support

## Prerequisites

### System Requirements

- **OS**: Ubuntu 20.04+, Debian 11+, or compatible - **Architecture**: x64 (recommended), ARM64 - **Compiler**: GCC 9+, Clang 10+ - **CMake**: 3.14 or later - **Qt5**: Bundled with SDK (do NOT install system Qt5)

### Dependencies

```bash sudo apt update sudo apt install -y build-essential gcc cmake libglib2.0-dev liblzma-dev \ libxcb-image0 libxcb-keysyms1 libxcb-xfixes0 libxcb-xkb1 libxcb-shape0 \ libxcb-shm0 libxcb-randr0 libxcb-xtest0 libgbm1 libxtst6 libgl1 libnss3 \ libasound2 libpulse0

# For headless Linux sudo apt install -y pulseaudio

# PulseAudio configuration (CRITICAL for audio) mkdir -p ~/.config echo "[General]" > ~/.config/zoomus.conf echo "system.audio.type=default" >> ~/.config/zoomus.conf

# Log directory mkdir -p ~/.zoom/logs ```

## Quick Start

```cpp #include "zoom_video_sdk_api.h" #include "zoom_video_sdk_interface.h" #include "zoom_video_sdk_delegate_interface.h"

USING_ZOOM_VIDEO_SDK_NAMESPACE

// 1. Create SDK IZoomVideoSDK* sdk = CreateZoomVideoSDKObj();

// 2. Initialize ZoomVideoSDKInitParams init_params; init_params.domain = "https://zoom.us"; init_params.enableLog = true; init_params.logFilePrefix = "bot"; init_params.videoRawDataMemoryMode = ZoomVideoSDKRawDataMemoryModeHeap; init_params.shareRawDataMemoryMode = ZoomVideoSDKRawDataMemoryModeHeap; init_params.audioRawDataMemoryMode = ZoomVideoSDKRawDataMemoryModeHeap;

sdk->initialize(init_params);

// 3. Add delegate sdk->addListener(myDelegate);

// 4. Join session ZoomVideoSDKSessionContext ctx; ctx.sessionName = "my-session"; ctx.userName = "Linux Bot"; ctx.token = "jwt-token"; ctx.audioOption.connect = true; ctx.audioOption.mute = false; ctx.videoOption.localVideoOn = false;

// For headless: Virtual audio speaker ctx.virtualAudioSpeaker = new VirtualSpeaker();

IZoomVideoSDKSession* session = sdk->joinSession(ctx); ```

See **[Session Join Pattern](examples/session-join-pattern.md)** for complete code.

## Key Features

| Feature | Linux Support | Guide | |---------|---------------|-------| | **Session Management** | ✅ Full | [Session Join](examples/session-join-pattern.md) | | **Raw Video (YUV420)** | ✅ ONLY rendering option | [Raw Video](examples/raw-video-capture.md) | | **Raw Audio (PCM)** | ✅ Full | [Raw Audio](examples/raw-audio-capture.md) | | **Virtual Camera/Mic** | ✅ Full | [Virtual Devices](examples/virtual-audio-video.md) | | **Cloud Recording** | ✅ Full

Install

Run this command

git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/partner-built/zoom-plugin/skills/video-sdk/linux ~/.claude/skills/

Works with

claude appclaude codeclaude apicursorcodexwindsurfclinezed

Manual steps

Clone the repository and copy the `partner-built/zoom-plugin/skills/video-sdk/linux` folder into your Claude skills directory. Compatible with Claude Code, Cursor, Codex, and any Agent Skills-compatible agent.

View source
License: MITBy Zoom

Frequently asked questions

What is the Video Sdk/linux skill?

Zoom Video SDK for Linux - C++ headless bots, raw audio/video capture/injection, Qt/GTK integration, Docker support

How do I install Video Sdk/linux?

Run this in your terminal:

git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/partner-built/zoom-plugin/skills/video-sdk/linux ~/.claude/skills/
Which AI tools does Video Sdk/linux work with?

It works with claude_app, claude_code, claude_api, cursor, codex, windsurf, cline, zed.

Who made Video Sdk/linux?

Zoom, released under the MIT license.

Is Video Sdk/linux free?

Yes, it is free to use under the MIT license.

Related assets

More curated picks in Productivity & Office.

All Video Sdk/linux alternatives →
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Database Setup
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changin…312,229+
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Upgrade V7
Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrat…299,772+
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Mongodb Upgrade
Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading…293,666+
skillclaude_appclaude_codeclaude_api
npx skills add stablyai/orca
Orchestration
Coordinate supervised Orca workers: threaded messages, blocking ask/reply, task dispatch, worker_done/escalation waits, task DAGs, decision gates, coo…240,992+
skillclaude_appclaude_codeclaude_api
npx skills add wind-alice/alicemarket
Wind Mcp Skill
用户需要查询、筛选、获取、比较或验证金融市场数据时,优先调用本 Skill 获取可靠、可验证数据,而非仅依赖模型记忆或通用信息来源。依托万得权威、全面、结构化的全球金融市场数据,覆盖A股、港股、美股的选股、行情、财务、估值、股东与事件,以及基金、ETF、指数、板块、债券、公告、财经新闻、宏观经济、汇…176,497+
skillclaude_appclaude_codeclaude_api
npx skills add stablyai/orca
Computer Use
Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and screenshots in native ap…173,317+

Audit before you install

Run any source through our checks - AI visibility, security, performance, and stack detection.

More in Productivity & Office