ristsink
This element implements RIST TR-06-1 Simple Profile transmitter. It currently supports any registered RTP static payload types such as MPEG TS. The stream passed to this element must be already RTP payloaded. Even though RTP SSRC collision are rare in unidirectional streaming, this element expects the upstream elements to obey to collision events and change the SSRC in use. Collisions will occur when transmitting and receiving over multicast on the same host, and will be properly ignored.
It also implements part of the RIST TR-06-2 Main Profile transmitter. The tunneling, multiplexing and encryption parts of the specification are not included. This element will include the RIST header extension if either of the "sequence-number-extension" or "drop-null-ts-packets" properties are set.
Example gst-launch line
gst-launch-1.0 udpsrc ! tsparse set-timestamps=1 smoothing-latency=40000 ! \
rtpmp2tpay ! ristsink address=10.0.0.1 port=5004
Additionally, this element supports bonding, which consist of using multiple links in order to transmit the streams. The address of each link is configured through the "bonding-addresses" property. When set, this will replace the value that might have been set on the "address" and "port" properties. Each link will be mapped to its own RTP session. RTX request are only replied to on the link the NACK was received from.
There are currently two bonding methods in place: "broadcast" and "round-robin". In "broadcast" mode, all the packets are duplicated over all sessions. While in "round-robin" mode, packets are evenly distributed over the links. One can also implement its own dispatcher element and configure it using the "dispatcher" property. As a reference, "broadcast" mode is implemented with the "tee" element, while "round-robin" mode is implemented with the "round-robin" element.
Example gst-launch line for bonding
gst-launch-1.0 udpsrc ! tsparse set-timestamps=1 smoothing-latency=40000 ! \
rtpmp2tpay ! ristsink bonding-addresses="10.0.0.1:5004,11.0.0.1:5006"
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBin ╰──ristsink
Implemented interfaces
Factory details
Authors: – Nicolas Dufresne Classification: – Rank – primary Plugin – rist Package – GStreamer Bad Plug-insSource/Network
Pad Templates
Properties
address
“address” gchararray
Address to send packets to (can be IPv4 or IPv6).
Flags : Read / Write
Default value : localhost
bonding-addresses
“bonding-addresses” gchararray
Comma (,) separated list of
:Flags : Read / Write
Default value : localhost:5004
bonding-method
“bonding-method” Rist-bonding-method-type *
Defines the bonding method to use.
Flags : Read / Write / Construct
Default value : broadcast (0)
cname
“cname” gchararray
Set the CNAME in the SDES block of the sender report.
Flags : Read / Write
Default value : NULL
dispatcher
“dispatcher” GstElement *
An element that takes care of multi-plexing bonded links. When set "bonding-method" is ignored.
Flags : Read / Write
drop-null-ts-packets
“drop-null-ts-packets” gboolean
Drop null MPEG-TS packet and replace them with a custom header extension.
Flags : Read / Write / Construct
Default value : false
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
min-rtcp-interval
“min-rtcp-interval” guint
The minimum interval (in ms) between two regular 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 packet 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 RTP packets will be sent, the RTCP port is this value + 1. This port must be an even number.
Flags : Read / Write / Construct
Default value : 5004
sender-buffer
“sender-buffer” guint
Size of the retransmission queue (in ms)
Flags : Read / Write / Construct
Default value : 1200
sequence-number-extension
“sequence-number-extension” gboolean
Add sequence number extension to packets.
Flags : Read / Write / Construct
Default value : false
stats
“stats” GstStructure *
Statistic in a GstStructure named 'rist/x-sender-stats'
Flags : Read
Default value :
rist/x-sender-stats, sent-original-packets=(guint64)0, sent-retransmitted-packets=(guint64)0, session-stats=(GValueArray)< "rist/x-sender-session-stats\,\ session-id\=\(int\)0\,\ sent-original-packets\=\(guint64\)0\,\ sent-retransmitted-packets\=\(guint64\)0\,\ round-trip-time\=\(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
Named constants
Rist-bonding-method-type
Members
broadcast
(0) – GST_RIST_BONDING_METHOD_BROADCAST
round-robin
(1) – GST_RIST_BONDING_METHOD_ROUND_ROBIN
The results of the search are