Convert RTSP camera streams into HLS streams viewable in any browser even on smart TVs.
📡 A project inspired by the HiveHack @ CyberSea challenge where the goal was to hijack and rebroadcast RTSP streams via HTTP for smart TV viewing. HiveHack Blog
Many IP cameras still expose RTSP streams using default credentials and no encryption. This project provides tools to:
- Discover vulnerable RTSP streams
- Re-stream RTSP to HLS (HTTP Live Streaming)
- Serve HLS over HTTP for browser access (e.g. Smart TVs)
| File | Description |
|---|---|
rtsp_crack.py |
Attempts login on an RTSP stream using credential lists |
index.html |
Minimal HLS-compatible browser player |
live_stream.sh |
Shell script to launch FFmpeg streaming (Linux/macOS) |
live_stream.bat |
Batch script to launch FFmpeg streaming (Windows) |
server.py |
Python-based HLS-capable HTTP server |
Create a .env file in the root directory to hold your camera and stream configuration:
CAMERA_USERNAME=username_example
CAMERA_PASSWORD=password_example
CAMERA_IP=192.168.***.***
LIVE_PATH=stream_example
CAMERA_OUTPUT=video/stream.m3u8git clone https://github.com/DarkSoulEngineer/RTSP_TO_HTTP.git
cd RTSP_TO_HTTP
Use rtsp_crack.py to test default usernames and passwords.
python rtsp_crack.py --target 192.168.1.10 --userlist users.txt --passlist passwords.txt --path stream1using the contents of user.txt and password.txt.
Make sure ffmpeg is installed and available in your system PATH.
bash live_stream.shlive_stream.batThis will pull the RTSP stream and convert it to HLS (.m3u8 + .ts files) inside the video/ folder.
python server.pyOpen the browser on any device (smart TV, phone, etc.) and visit:
http://<your_local_ip>:8000