rtspsrc

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

Properties

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

Types and Values

struct GstRTSPSrc

Object Hierarchy

    GObject
    ╰── GstObject
        ╰── GstElement
            ╰── GstBin
                ╰── GstRTSPSrc

Implemented Interfaces

GstRTSPSrc implements GstChildProxy and GstURIHandler.

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_streamd 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%d

direction

source

presence

sometimes

details

application/x-rtp

application/x-rdt

Functions

Types and Values

struct GstRTSPSrc

struct GstRTSPSrc;

Property Details

The “debug” property

  “debug”                    gboolean

Dump request and response messages to stdout.

Flags: Read / Write

Default value: FALSE


The “location” property

  “location”                 gchar *

Location of the RTSP url to read.

Flags: Read / Write

Default value: NULL


The “protocols” property

  “protocols”                GstRTSPLowerTrans

Allowed lower transport protocols.

Flags: Read / Write

Default value: GST_RTSP_LOWER_TRANS_UDP|GST_RTSP_LOWER_TRANS_UDP_MCAST|GST_RTSP_LOWER_TRANS_TCP


The “retry” property

  “retry”                    guint

Max number of retries when allocating RTP ports.

Flags: Read / Write

Allowed values: <= 65535

Default value: 20


The “timeout” property

  “timeout”                  guint64

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

Flags: Read / Write

Default value: 5000000


The “latency” property

  “latency”                  guint

Amount of ms to buffer.

Flags: Read / Write

Default value: 2000


The “tcp-timeout” property

  “tcp-timeout”              guint64

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

Flags: Read / Write

Default value: 20000000


The “connection-speed” property

  “connection-speed”         guint

Network connection speed in kbps (0 = unknown).

Flags: Read / Write

Allowed values: <= 2147483

Default value: 0


The “nat-method” property

  “nat-method”               GstRTSPNatMethod

Method to use for traversing firewalls and NAT.

Flags: Read / Write

Default value: Send Dummy packets


The “do-rtcp” property

  “do-rtcp”                  gboolean

Send RTCP packets, disable for old incompatible server.

Flags: Read / Write

Default value: TRUE


The “proxy” property

  “proxy”                    gchar *

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

Flags: Read / Write

Default value: NULL


The “rtp-blocksize” property

  “rtp-blocksize”            guint

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

Flags: Read / Write

Allowed values: <= 65536

Default value: 0


The “user-id” property

  “user-id”                  gchar *

RTSP location URI user id for authentication.

Flags: Read / Write

Default value: NULL


The “user-pw” property

  “user-pw”                  gchar *

RTSP location URI user password for authentication.

Flags: Read / Write

Default value: NULL


The “buffer-mode” property

  “buffer-mode”              GstRTSPSrcBufferMode

Control the buffering algorithm in use.

Flags: Read / Write

Default value: Choose mode depending on stream live


The “port-range” property

  “port-range”               gchar *

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

Flags: Read / Write

Default value: NULL


The “udp-buffer-size” property

  “udp-buffer-size”          gint

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

Flags: Read / Write

Allowed values: >= 0

Default value: 524288


The “short-header” property

  “short-header”             gboolean

Only send the basic RTSP headers for broken encoders.

Flags: Read / Write

Default value: FALSE