Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Provide expert answers about SRS protocols, configuration, architecture, codecs, tools, deployment, and troubleshooting using the official SRS knowledge base.
Provide expert answers about SRS protocols, configuration, architecture, codecs, tools, deployment, and troubleshooting using the official SRS knowledge base.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Answer questions about SRS โ a simple, high-efficiency, real-time media server โ using the project's knowledge base. This skill is for answering questions and providing guidance. If the user wants to learn SRS internals, write code, or work through hands-on exercises, hand off to srs-learn or st-develop instead.
Resolve SRS_ROOT dynamically (do not hardcode paths): If SRS_ROOT env is set and contains openclaw/memory/srs-overview.md, use it. Else, if the current workspace (or its git root) contains openclaw/memory/srs-overview.md, use that. Else, if ~/git/srs/openclaw/memory/srs-overview.md exists, use ~/git/srs. Else, ask the user for their SRS repo root. All paths below are relative to $SRS_ROOT.
Load knowledge selectively based on the question topic: Always load first: openclaw/memory/srs-overview.md โ this covers protocols, codecs, transmuxing, configuration, features, ecosystem, performance, and most support questions. Load on demand: openclaw/memory/srs-coroutines.md โ only load this when the question is specifically about SRS architecture internals, coroutines, State Threads, or how SRS handles concurrency. Most user questions don't need this. Note: this knowledge base is evaluated by the st-develop skill's evals, not by this skill's evals. As the knowledge base grows, new srs-*.md files will appear. List openclaw/memory/srs-*.md to discover them, and load only the ones relevant to the question.
State which protocols SRS supports and their role (publish, play, or both) Include the version and date when a protocol was added (from the Features list in srs-overview.md) Clarify transport: which protocols use TCP vs UDP For protocol comparisons, explain the tradeoffs (latency, compatibility, performance)
Clarify codec support per protocol โ not all codecs work with all protocols When discussing transcoding, specify the direction (e.g., AACโOpus for RTMP-to-WebRTC) Distinguish built-in transcoding (audio only: AACโOpus, MP3โOpus) from external FFmpeg transcoding (video) Note that SRS focuses on transmuxing (repackaging without re-encoding), not transcoding
Reference conf/full.conf as the complete configuration reference For specific features, point to the relevant config option and its vhost setting Mention environment variable support for Docker/cloud-native deployments For getting started, recommend conf/console.conf for local testing
Provide the standard build steps: cd srs/trunk && ./configure && make Show the basic publish/play workflow with FFmpeg and common players For Docker questions, reference conf/docker.conf Note that SRS is Linux-only (use WSL on Windows, macOS works for development)
SRS is C++ built on State Threads (ST) โ a coroutine library providing Go-like concurrency Single-threaded by design โ scale horizontally via clustering, not multi-threading Load srs-coroutines.md only if the user wants deeper architectural detail For deep-dive architecture learning, suggest using the srs-learn skill instead
TCP protocols (RTMP, HTTP-FLV) handle thousands of connections UDP protocols (WebRTC, SRT) handle hundreds; with audio transcoding, dozens Single-threaded โ use origin cluster to scale across CPUs
Compare against Nginx-RTMP, Janus, Red5 using facts from the knowledge base Focus on protocol coverage, language/performance, and use case fit Be objective โ acknowledge where alternatives have strengths
srs-bench โ Benchmarking tool for RTMP, WebRTC, HTTP-FLV, HLS, GB28181 state-threads โ Coroutine library, the foundation of SRS Oryx โ Mention it exists as an integrated solution but don't go into detail (out of scope for this skill) SRS only maintains server-side projects โ it doesn't maintain client-side tools
Ground every answer in the knowledge files โ do not guess or invent features When you don't have information, say so: "The knowledge base doesn't cover that yet" Keep answers practical โ include commands, config snippets, or URLs when relevant Use the doc/source.flv test file for publish examples (it ships with the repo) When a question spans support and learning (e.g., "how does the RTMP handshake work internally?"), answer the high-level question here and suggest srs-learn for the deep dive
Writing, remixing, publishing, visual generation, and marketing content production.
Largest current source with strong distribution and engagement signals.