<div dir="ltr"><div><div>Thanks again Nicolas,<br><br></div>Having removed the intra-refresh and applied a key-int-max seems to provide exactly what i need for now.<br></div><div>I can refine and enhance things later.<br></div><div><br></div>Thanks so much for all your help!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 4:17 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 11:07, 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">
Bonjour Nicolas!<br>
<br>
Merci pour votre reponse!<br>
Thanks so much for taking the time to answer.<br>
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>
As suspected i still see the long delay, here is my setup:<br>
<br>
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>
</blockquote>
<br></span>
Ideally replacing the intra-refresh would be better. The options is key-int-max, if you want a key frame every 2 seconds (to match your config-interval), and a frame rate of 30 fps, then key-int-max=60 should do.<span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
MONITOR CLIENT (COMMAND LINE):<br>
gst-launch -v udpsrc port=8555 ! application/x-rtp, payload=96 ! rtph264depay ! ffdec_h264 ! xvimagesink<br>
<br>
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>
</blockquote></span>
What I mean with a seperate pipeline is:<br>
<br>
appsrc ! videoconvert ! pngenc ! filesink ...<br>
<br>
When you want to take a shot, just get the property "last-sample" from the xvimagsink from the monitor client, and pass the caps and buffer from the obtained GstSample to the appsrc. Then send EOS, a PNG shall be created. This way, you don't need so many key frames per second, and can get a shot on a non-keyframe. This obviously require some C writing.<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
You are right that i am running on 0.10.<br>
I'm not familiar with appsrc or pushing the buffer. Could you elaborate on what you mean?<br>
</blockquote></span>
appsrc is a element that comes with an API. It's made for application that want to insert or extra buffer into/from a pipeline and do their own processing.<br>
<br>
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html" target="_blank">http://gstreamer.freedesktop.<u></u>org/data/doc/gstreamer/head/<u></u>gst-plugins-base-libs/html/<u></u>gst-plugins-base-libs-appsrc.<u></u>html</a><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Merci Beaucoup!!!!!<br>
</blockquote>
cordialement,<div class="HOEnZb"><div class="h5"><br>
Nicolas<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>
</div></div></blockquote></div><br></div>