question about raspberry camera video straming with gstreamer

apostolis paraschoudis aparashoudis at gmail.com
Sat May 9 00:55:14 UTC 2020


I also tried to add the  rtpjitterbuffer  on my laptop (receiver)  so that
the command  was * 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   *
And on my raspberry i tried the raspicamsrc as you proposed so that the
command is  *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*
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..

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..

I also read now that there was a Gstreamer conference that took place in
Thessaloniki.. :)

Thank you


On Fri, May 8, 2020 at 8:05 PM apostolis paraschoudis <
aparashoudis at gmail.com> wrote:

> Dear Sebastian,
>
> thanks for your responses.. I hope you are enjoying your time here
> especially now that it is like summer..
> 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..
>
> 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..
>
> 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:
>
> Without some kind of retransmission, packet loss will always cause trouble
>> like that. You need to switch away from a raw RTP stream, really.
>> If you have a recent enough GStreamer available, look at using the SRT
>> protocol for streaming instead.
>
> 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
> https://github.com/PietroAvolio/Building-Gstreamer-Raspberry-Pi-With-SRT-Support
>
> 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:
>
> gst-launch-1.0 -v rpicamsrc preview=true sensor-mode=5 bitrate=8000000! video/x-h264,width=1640,height=922,framerate=40/1,profile=baseline ! mpegtsmux ! srtsink uri=srt://:8888
>
> I get the error   *WARNING: erroneous pipeline: no element "srtsink"*
>
>
> 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   *gst-inspect-1.0
> srt * , i get no results.. When i run  * gst-inspect-1.0 x264*   i get
> results for this plugin and for several other plugins i tried.
>
> 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..
>
> Unfortunately , i cannot contact that guy that wrote this process with
> Raspberry camera, srt and gstreamer.. I cannot find his email..
>
>
> I would really appreaciate if you could propose any fix for this .. Thanks
> a lot
>
>
> Best Regards,
>
>
>
>
> On Fri, May 8, 2020 at 12:05 PM Sebastian Dröge <sebastian at centricular.com>
> wrote:
>
>> On Thu, 2020-05-07 at 22:13 +0300, apostolis paraschoudis wrote:
>> > Hello,
>> >
>> > Unfortunately I am not an advanced user with raspberries , Gstreamer
>> > and networks and I couldn't find a solution to my problem in several
>> > forums (i couldn't find any dedicated forum for Gstreamer ! ) .
>> > I am trying to transmit video from my rapsberry camera (connected to
>> > RPI 3 B+) to my windows laptop through gstreamer.
>> >
>> > In my laptop i give the command :
>> > gst-launch-1.0.exe -v udpsrc port=5600 caps=“application/x-rtp,
>> > media=(string)video, clock-rate=(int)90000, encoding-
>> > name=(string)H264” ! rtph264depay ! avdec_h264 ! videoconvert !
>> > autovideosink sync=f
>> >
>> > and on my raspberry the command:
>> > raspivid -n -w 1280 -h 720 -b 1000000 -fps 15 -t 0 -o - | gst-launch-
>> > 1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=10 pt=96 !
>> > udpsink host=xxx.xxx.xxx.xxx port=5600
>>
>> There are two things to improve here, on both sides.
>>
>> For the receiver, can you add an `rtpjitterbuffer` element between the
>> `udpsrc` and the `rtph264depay`? That would allow for some buffering,
>> fix up packet reordering and create more useful timestamps, among other
>> things.
>>
>> On the sender side I would recommend using the `rpicamsrc` element from
>>   https://github.com/thaytan/gst-rpicamsrc
>> instead of piping the `raspivid` output to `gst-launch-1.0`. That's
>> going to work more robust and reliable, and also provide better
>> timestamp and other metadata to GStreamer.
>>
>> Once changing that it should work better, maybe already well enough.
>>
>> --
>> Sebastian Dröge, Centricular Ltd · https://www.centricular.com
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200509/587ebe95/attachment-0001.htm>


More information about the gstreamer-devel mailing list