<div dir="auto">Hi<div dir="auto">Do you really need gdpay? The RTP should be enough.</div><div dir="auto"><br></div><div dir="auto">About your tee element you need to add queue element after the tee.</div><div dir="auto">About the latency the queue element need some tweak for lowering the latency but if your latency is 150 ms is good.</div><div dir="auto"><br></div><div dir="auto">Best</div><div dir="auto">Matteo</div><br><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">On Oct 26, 2017 04:52, "Gary Thomas" <<a href="mailto:gary.thomas@piksel.com">gary.thomas@piksel.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I suggest you add queue elements downstream from the tee. I do something similar with RPi and the receive pipeline I use is:<br>
<br>
gst-launch-1.0 tcpclientsrc host=pizero1 port=5000 ! gdpdepay ! rtph264depay ! h264parse ! tee name=parsed parsed. ! queue ! avdec_h264 ! autovideosink sync=false parsed. ! queue ! mpegtsmux ! filesink location=cam.ts<br>
<font color="#888888"><br>
Gary<br>
</font><div class="elided-text"><br>
-----Original Message-----<br>
From: gstreamer-devel [mailto:<a href="mailto:gstreamer-devel-bounces@lists.freedesktop.org">gstreamer-devel-<wbr>bounces@lists.freedesktop.org</a>] On Behalf Of waymond91<br>
Sent: 26 October 2017 08:52<br>
To: <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
Subject: Raspberry Pi Low-Latency Stream with GStreamer<br>
<br>
Hello All!<br>
I am trying to setup a raspberry pi as a low latency network camera (max.<br>
latency 200ms).<br>
In an ideal world, the raspberry pi would read the camera, send it over wifi to a host pc.<br>
This host PC would both display the video stream and save it to a file.<br>
A key aspect that I am really struggling with is:<br>
I would like the displayed image to be saved to a file that included a timestamp of when an individual frame was actually displayed.<br>
That being said, this is my first time doing any video processing whatsoever.<br>
I was able to find and build a gstreamer source for the pi camera from the git repository here:<br>
<a href="https://github.com/thaytan/gst-rpicamsrc" rel="noreferrer" target="_blank">https://github.com/thaytan/<wbr>gst-rpicamsrc</a><br>
<br>
This seems to work. With the raspberry pi I am able to start a network pipeline with the following command:<br>
*$ gst-launch-1.0 rpicamsrc bitrate=1000000 \<br>
! 'video/x-h264,width=640,<wbr>height=480' \<br>
! h264parse \<br>
! queue \<br>
! rtph264pay config-interval=1 pt=96 \<br>
! gdppay \<br>
! udpsink host=[MY IP] port=5000*<br>
<br>
And on my host PC I can display a live stream with about 150mS latency with:<br>
*$ gst-launch-1.0 udpsrc port=5000 \<br>
! gdpdepay \<br>
! rtph264depay \<br>
! avdec_h264 \<br>
! videoconvert \<br>
! autovideosink sync=false*<br>
<br>
Or save the stream with:<br>
*$ gst-launch-1.0 udpsrc port=5000 \<br>
! gdpdepay \<br>
! rtph264depay \<br>
! avdec_h264 \<br>
! videoconvert \<br>
! filesink location=video.h264*<br>
<br>
So I am beginning to feel like I am on track.<br>
Ultimately, however, I feel like I need to decode the h264 into some other format (MP4?) so that I can actually start displaying and saving individual frames and associating them with the current time (or at the least the time between frames).<br>
At the very least, I would like to be able to save and display the h264 stream with one pipeline.<br>
<br>
On my host side, I have tried a tee element like so:<br>
*$ gst-launch-1.0 udpsrc port=5000 \<br>
! gdpdepay \<br>
! rtph264depay \<br>
! avdec_h264 \<br>
! videoconvert \<br>
! tee name = t \<br>
t. ! autovideosink sync=false \<br>
t. ! filesink location=tee.h264*<br>
<br>
However, the video stream freezes up shortly after initialization. Any ideas of how I can fix this?<br>
Any ideas of how I can save the decoded, displayed frames and the time it was displayed? I don't mind doing a little post-processing to get this lined up correctly :P Any ideas on how to cut latency?<br>
<br>
Thanks again for the help!<br>
PS Sorry I couldn't get code tags to work...<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.<wbr>n4.nabble.com/</a><br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
</div></blockquote></div><br></div></div>