RTSP to WebRTC and HLS Streaming

RTSP to WebRTC and HLS Streaming

Rust and GStreamer media pipeline with adaptive encoding

RustGStreamerWebRTCHLSNext.js

This is a high performance media streaming service that converts RTSP camera streams into WebRTC and HLS, choosing an encoding strategy that fits each viewer's available bandwidth. The backend is written in Rust with GStreamer for efficient low latency streaming and supports both H.264 and H.265 video.

It offers three encoding modes. A pass through mode sends the original stream untouched, a single re encode normalizes it once and an adaptive mode adjusts the encode based on the client network. HLS is served at 480p, 720p and 1080p so playback stays smooth on any connection.

The frontend is built with Next.js and provides a responsive dashboard where users pick the stream type and quality and control playback. The Rust core keeps latency very low even under sustained load.

Key Features

Real time RTSP to WebRTC and HLS conversion
Pass through, single re encode and adaptive encoding modes
HLS quality levels at 480p, 720p and 1080p
H.264 and H.265 codec support
Rust core for very low latency
Web dashboard for playback and stream control

Tech Stack

Rust

Low latency media backend

GStreamer

Transcoding and packaging

WebRTC

Real time stream delivery

HLS

Adaptive playback

Next.js

Dashboard and controls

Ant Design

UI components

Role

Full Stack Developer

Year

2025

Next Project

Unity Webinar