Build, configure, and run rtp2httpd locally, including embedded Web UI builds and build/runtime troubleshooting. Excludes cross-compilation and deployment.
64
78%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/build-run/SKILL.mdRun commands from the repository root. Use the toolchain conventions in AGENTS.md.
Cursor Cloud's startup setup installs locked pnpm dependencies and runs uv sync --group dev. Reuse that environment; repeat setup only when dependencies are missing or changed.
For embedded UI changes, rebuild the frontend before the C binary. C-only changes can use the committed header without Node.js. Follow package.json for build scripts and CMakeLists.txt for current options.
# When Web UI sources or build inputs changed:
pnpm run web-ui:build
cmake -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_AGGRESSIVE_OPT=ON
cmake --build build -j$(getconf _NPROCESSORS_ONLN)Release is the default for normal builds. Use Debug/RelWithDebInfo or pnpm run web-ui:build:debug when diagnosis needs symbols or source maps. ENABLE_AGGRESSIVE_OPT enables LTO and fast-math and defaults to OFF in CMake; disable it when investigating optimization-sensitive behavior.
The binary is build/rtp2httpd. The generated header follows the commit boundary in AGENTS.md.
Use an unused port, bind a local preview to loopback, and avoid loading a deployed configuration accidentally:
./build/rtp2httpd -C -v -v -v -v -l 127.0.0.1:8080-C skips the default config; -c <file> selects a config; -l [addr:]port sets the listener. For a config-based reproduction, inspect that file's listeners and upstreams first. Use ./build/rtp2httpd --help for current flags.
[global], [bind], [services] examples, read rtp2httpd.conf and the relevant section of Configuration Reference. CLI settings take precedence./rtp/, /rtsp/, and /http/ prefixes choose different protocol handlers.curl --fail http://127.0.0.1:8080/status checks basic readiness. Playback, seek, or rendering work also needs the affected stream/player scenario; a status response alone does not verify it. Reuse the chosen listener port in checks, and stop the task's daemon when finished. If a port is occupied, choose another port rather than terminating an unrelated process.
f189205
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.