rtspsrc2

rtspsrc2 is a from-scratch rewrite of the rtspsrc element to fix some fundamental architectural issues, with the aim of making the two functionally equivalent.

Implemented features:

  • RTSP 1.0 support
  • Lower transports: TCP, UDP, UDP-Multicast
  • RTCP SR and RTCP RR
  • RTCP-based A/V sync
  • Lower transport selection and priority (NEW!)
    • Also supports different lower transports for each SETUP
  • Credentials support
  • TLS/TCP support
  • HTTP tunnelling
  • Keep-alive
  • Support for stream selection at the start
  • Allow unlinked pads
  • Support for SRTP with rtpbin/!USE_RTP2
  • GET_PARAMETER / SET_PARAMETER

Some missing features:

  • VOD support: PAUSE, seeking, etc
  • ONVIF backchannel and trick mode support
  • and more

Please see the README for a complete and up-to-date list.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──rtspsrc2

Implemented interfaces

Factory details

Authors: – Nirbheek Chauhan

Classification:Source/Network

Rank – none

Plugin – rsrtsp

Package – gst-plugin-rtsp

Pad Templates

stream_%u

application/x-rtp:

Presencesometimes

Directionsrc

Object typeGstPad


Action Signals

get-parameter

g_signal_emit_by_name (param_0, "get-parameter", arg0, arg1, arg2, &ret);
ret = param_0.emit ("get-parameter", arg0, arg1, arg2)
let ret = param_0.emit ("get-parameter", arg0, arg1, arg2);

Parameters:

param_0 (GstElement *)
No description available
arg0 (gchararray)
No description available
arg1 (gchararray)
No description available
arg2 (GstPromise *)
No description available
Returns (gboolean)
No description available

Flags: Run Last / Action


get-parameters

g_signal_emit_by_name (param_0, "get-parameters", arg0, arg1, arg2, &ret);
ret = param_0.emit ("get-parameters", arg0, arg1, arg2)
let ret = param_0.emit ("get-parameters", arg0, arg1, arg2);

Parameters:

param_0 (GstElement *)
No description available
arg0 (GStrv *)
No description available
arg1 (gchararray)
No description available
arg2 (GstPromise *)
No description available
Returns (gboolean)
No description available

Flags: Run Last / Action


set-parameter

g_signal_emit_by_name (param_0, "set-parameter", arg0, arg1, arg2, arg3, &ret);
ret = param_0.emit ("set-parameter", arg0, arg1, arg2, arg3)
let ret = param_0.emit ("set-parameter", arg0, arg1, arg2, arg3);

Parameters:

param_0 (GstElement *)
No description available
arg0 (gchararray)
No description available
arg1 (gchararray)
No description available
arg2 (gchararray)
No description available
arg3 (GstPromise *)
No description available
Returns (gboolean)
No description available

Flags: Run Last / Action


tls-client-auth

g_signal_emit_by_name (param_0, "tls-client-auth", &ret);
ret = param_0.emit ("tls-client-auth")
let ret = param_0.emit ("tls-client-auth");

Parameters:

param_0 (GstElement *)
No description available
Returns (GstStructure *)
No description available

Flags: Run Last / Action


Properties

certificate-file

“certificate-file” gchararray

Path to certificate chain for the private key file in PEM format

Flags : Read / Write

Default value : NULL


do-rtsp-keep-alive

“do-rtsp-keep-alive” gboolean

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

Flags : Read / Write

Default value : true


extra-http-request-headers

“extra-http-request-headers” GstStructure *

Extra HTTP headers to send with requests

Flags : Read / Write


latency

“latency” guint

Amount of ms to buffer

Flags : Read / Write

Default value : 200


location

“location” gchararray

RTSP server, credentials and media path, e.g. rtsp://user:p4ssw0rd@camera-5.local:8554/h264_1080p30

Flags : Read / Write

Default value : NULL


port-start

“port-start” guint

Port number to start allocating client ports for receiving RTP and RTCP data, eg. 3000 (0 = automatic selection)

Flags : Read / Write

Default value : 0


private-key-file

“private-key-file” gchararray

Path to a PKCS1, PKCS8 or SEC1 private key file in PEM format

Flags : Read / Write

Default value : NULL


protocols

“protocols” gchararray

Allowed lower transport protocols, in order of preference

Flags : Read / Write

Default value : udp-mcast,udp,tcp


receive-mtu

“receive-mtu” guint

Initial size of buffers to allocate in the buffer pool, will be increased if too small

Flags : Read / Write

Default value : 1508


timeout

“timeout” guint64

Timeout for network activity, in nanoseconds

Flags : Read / Write

Default value : 5000000000


tls-validation-flags

“tls-validation-flags” GstRtspSrc2TlsValidationFlags *

TLS certificate validation flags used to validate the server certificate

Flags : Read / Write

Default value : validate-all


Named constants

GstRtspSrc2TlsValidationFlags

Members

unknown-ca (0x00000001) – Signing certificate authority is not known.
bad-identity (0x00000002) – Certificate does not match the expected identity of the site that it was retrieved from.
not-activated (0x00000004) – Certificate's activation time is still in the future.
expired (0x00000008) – Certificate has expired.
revoked (0x00000010) – Certificate has been revoked.
insecure (0x00000020) – Certificate's algorithm is considered insecure.
generic-error (0x00000040) – Some other error occurred validating the certificate.
validate-all (0x0000007f) – Combination of all of the above flags.

The results of the search are