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"
In order to use a dynamic payload type the element needs to be able to set the correct caps. It can be done through setting the caps property or one can use the encoding-name property and the element can work out the caps from it.
Example pipelines for sending and receiving dynamic payload
gst-launch-1.0 videotestsrc ! videoconvert ! x264enc ! h264parse ! \
rtph264pay ! ristsink address=127.0.0.1 port=5000
Encode and payload H264 video from videotestsrc. The H264 RTP packets are sent on port 5000.
gst-launch-1.0 ristsrc address=0.0.0.0 port=5000 encoding-name="h264" ! \
rtph264depay ! h264parse ! matroskamux ! filesink location=h264.mkv
] Receive and depayload the H264 video via RIST.
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: – Rank – primary Plugin – rist Package – GStreamer Bad Plug-insSource/Network
Pad Templates
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
: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
encoding-name
“encoding-name” gchararray
Set the encoding name of the stream to use. This is a short-hand for the full caps and maps typically to the encoding-name in the RTP caps.
Flags : Read / Write
Default value : NULL
Since : 1.24
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