RTSP Pull

OvenMediaEngine can pull RTSP Stream in two ways. The first way is to use the Stream creation API, and the second way is to use OriginMap or OriginMapStore. The supported codecs are H.264, AAC (ADTS). Supported codecs will continue to be added.

Title
Functions

Container

RTP

Transport

UDP / TCP

Codec

H.264, Opus, AAC

Pulling streams using the Stream Creation API

You can create a stream by pulling an RTSP stream using the Stream Creation API. For more information on using the REST API, check out that chapter.

Pulling streams using the OriginMapStore

If OriginMapStore is configured and Redis Server provides an rtsp URL, OvenMediaEngine pulls the RTSP URL when a playback request comes in. Check out OriginMapStore for more details.

Pulling streams using the OriginMap

Configuration

RTSP Pull is provided through OriginMap configuration. OriginMap is the rule that the Edge server pulls the stream of the Origin server. Edge server can pull a stream of origin with RTSP and OVT (protocol defined by OvenMediaEngine for Origin-Edge) protocol. See the Clustering section for more information about OVT.

<!-- /Server/VirtualHosts -->
<VirtualHost>
    ...
    <Name>default</Name>

    <Origins>
        <Origin>
            <Location>/app_name/rtsp_stream_name</Location>
            <Pass>
                <Scheme>rtsp</Scheme>
                <Urls><Url>192.168.0.200:554/</Url></Urls>
            </Pass>
        </Origin>
    </Origins>
    ...
</VirtualHost>

For example, in the above setup, when a player requests ws://{OvenMediaEngine Host}[:{Signaling Port}]/}App Name}/{RTSP Stream Name} to stream WebRTC, it pulls the stream from rtsp://192.168.0.200:554 and publishes it to WebRTC.

Event to trigger pulling

Pulling type providers are activated by streaming requests from publishers. And by default, the provider is automatically disabled after 30 seconds of no client playback. If you want to change this setting, check out the Clustering chapter.

When a playback request comes in from the following URL, RTSP pull starts working according to Origins settings.

Protocol

URL

WebRTC

ws[s]:://{OvenMediaEngine Host}[:{Signaling Port}]/{App Name}/{RTSP Stream Name}

LLHLS

http[s]://{OvenMediaEngine Host}[:{LLHLS Port}]/{App Name}/{RTSP Stream Name}/llhls.m3u8

Last updated

Was this helpful?