green artifacts at start, h264 rtsp

Aleix Conchillo FlaquƩ aconchillo at gmail.com
Wed Oct 8 10:19:25 PDT 2014


On Wed, Oct 8, 2014 at 8:01 AM, Swen Kooij <sk at bigbrother.nl> wrote:

>   Hello everyone
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> On the server we are using the following pipeline description:
>
>
>
> ( rtspsrc latency=150 location=rtsp://
> 10.0.10.64/ONVIF/MediaInput?profile=bb_h264_256 ! queue ! rtph264depay !
> rtph264pay name=pay0 pt=96 )
>
>
>
> And we are starting gst-launch like this:
>
>
>
> gst-launch-1.0.exe rtspsrc location=rtsp://localhost:8554/1_bb_h264_512
> latency=0 buffer-mode=auto ! decodebin ! autovideosink
>
>
>
> 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.
>
>
>

​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.

Take a look at:

  https://bugzilla.gnome.org/show_bug.cgi?id=711257

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.

Aleix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141008/970bc762/attachment.html>


More information about the gstreamer-devel mailing list