Lamantin AI
Infrastructure

mobius-rtsp

A GStreamer-based RTSP server for endless video streaming.

★ 6·Rust·MIT

Files in a folder become streams.

Drop video files into data/videos. On startup the server reads their names and publishes each one as an RTSP stream — the filename, without its extension, is the mount point.

In infinite mode each video decodes in its own producer pipeline and is forwarded into the RTSP pipeline, so a client that connects an hour later still finds a live stream rather than a finished file.

  • Endless by construction Playback loops inside the pipeline, so the stream has no end for a consumer to hit.
  • One pipeline per video Each source decodes independently and feeds the server, which keeps one bad file from taking the rest down.
  • GStreamer underneath The usual plugin set — base, good, bad, ugly — plus libgstrtspserver.
  • Rust 1.88+ A single binary, built from source.

Where the stream shows up.

A file on disk maps straight to a mount point, so the URL is predictable.

paths
# the file
data/videos/9c0a140d548c8313e7719b7590d029dc.mp4

# the stream
rtsp://<host>:8554/9c0a140d548c8313e7719b7590d029dc