GstRtspSink - Live File Streaming
This wiki provides an example to live-stream a video recording through RTSP using GstRtspSink.
|
GstRtspSink Pipeline
The following pipeline takes a MP4 file containing a H264 video and a AAC audio elementary streams and streams them through RTSP using GstRtspSink.
PORT=12345
MAPPING=/stream
FILE=/var/media/videos/recording.mp4
gst-launch-1.0 rtspsink name=sink service=${PORT} appsink0::sync=true appsink1::sync=true qtdemux name=demux \
filesrc location=${FILE} ! demux. \
demux. ! queue ! aacparse ! audio/mpeg,mapping=${MAPPING} ! sink. \
demux. ! queue ! h264parse ! video/x-h264,mapping=${MAPPING} ! sink.
RTSP Clients
VLC
IP_ADDRESS=192.0.0.1
PORT=12345
MAPPING=stream
vlc rtsp://${IP_ADDRESS}:${PORT}/${MAPPING}
GStreamer
IP_ADDRESS=127.0.0.1
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=127.0.0.1
PORT=12345
MAPPING=stream
mplayer rtsp://${IP_ADDRESS}:${PORT}/${MAPPING}
Totem
IP_ADDRESS=127.0.0.1
PORT=12345
MAPPING=stream
totem rtsp://${IP_ADDRESS}:${PORT}/${MAPPING}