<div dir="ltr"><div><div><div><div>Bonjour Nicolas!<br><br></div>Merci pour votre reponse!<br></div>Thanks so much for taking the time to answer.<br></div>I'm a little lost in that last part of your suggestion.<br>To make things a little quicker to debug i am now running everything on the command line and i have removed the valve and the intra-refresh element.<br><br></div><div>As suspected i still see the long delay, here is my setup:<br><br></div><div>UDP STREAM SERVER (COMMAND LINE):<br>gst-launch -v -e v4l2src device=/dev/video1 norm=PAL ! videoscale ! video/x-raw-rgb, width=720, height=576, pixel-aspect-ratio=1/1 ! \<br>ffmpegcolorspace ! tee name=videoTee \<br>videoTee. ! queue ! x264enc tune="zerolatency" threads=1 ! rtph264pay config-interval=2 ! udpsink port=8554 \<br>videoTee. ! queue ! x264enc tune="zerolatency" threads=1 ! rtph264pay config-interval=2 ! udpsink port=8555<br><br>MONITOR CLIENT (COMMAND LINE):<br>gst-launch -v udpsrc port=8555 ! application/x-rtp, payload=96 ! rtph264depay ! ffdec_h264 ! xvimagesink<br><br></div><div>PNG CREATOR CLIENT PIPELINE (PYTHON):<br>udpsrc port=8554 ! application/x-rtp, payload=96 ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! video/x-raw-rgb, bpp=24, width=720, height=576, pixel-aspect-ratio=1/1 ! pngenc snapshot=true compression-level=1 ! filesink location=/tmp/blah2.png<br><br></div><div>You are right that i am running on 0.10.<br></div><div>I'm not familiar with appsrc or pushing the buffer. Could you elaborate on what you mean?<br><br></div><div>Merci Beaucoup!!!!!<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 3:18 PM, Nicolas Dufresne <span dir="ltr"><<a href="mailto:nicolas.dufresne@collabora.com" target="_blank">nicolas.dufresne@collabora.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Le 2014-09-18 09:34, anno domini a écrit :<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
gst-launch -v -e v4l2src device=/dev/video1 norm=PAL ! videoscale ! video/x-raw-rgb, width=720, height=576, pixel-aspect-ratio=1/1 ! ffmpegcolorspace ! tee name=videoTee \<br>
videoTee. ! queue ! x264enc tune="zerolatency" threads=1 intra-refresh=true ! rtph264pay config-interval=2 ! udpsink port=8554<br>
</blockquote>
<br></span>
You may want to switch from intra-refresh toward periodic keyframe. The decoder is simply waiting until a full valid frame is available. Note this behaviour may have change if you move toward a recent GStreamer (you are using 0.10, which is unmaintained), you would endup with corrupted frame in your PNG (see avdec_h264 property output-corrupt). Also, note that the general valve approach is racy, and prevent you from taking a shot at a specific time since your decoder state is left undefined. Assuming you are always previewing this stream, you could set "enable-last-sample" on your display sink, and get the last-sample. On a second pipeline, using appsink, you could set the sample caps, push the buffer, send EOS, and you'd have a safe result instantly.<br>
<br>
Nicolas<br>
<br>
______________________________<u></u>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<u></u>freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/gstreamer-<u></u>devel</a><br>
</blockquote></div><br></div>