Skip to content
@OpenRTMP

OpenRTMP

OpenRTMP

Modern RTMP infrastructure for developers and stream operators.

Build with a Rust RTMP/RTMPS and Enhanced RTMP protocol library, or deploy a private RTMP server with stream keys, REST API, live statistics, and a browser control panel.

Website Status License

Website · Five-minute Docker quickstart · Guides · Documentation · Contributing

Project status: OpenRTMP is active alpha software. It is suitable for development, evaluation, protocol work, and deployments that have been tested against their exact clients and recovery requirements. Pin versions and validate the complete workflow before critical production use.

Choose your path

I want to… Start here
Build a custom RTMP server, client, relay, plugin, or gateway librtmp2
Run a private RTMP/RTMPS endpoint with keys, API, and statistics librtmp2-server
Manage streams and view live statistics in a browser librtmp2-server-panel
Evaluate the complete stack with Docker and OBS Five-minute quickstart
Understand current protocol limitations librtmp2 implementation status
Compare OpenRTMP with nginx-rtmp OpenRTMP vs nginx-rtmp

Try the complete stack

The standalone Compose stack pulls published server, panel, and Redis images. You don't need to clone or build librtmp2 or librtmp2-server; clone the panel repository only to get its compose.quickstart.yml.

git clone https://github.com/OpenRTMP/librtmp2-server-panel.git
cd librtmp2-server-panel

# Generate the required API token, panel password, and session secret
# as shown in the full quickstart, then:
docker compose -f compose.quickstart.yml up -d
  • Panel: http://localhost:8000
  • API health: http://localhost:8080/api/v1/health
  • RTMP: rtmp://localhost:1935/live

Follow the complete quickstart for copy-and-paste secret generation, OBS setup, health checks, troubleshooting, and the internet-facing deployment checklist.

Projects

A Rust protocol library for RTMP/RTMPS session handling, publish/play relay primitives, AMF, chunking, parser modules for Enhanced RTMP structures, and a C-compatible FFI.

Use it when your application owns authentication, storage, routing, transcoding, recording, or other media policy.

A focused RTMP/RTMPS application layer built on librtmp2:

  • SQLite-backed stream registry
  • Per-stream publish, play, and statistics keys
  • Bearer-authenticated REST API
  • JSON statistics
  • nginx-rtmp-compatible XML statistics
  • Optional RTMPS listener alongside plaintext RTMP
  • Published multi-architecture Docker images

The current server does not aim to provide nginx-rtmp feature parity for HLS, recording, exec, push relay, or every nginx directive.

A Flask web UI for creating and deleting streams, copying publish/play/statistics URLs, and monitoring live bitrate, codec, resolution, frame rate, RTT, uptime, publishers, and players.

Enhanced RTMP and codec support

OpenRTMP works on modern codec and Enhanced RTMP workflows, including HEVC, AV1, and Opus signaling/passthrough where supported by the complete sender/server/player chain.

Protocol parser support, opaque media relay, and fully integrated session negotiation are different levels of implementation. The librtmp2 implementation status is the code-accurate source of truth for what is complete, partial, parser-only, or not yet wired into the default live path.

Good fit today

  • Private RTMP/RTMPS ingest and playback
  • Custom Rust or FFI-based RTMP applications
  • OBS and FFmpeg interoperability work
  • Stream-key and statistics integrations
  • nginx-compatible monitoring migrations
  • Enhanced RTMP research and implementation
  • Parser, fuzzing, and network-safety contributions

Consider a broader media platform when you need a turnkey viewer website, built-in HLS, recording, transcoding, push relay, or many non-RTMP protocols.

Contributing

Contributions are welcome across protocol code, server behavior, the panel, documentation, interoperability tests, fuzzing, and deployment examples.

  1. Read the organization-wide contributing guide.
  2. Choose the repository that owns the behavior.
  3. Search existing issues and discussions before opening a duplicate.
  4. Start with an issue labeled good first issue or help wanted when available.
  5. Include tests and exact reproduction steps for behavioral changes.

See the public roadmap for current priorities and the support guide for where to ask questions or report bugs.

Security

Do not publish security-sensitive details in a public issue. Follow the organization security policy.

License

OpenRTMP projects are released under the MIT License unless a repository states otherwise.

Pinned Loading

  1. librtmp2 librtmp2 Public

    Modern Rust library for Legacy RTMP and Enhanced RTMP v1/v2 with RTMPS, AMF, handshake, chunking, server/client APIs and C FFI.

    Rust 1

  2. librtmp2-server librtmp2-server Public

    Open-source Rust RTMP/RTMPS media server for OBS and FFmpeg with stream-key auth, live stats, REST API, SQLite and Docker support.

    Rust 1 1

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…