GstRtspSink - Multicast Audio Video
This example combines audio and video under one mapping and serves the session through multicast. It is useful for synchronized one-to-many distribution on multicast-capable networks.
Why this layout is different
The stream contains both audio and video under one mapping, but delivery is optimized for many receivers through multicast.
The multicast clients can't be on the same machine as the server. Please use at least 2 machines (one as a server and one as a client). |
GstRtspSink Pipeline
The following pipeline combines an H264 video and an AAC audio stream into a single mapping and serves it to a multicast group found between 239.255.255.253 and 239.255.255.255 and a port between 5000 and 6000.
PORT=12345
MAPPING=/stream
IP_MIN=239.255.255.253
IP_MAX=239.255.255.255
PORT_MIN=5000
PORT_MAX=6000
TTL=128
gst-launch-1.0 rtspsink name=sink \
service=$PORT multicast=true multicast-ip-min=${IP_MIN} multicast-ip-max=${IP_MAX} \
multicast-port-min=${PORT_MIN} multicast-port-max=${PORT_MAX} multicast-ttl=${TTL} \
v4l2src device=/dev/video0 ! "video/x-raw,width=640,height=480" ! queue ! videoconvert ! \
queue ! x264enc key-int-max=10 ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING}" ! sink. \
audiotestsrc ! queue ! audioconvert ! queue ! voaacenc ! aacparse ! capsfilter caps="audio/mpeg, mapping=${MAPPING}" ! sink.
RTSP Clients
VLC
IP_ADDRESS=<IP ADDRESS OF HOST>
PORT=12345
MAPPING=stream
vlc rtsp://${IP_ADDRESS}:${PORT}/${MAPPING}
GStreamer
IP_ADDRESS=<IP ADDRESS OF HOST>
PORT=12345
MAPPING=stream
gst-launch-1.0 rtspsrc location=rtsp://${IP_ADDRESS}:${PORT}/${MAPPING} name=src \
src. ! rtph264depay ! h264parse ! avdec_h264 ! queue ! autovideosink \
src. ! rtpmp4adepay ! aacparse ! avdec_aac ! queue ! autoaudiosink
MPlayer
IP_ADDRESS=<IP ADDRESS OF HOST>
PORT=12345
MAPPING=stream
mplayer rtsp://${IP_ADDRESS}:${PORT}/${MAPPING}
Totem
IP_ADDRESS=<IP ADDRESS OF HOST>
PORT=12345
MAPPING=stream
totem rtsp://${IP_ADDRESS}:${PORT}/${MAPPING}
Summary
Use multicast audio and video when many receivers need the same synchronized presentation on a multicast-capable LAN.
Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help.
Related pages
* GstRtspSink
- GstRtspSink - Basic usage
- GstRtspSink - Simple Examples
- GstRtspSink - Advanced examples
- GStreamer Debugging