<div dir="ltr">I also tried to add the rtpjitterbuffer on my laptop (receiver) so that the command was <b> C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v udpsrc port=5600 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=f </b><div>And on my raspberry i tried the raspicamsrc as you proposed so that the command is <b>gst-launch-1.0 rpicamsrc bitrate=1000000 ! 'video/x-h264,width=640,height=480,framerate=25/1,profile=baseline' ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=xxx.xxx.xxx.xxx port=5600</b></div><div>I don't know what timestamps and metadata are and how and which ones i should provide. So with those commands i still got dropped frames and pixelized images..<br><br>I think my priority would be to make it work with the SRT protocol..As far as i have read, they say it provides very nice performance. I feel i am too close.. It's just that i don't know how to make gstreamer find the SRT libraries although they are already installed..</div><div><br></div><div>I also read now that there was a Gstreamer conference that took place in Thessaloniki.. :)</div><div><br></div><div>Thank you</div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 8, 2020 at 8:05 PM apostolis paraschoudis <<a href="mailto:aparashoudis@gmail.com">aparashoudis@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear Sebastian,<div><br></div><div>thanks for your responses.. I hope you are enjoying your time here especially now that it is like summer.. </div><div>I'm just trying to accomplish a video streaming between raspberry camera and a computer without much latency and without having dropped frames and pixelated images.. The video streaming will be between a drone (raspberry is on the drone) and a computer so i need a clean image without a lot of latency..</div><div><br></div><div>I'm not familiar with gstreamer at all.. I have no programming experience.. So its more difficult for me to achieve my goal.. I just search over the internet and try several commands other people have used so far until i find one that works adequately.. </div><div><br></div><div>So after searching i found the github page of a guy named Jan Schmidt which as far as i understood he works for gstreamer.. And raspicamsrc that you proposed, can be found on his github page and i have already installed it.. That guy Jan, after he saw how i am currently streaming video (same commands that i told you in my previous email) ,he proposed me to use the SRT protocol. Yesterday he replied to me saying:</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font color="#ff9900">Without some kind of retransmission, packet loss will always cause trouble like that. You need to switch away from a raw RTP stream, really.<br>If you have a recent enough GStreamer available, look at using the SRT protocol for streaming instead.</font></blockquote><p>So yesterday i searched how i can do video streaming with raspberry camera using gstreamer with SRT protocol.. And luckily i found a guy in github that has already done exactly what i want to do.. His page <a href="https://github.com/PietroAvolio/Building-Gstreamer-Raspberry-Pi-With-SRT-Support" target="_blank">https://github.com/PietroAvolio/Building-Gstreamer-Raspberry-Pi-With-SRT-Support</a></p><p>So i followed his instructions which are quite straightforward even for novice users and i was almost sure that finally i will make things work. He actually says to install SRT from the SRT github page, then execute a script that installs several Gstreamer things and then install the RPICAMSRC element. After doing all these, once i give in raspberry the command:</p><div style="box-sizing:border-box;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px"><pre style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:13.6px;margin-top:0px;margin-bottom:0px;padding:16px;overflow:auto;line-height:1.45;background-color:rgb(246,248,250);border-radius:3px;word-break:normal">gst-launch-1.0 -v rpicamsrc preview=true sensor-mode=5 bitrate=8000000<span style="box-sizing:border-box;color:rgb(215,58,73)">!</span> video/x-h264,width=1640,height=922,framerate=40/1,profile=baseline <span style="box-sizing:border-box;color:rgb(215,58,73)">!</span> mpegtsmux <span style="box-sizing:border-box;color:rgb(215,58,73)">!</span> srtsink uri=srt://:8888</pre></div><p>I get the error <b>WARNING: erroneous pipeline: no element "srtsink"</b></p><p><b><br></b></p><p>As far as I understood i am close to make it run, I just feel that the Gstreamer cannot see the srtsink plugin , although I followed the instructions to install SRT. I guess Gstreamer is looking for srtsink in different locations than where SRT is actually installed. When i run <b>gst-inspect-1.0 srt </b> , i get no results.. When i run <b> gst-inspect-1.0 x264</b> i get results for this plugin and for several other plugins i tried. </p><p>DO you know how can i fix this ?? Probably its something easy and i just dont know how to fix it.. How to make Gstreamer see the srt plugin.. </p><p>Unfortunately , i cannot contact that guy that wrote this process with Raspberry camera, srt and gstreamer.. I cannot find his email..</p><p><br></p><p>I would really appreaciate if you could propose any fix for this .. Thanks a lot</p><p><br></p><p>Best Regards,</p><p><br></p><p><br></p></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 8, 2020 at 12:05 PM Sebastian Dröge <<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, 2020-05-07 at 22:13 +0300, apostolis paraschoudis wrote:<br>
> Hello,<br>
> <br>
> Unfortunately I am not an advanced user with raspberries , Gstreamer<br>
> and networks and I couldn't find a solution to my problem in several<br>
> forums (i couldn't find any dedicated forum for Gstreamer ! ) . <br>
> I am trying to transmit video from my rapsberry camera (connected to<br>
> RPI 3 B+) to my windows laptop through gstreamer.<br>
> <br>
> In my laptop i give the command :<br>
> gst-launch-1.0.exe -v udpsrc port=5600 caps=“application/x-rtp,<br>
> media=(string)video, clock-rate=(int)90000, encoding-<br>
> name=(string)H264” ! rtph264depay ! avdec_h264 ! videoconvert !<br>
> autovideosink sync=f<br>
> <br>
> and on my raspberry the command:<br>
> raspivid -n -w 1280 -h 720 -b 1000000 -fps 15 -t 0 -o - | gst-launch-<br>
> 1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=10 pt=96 !<br>
> udpsink host=xxx.xxx.xxx.xxx port=5600<br>
<br>
There are two things to improve here, on both sides.<br>
<br>
For the receiver, can you add an `rtpjitterbuffer` element between the<br>
`udpsrc` and the `rtph264depay`? That would allow for some buffering,<br>
fix up packet reordering and create more useful timestamps, among other<br>
things.<br>
<br>
On the sender side I would recommend using the `rpicamsrc` element from<br>
<a href="https://github.com/thaytan/gst-rpicamsrc" rel="noreferrer" target="_blank">https://github.com/thaytan/gst-rpicamsrc</a><br>
instead of piping the `raspivid` output to `gst-launch-1.0`. That's<br>
going to work more robust and reliable, and also provide better<br>
timestamp and other metadata to GStreamer.<br>
<br>
Once changing that it should work better, maybe already well enough.<br>
<br>
-- <br>
Sebastian Dröge, Centricular Ltd · <a href="https://www.centricular.com" rel="noreferrer" target="_blank">https://www.centricular.com</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>
</blockquote></div>