Proxy RTMP Stream to RTSP

Learn how to seamlessly relay RTMP streams to RTSP using Happytimesoft tools. Compare two methods and setup correctly.

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.

Step 1: Edit rtsppusher.cfg
<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.

Step 1: Edit rtspserver.cfg
<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

[Source] ---(RTMP)---> [Happytimesoft Tool] ---(RTSP)---> [Client]
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