<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">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 class="gmail-highlight gmail-highlight-source-shell" 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 class="gmail-pl-k" style="box-sizing:border-box;color:rgb(215,58,73)">!</span> video/x-h264,width=1640,height=922,framerate=40/1,profile=baseline <span class="gmail-pl-k" style="box-sizing:border-box;color:rgb(215,58,73)">!</span> mpegtsmux <span class="gmail-pl-k" 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">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>