<div dir="ltr"><div class="gmail_extra">On Wed, Oct 8, 2014 at 8:01 AM, Swen Kooij <span dir="ltr"><<a href="mailto:sk@bigbrother.nl" target="_blank">sk@bigbrother.nl</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">







<div link="#0563C1" vlink="#954F72" lang="EN-US">
<p></p>
<div>
<p class="MsoNormal">Hello everyone<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We’re using the gstreamer rtsp plugin (gst-rtsp-server) and gst-launch to play a H.264 video stream from a security camera. We’ve configured the RTSP server to share the streams.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">However, when I open a stream using gst-launch, I observe a green overlay (looks like artifacts) that is displayed for about 1-2 seconds and then the stream becomes visible and everything is normal and there are no artifacts during the
 remainder of the stream.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">On the server we are using the following pipeline description:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">( rtspsrc latency=150 location=rtsp://<a href="http://10.0.10.64/ONVIF/MediaInput?profile=bb_h264_256" target="_blank">10.0.10.64/ONVIF/MediaInput?profile=bb_h264_256</a> ! queue ! rtph264depay ! rtph264pay name=pay0 pt=96 )<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">And we are starting gst-launch like this:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">gst-launch-1.0.exe rtspsrc location=rtsp://localhost:8554/1_bb_h264_512 latency=0 buffer-mode=auto ! decodebin ! autovideosink<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Does anyone know what is the cause of this and how we might resolve it? I’ve attached a screenshot to clarify what we observed.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p></div></div></blockquote><div><br><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">​I think the problem is that you are probably using dynamic pads (dynpayN), probably having a decodebin, in gst-rtsp-server​. This will cause the pipeline to push buffers to figure out the kind of stream, allocating the dynamic pads, the payload, etc. (preparing the media). However, these initial buffers (which have an initial keyframe) will not get pushed to the clients because the transports are not configured yet. So, your clients won't receive the initial keyframe and the decoder will return you the green frames (or other artifacts) until you get the next keyframe. If you write your own client you can check for the buffer flag GST_BUFFER_FLAG_CORRUPTED and don't render those buffers.<br><br>Take a look at:<br><br>  <a href="https://bugzilla.gnome.org/show_bug.cgi?id=711257">https://bugzilla.gnome.org/show_bug.cgi?id=711257</a><br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">I think the bug only fixed the gst-rtsp-server static pads. May be I'm missing something, it's been a while since I don't look into this.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline"></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">Aleix<br><br></div></div></div></div></div>