Introduction
This guide explains how to take an existing RTMP stream (e.g., from OBS or a live encoder) and make it available as an RTSP stream using Happytimesoft products.
Note: This process is more accurately described as proxying or relaying the stream, not transcoding it. The video/audio data remains unchanged.
Two Methods Overview
You can achieve RTMP-to-RTPS relaying using either RTSP Pusher or RTSP Server. Choose based on your needs:
| Method | Best For | Configuration File |
|---|---|---|
| RTSP Pusher | Pushing RTMP streams into the RTSP ecosystem from external sources. | rtsppusher.cfg |
| RTSP Server | Setting up a server that proxies external RTMP/RTSP streams. | rtspserver.cfg |
Method 1: Using RTSP Pusher
Configure the RTSP Pusher to pull from an RTMP source and push it out as an RTSP stream.
<pusher>
<!-- Source RTMP stream address -->
<src>rtmp://192.168.1.3/myapp/mystream1</src>
<!-- Output RTSP stream suffix -->
<suffix>stream1</suffix>
<!-- Other configuration... -->
</pusher>
<pusher>
<!-- Multiple streams supported -->
<src>rtmp://192.168.1.4/myapp/mystream2</src>
<suffix>stream2</suffix>
</pusher>
Result: Accessible via rtsp://your-server-ip/stream1
Method 2: Using RTSP Server
Configure the RTSP Server to act as a proxy for external RTMP streams.
<proxy>
<!-- Suffix for the proxied RTSP stream -->
<suffix>proxy1</suffix>
<!-- Original RTMP stream URL -->
<url>rtmp://192.168.1.3/myapp/mystream1</url>
<!-- Credentials if required -->
<user></user>
<pass></pass>
</proxy>
<proxy>
<suffix>proxy2</suffix>
<url>rtmp://192.168.1.3/myapp/mystream2</url>
</proxy>
Result: Accessible via rtsp://your-server-ip/proxy1
Workflow Diagram
Example: OBS → RTMP → (RTSP Pusher / RTSP Server) → VLC Player
Best Practices
- Choose Wisely: Use RTSP Pusher when you control the pushing application. Use RTSP Server when you want a simple proxy setup.
- Network: Ensure the server can reach the source RTMP stream.
- Security: Configure firewall rules to allow access to RTSP ports (default 554).
- Testing: Use VLC player to test the final RTSP stream:
rtsp://your-server-ip/suffix