GstRtspSink - Dual H264 Video Streaming: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{GstRtspSink/Head|previous=Advanced examples|next=Audio+Video_Streaming|metakeywords=}}
This wiki provides a dual H264 streaming example using GstRtspSink.
<br>
<br>
<table>
<table>
<tr>
<tr>
<td><div class="clear; float:right">__TOC__</div></td>
<td><div class="clear; float:right">__TOC__</div></td>
<td valign=top>
<td valign=top>
{{Debug Symbol}} Problems running the pipelines shown on this page?<br>Please see our [http://developer.ridgerun.com/wiki/index.php?title=GStreamer_Debugging GStreamer Debugging guide] for help.
{{GStreamer debug}}
</td>
</td>
</table>
</table>
{{GstRtspSink Page|
[[GstRtspSink - Simple Examples|Simple Examples]]|
[[GstRtspSink_-_Audio%2BVideo_Streaming|Audio & Video Streaming]]|
This wiki provides a dual H264 streaming example using GstRtspSink.
__TOC__


== GstRtspSink Pipeline ==
== GstRtspSink Pipeline ==
Line 24: Line 22:


gst-launch-1.0 rtspsink name=sink service=$PORT \
gst-launch-1.0 rtspsink name=sink service=$PORT \
v4l2src ! x264enc tune=zerolatency ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING1}" ! sink. \
v4l2src ! queue ! videoconvert ! x264enc tune=zerolatency ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING1}" ! sink. \
videotestsrc ! x264enc tune=zerolatency ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING2}" ! sink.
videotestsrc ! x264enc tune=zerolatency ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING2}" ! sink.
</syntaxhighlight>
</syntaxhighlight>


== RTSP Clients ==
== RTSP Clients ==
Line 33: Line 30:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
IP_ADDRESS=192.0.0.1
IP_ADDRESS=127.0.0.1
PORT=12345
PORT=12345
MAPPING1=stream1
MAPPING1=stream1
Line 48: Line 45:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
IP_ADDRESS=192.0.0.1
IP_ADDRESS=127.0.0.1
PORT=12345
PORT=12345
MAPPING1=stream1
MAPPING1=stream1
Line 63: Line 60:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
IP_ADDRESS=192.0.0.1
IP_ADDRESS=127.0.0.1
PORT=12345
PORT=12345
MAPPING1=stream1
MAPPING1=stream1
Line 78: Line 75:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
IP_ADDRESS=192.0.0.1
IP_ADDRESS=127.0.0.1
PORT=12345
PORT=12345
MAPPING1=stream1
MAPPING1=stream1
Line 89: Line 86:
totem rtsp://${IP_ADDRESS}:${PORT}/${MAPPING2}
totem rtsp://${IP_ADDRESS}:${PORT}/${MAPPING2}
</syntaxhighlight>
</syntaxhighlight>
}}
 
 
{{GstRtspSink/Foot|previous=Advanced examples|next=Audio+Video_Streaming}}

Latest revision as of 21:28, 25 April 2024



Previous: Advanced examples Index Next: Audio+Video_Streaming




This wiki provides a dual H264 streaming example using GstRtspSink.

Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help.

GstRtspSink Pipeline

The following pipeline sends two different H264 streams through two different mappings: stream1 and stream2. Any of them can be accessed independently.

PORT=12345
MAPPING1=/stream1
MAPPING2=/stream2

gst-launch-1.0 rtspsink name=sink service=$PORT \
v4l2src ! queue ! videoconvert ! x264enc tune=zerolatency ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING1}" ! sink. \
videotestsrc ! x264enc tune=zerolatency ! h264parse ! capsfilter caps="video/x-h264, mapping=${MAPPING2}" ! sink.

RTSP Clients

VLC

IP_ADDRESS=127.0.0.1
PORT=12345
MAPPING1=stream1
MAPPING2=stream2

# Stream 1
vlc rtsp://${IP_ADDRESS}:${PORT}/${MAPPING1}

# Stream 2
vlc rtsp://${IP_ADDRESS}:${PORT}/${MAPPING2}

GStreamer

IP_ADDRESS=127.0.0.1
PORT=12345
MAPPING1=stream1
MAPPING2=stream2

# Stream 1
gst-launch-1.0 rtspsrc location=rtsp://${IP_ADDRESS}:${PORT}/${MAPPING1} ! rtph264depay ! h264parse ! avdec_h264 ! queue ! autovideosink

# Stream 2
gst-launch-1.0 rtspsrc location=rtsp://${IP_ADDRESS}:${PORT}/${MAPPING2} ! rtph264depay ! h264parse ! avdec_h264 ! queue ! autovideosink

MPlayer

IP_ADDRESS=127.0.0.1
PORT=12345
MAPPING1=stream1
MAPPING2=stream2

# Stream 1
mplayer rtsp://${IP_ADDRESS}:${PORT}/${MAPPING1}

# Stream 2
mplayer rtsp://${IP_ADDRESS}:${PORT}/${MAPPING2}

Totem

IP_ADDRESS=127.0.0.1
PORT=12345
MAPPING1=stream1
MAPPING2=stream2

# Stream 1
totem rtsp://${IP_ADDRESS}:${PORT}/${MAPPING1}

# Stream 2
totem rtsp://${IP_ADDRESS}:${PORT}/${MAPPING2}



Previous: Advanced examples Index Next: Audio+Video_Streaming