Official website, documentation, guides and quickstarts for the OpenRTMP ecosystem. https://OpenRTMP.org
  • PHP 86.7%
  • CSS 8.6%
  • Shell 2.3%
  • Hack 1.4%
  • JavaScript 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alexander Wagner d1f6696bd7
Merge pull request #25 from OpenRTMP/claude/project-thread-bwxx0y
docs: note SRS v7.0-a0 (7.0.162) release in comparison guides
2026-09-23 14:12:15 +02:00
.github/workflows ci: smoke-test all public guides 2026-09-20 18:54:01 +02:00
assets Fix SonarCloud code findings 2026-09-07 22:14:08 +00:00
docs Fix SonarCloud code findings 2026-09-07 22:14:08 +00:00
download Fix SonarCloud code findings 2026-09-07 22:14:08 +00:00
guides docs: note SRS v7.0-a0 (7.0.162) release in comparison guides 2026-09-23 12:10:29 +00:00
includes Add a Showcase page and self-service submission mechanism 2026-09-22 17:22:02 +00:00
legal Fix SonarCloud code findings 2026-09-07 22:14:08 +00:00
quickstart Fix SonarCloud code findings 2026-09-07 22:14:08 +00:00
scripts Merge pull request #24 from OpenRTMP/claude/project-thread-t8l32g 2026-09-22 19:25:14 +02:00
showcase Add a Showcase page and self-service submission mechanism 2026-09-22 17:22:02 +00:00
.htaccess Fix deploy workflow silently dropping dotfiles like .htaccess 2026-09-12 23:03:42 +00:00
AGENTS.md docs: add AGENTS.md with Cursor Cloud dev-environment notes 2026-07-13 20:22:04 +00:00
index.php docs: strengthen OpenRTMP umbrella branding 2026-09-22 19:20:08 +02:00
README.md Generate sitemap lastmod dates from git history 2026-09-18 09:34:39 +00:00
renovate.json Add renovate.json 2026-07-26 22:43:53 +00:00
robots.txt Add crawler policy 2026-07-18 23:23:31 +02:00
sitemap.xml chore: refresh sitemap after SRS content update 2026-09-23 12:10:41 +00:00

openrtmp.org

Source for OpenRTMP.org, the public website for the OpenRTMP ecosystem.

OpenRTMP includes:

  • librtmp2 — Rust RTMP/RTMPS and Enhanced RTMP protocol library with a C-compatible FFI
  • librtmp2-server — self-hosted RTMP/RTMPS server with SQLite, stream keys, REST API, statistics, and optional HA clustering
  • librtmp2-server-panel — web UI for stream lifecycle, live monitoring, and cluster-aware operations
  • community — central issue tracker and discussion hub for all OpenRTMP projects

All projects are under active development and remain pre-1.0. Interfaces and configuration may still evolve; the website intentionally avoids hard-coded current release numbers where a package registry or GitHub release page can remain the source of truth.

Local development

The site is a static-ish PHP/HTML/CSS/JavaScript project with no framework, build step, or database. It requires PHP 7.4 or newer.

php -S localhost:8090

Open http://localhost:8090.

Validate PHP files before publishing:

find . -name '*.php' -print0 | xargs -0 -n1 php -l

Structure

index.php                         Homepage and audience paths
quickstart/index.php              Five-minute Docker + OBS setup
docs/index.php                    Reference documentation
download/index.php                Crate, source, and Docker downloads
guides/index.php                  Guide landing page
guides/*/index.php                Search-focused technical guides
legal/index.php                   Contact and legal notice
includes/                         Shared header and footer
assets/css/style.css              Core design system
assets/css/content.css            Article and quickstart styles
assets/js/                        Navigation, copy, and docs behavior
assets/img/                       Logo and favicon
robots.txt                        Crawler policy
sitemap.xml                       Indexable public pages (generated)
scripts/generate-sitemap.sh       Rebuilds sitemap.xml from git history

Sitemap

sitemap.xml is generated, not hand-edited. Each <lastmod> is the date of the most recent commit that touched that page's index.php, so the sitemap cannot drift away from the content it describes.

scripts/generate-sitemap.sh          # rewrite sitemap.xml
scripts/generate-sitemap.sh -o -     # preview on stdout

The URL list, changefreq, and priority live in the PAGES table at the top of the script. The script fails if an index.php exists on disk but is missing from that table, and it needs full git history — a shallow clone is rejected rather than silently producing wrong dates.

CI enforces both ends of this: Website checks fails when the committed sitemap.xml differs from what the script produces, and the production deploy regenerates it just before upload.

Content principles

  • Separate the developer/library path from the operator/server path.
  • State the pre-1.0 status and implementation boundaries consistently.
  • Link to repository implementation-status tables for code-accurate claims.
  • Route issues to OpenRTMP/community/issues and discussions to OpenRTMP/community/discussions, rather than to an individual source repository.
  • Prefer package registries and release pages over manually copied latest-version strings.
  • Create one canonical page for each major search intent instead of duplicating setup text.
  • Keep guides task-focused, honest about missing features, and useful without marketing language.

Adding a guide

  1. Create guides/<slug>/index.php.
  2. Set a unique $pageTitle, $pageDescription, and $canonicalPath.
  3. Add TechArticle structured data when appropriate.
  4. Link the guide from guides/index.php and relevant existing pages.
  5. Add the page to the PAGES table in scripts/generate-sitemap.sh, then run scripts/generate-sitemap.sh and commit the regenerated sitemap.xml.
  6. Run PHP lint and review mobile table/code overflow.

Deployment

Deploy the repository contents to a PHP-capable web root. The server should route directory requests such as /quickstart/ to the corresponding index.php and serve XML/TXT/CSS/JS/image files directly.