ristsrc

This element implements RIST TR-06-1 Simple Profile receiver. The stream produced by this element will be RTP payloaded. This element also implements the URI scheme rist:// allowing to render RIST streams in GStreamer based media players. The RIST URI handler also allows setting properties through the URI query.

It also implements part of the RIST TR-06-2 Main Profile receiver. The tunneling, multiplexing and encryption parts of the specification are not included. This element will accept the RIST RTP header extension and restore the null MPEG-TS packets if the extension is included. It will not currently use the sequence number extension when sending RTCP NACK requests.

Example gst-launch line

 gst-launch-1.0 ristsrc address=0.0.0.0 port=5004 ! rtpmp2tdepay ! udpsink
 gst-play-1.0 "rist://0.0.0.0:5004?receiver-buffer=700"

Additionally, this element supports link bonding, which means it can receive the same stream from multiple addresses. Each address will be mapped to its own RTP session. In order to enable bonding support, one need to configure the list of addresses through "bonding-addresses" properties.

Example gst-launch line for bonding

 gst-launch-1.0 ristsrc bonding-addresses="10.0.0.1:5004,11.0.0.1:5006" ! rtpmp2tdepay ! udpsink
 gst-play-1.0 "rist://0.0.0.0:5004?bonding-addresses=10.0.0.1:5004,11.0.0.1:5006"

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──ristsrc

Implemented interfaces

Factory details

Authors: – Nicolas Dufresne

Classification:Source/Network

Rank – primary

Plugin – rist

Package – GStreamer Bad Plug-ins

Pad Templates

src

application/x-rtp:

Presencealways

Directionsrc

Object typeGstPad


Properties

address

“address” gchararray

Address to receive packets from (can be IPv4 or IPv6).

Flags : Read / Write

Default value : 0.0.0.0


bonding-addresses

“bonding-addresses” gchararray

Comma (,) separated list of

: to receive from. Only used if 'enable-bonding' is set.

Flags : Read / Write

Default value : 0.0.0.0:5004


cname

“cname” gchararray

Set the CNAME in the SDES block of the receiver report.

Flags : Read / Write

Default value : NULL


max-rtcp-bandwidth

“max-rtcp-bandwidth” gdouble

The maximum bandwidth used for RTCP as a fraction of RTP bandwdith

Flags : Read / Write / Construct

Default value : 0.05


max-rtx-retries

“max-rtx-retries” guint

The maximum number of retransmission requests for a lost packet.

Flags : Read / Write / Construct

Default value : 7


min-rtcp-interval

“min-rtcp-interval” guint

The minimum interval (in ms) between two successive RTCP packets

Flags : Read / Write / Construct

Default value : 100


multicast-iface

“multicast-iface” gchararray

The multicast interface to use to send packets.

Flags : Read / Write

Default value : NULL


multicast-loopback

“multicast-loopback” gboolean

When enabled, the packets will be received locally.

Flags : Read / Write / Construct

Default value : false


multicast-ttl

“multicast-ttl” gint

The multicast time-to-live parameter.

Flags : Read / Write / Construct

Default value : 1


port

“port” guint

The port to listen for RTP packets, the RTCP port is this value + 1. This port must be an even number.

Flags : Read / Write / Construct

Default value : 5004


receiver-buffer

“receiver-buffer” guint

Buffering duration (in ms)

Flags : Read / Write / Construct

Default value : 1000


reorder-section

“reorder-section” guint

Time to wait before sending retransmission request (in ms)

Flags : Read / Write / Construct

Default value : 70


stats

“stats” GstStructure *

Statistic in a GstStructure named 'rist/x-receiver-stats'

Flags : Read

Default value :

rist/x-receiver-stats, dropped=(guint64)0, received=(guint64)0, recovered=(guint64)0, permanently-lost=(guint64)0, duplicates=(guint64)0, retransmission-requests-sent=(guint64)0, rtx-roundtrip-time=(guint64)0, session-stats=(GValueArray)< "rist/x-receiver-session-stats\,\ session-id\=\(int\)0\,\ rtp-from\=\(string\)\"\"\,\ rtcp-from\=\(string\)\"\"\,\ dropped\=\(guint64\)0\,\ received\=\(guint64\)0\;" >;

stats-update-interval

“stats-update-interval” guint

The interval between 'stats' update notification (in ms) (0 disabled)

Flags : Read / Write / Construct

Default value : 0


The results of the search are