rtspsrc

## rtspsrc rtspsrc — Receive data over the network via RTSP (RFC 2326) |

## Synopsis

    struct              GstRTSPSrc;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstBin
                               +----GstRTSPSrc

## Implemented Interfaces

GstRTSPSrc implements GstChildProxy and GstURIHandler.

## Properties

      "debug"                    gboolean              : Read / Write
      "location"                 gchar*                : Read / Write
      "protocols"                GstRTSPLowerTrans     : Read / Write
      "retry"                    guint                 : Read / Write
      "timeout"                  guint64               : Read / Write
      "latency"                  guint                 : Read / Write
      "tcp-timeout"              guint64               : Read / Write
      "connection-speed"         guint64               : Read / Write
      "nat-method"               GstRTSPNatMethod      : Read / Write
      "do-rtcp"                  gboolean              : Read / Write
      "proxy"                    gchar*                : Read / Write
      "rtp-blocksize"            guint                 : Read / Write
      "user-id"                  gchar*                : Read / Write
      "user-pw"                  gchar*                : Read / Write
      "buffer-mode"              GstRTSPSrcBufferMode  : Read / Write
      "port-range"               gchar*                : Read / Write
      "udp-buffer-size"          gint                  : Read / Write
      "short-header"             gboolean              : Read / Write
      "do-rtsp-keep-alive"       gboolean              : Read / Write

## Description

Makes a connection to an RTSP server and read the data. rtspsrc strictly follows RFC 2326 and therefore does not (yet) support RealMedia/Quicktime/Microsoft extensions.

RTSP supports transport over TCP or UDP in unicast or multicast mode. By default rtspsrc will negotiate a connection in the following order: UDP unicast/UDP multicast/TCP. The order cannot be changed but the allowed protocols can be controlled with the "protocols" property.

rtspsrc currently understands SDP as the format of the session description. For each stream listed in the SDP a new rtp_stream`d` pad will be created with caps derived from the SDP media description. This is a caps of mime type "application/x-rtp" that can be connected to any available RTP depayloader element.

rtspsrc will internally instantiate an RTP session manager element that will handle the RTCP messages to and from the server, jitter removal, packet reordering along with providing a clock for the pipeline. This feature is implemented using the gstrtpbin element.

rtspsrc acts like a live source and will therefore only generate data in the PLAYING state.

### Example launch line

    1
    gst-launch rtspsrc location=rtsp://some.server/url ! fakesink

Establish a connection to an RTSP server and send the raw RTP packets to a fakesink.

Last reviewed on 2006-08-18 (0.10.5)

## Synopsis

### Element Information

plugin | rtsp
author | Wim Taymans <wim@fluendo.com>, Thijs Vermeir <thijs.vermeir@barco.com>, Lutz Mueller <lutz@topfrose.de>
class | Source/Network

### Element Pads

name | stream_%u
direction | source
presence | sometimes
details | application/x-rtp
| application/x-rdt

## Details

### struct GstRTSPSrc

    struct GstRTSPSrc;

## Property Details

### The `"debug"` property

      "debug"                    gboolean              : Read / Write

Dump request and response messages to stdout.

Default value: FALSE

### The `"location"` property

      "location"                 gchar*                : Read / Write

Location of the RTSP url to read.

Default value: NULL

### The `"protocols"` property

      "protocols"                GstRTSPLowerTrans     : Read / Write

Allowed lower transport protocols.

Default value: GST_RTSP_LOWER_TRANS_UDP|GST_RTSP_LOWER_TRANS_UDP_MCAST|GST_RTSP_LOWER_TRANS_TCP

### The `"retry"` property

      "retry"                    guint                 : Read / Write

Max number of retries when allocating RTP ports.

Allowed values: <= 65535

Default value: 20

### The `"timeout"` property

      "timeout"                  guint64               : Read / Write

Retry TCP transport after UDP timeout microseconds (0 = disabled).

Default value: 5000000

### The `"latency"` property

      "latency"                  guint                 : Read / Write

Amount of ms to buffer.

Default value: 2000

### The `"tcp-timeout"` property

      "tcp-timeout"              guint64               : Read / Write

Fail after timeout microseconds on TCP connections (0 = disabled).

Default value: 20000000

### The `"connection-speed"` property

      "connection-speed"         guint64               : Read / Write

Network connection speed in kbps (0 = unknown).

Allowed values: <= 18446744073709551

Default value: 0

### The `"nat-method"` property

      "nat-method"               GstRTSPNatMethod      : Read / Write

Method to use for traversing firewalls and NAT.

Default value: Send Dummy packets

### The `"do-rtcp"` property

      "do-rtcp"                  gboolean              : Read / Write

Send RTCP packets, disable for old incompatible server.

Default value: TRUE

### The `"proxy"` property

      "proxy"                    gchar*                : Read / Write

Proxy settings for HTTP tunneling. Format: [http://][user:passwd@]host[:port].

Default value: NULL

### The `"rtp-blocksize"` property

      "rtp-blocksize"            guint                 : Read / Write

RTP package size to suggest to server (0 = disabled).

Allowed values: <= 65536

Default value: 0

### The `"user-id"` property

      "user-id"                  gchar*                : Read / Write

RTSP location URI user id for authentication.

Default value: NULL

### The `"user-pw"` property

      "user-pw"                  gchar*                : Read / Write

RTSP location URI user password for authentication.

Default value: NULL

### The `"buffer-mode"` property

      "buffer-mode"              GstRTSPSrcBufferMode  : Read / Write

Control the buffering algorithm in use.

Default value: Choose mode depending on stream live

### The `"port-range"` property

      "port-range"               gchar*                : Read / Write

Client port range that can be used to receive RTP and RTCP data, eg. 3000-3005 (NULL = no restrictions).

Default value: NULL

### The `"udp-buffer-size"` property

      "udp-buffer-size"          gint                  : Read / Write

Size of the kernel UDP receive buffer in bytes, 0=default.

Allowed values: >= 0

Default value: 524288

### The `"short-header"` property

      "short-header"             gboolean              : Read / Write

Only send the basic RTSP headers for broken encoders.

Default value: FALSE

### The `"do-rtsp-keep-alive"` property

      "do-rtsp-keep-alive"       gboolean              : Read / Write

Send RTSP keep alive packets, disable for old incompatible server.

Default value: TRUE