tcpserversink to gst-rtsp-server with RTSP.

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

tcpserversink to gst-rtsp-server with RTSP.

Dhananjay Jadhav
Hello Everyone,
                   I am trying to send sample videotestsrc on tcpserversink
using below command:-
 gst-launch-1.0 -v videotestsrc ! video/x-raw, format=RGB, framerate=30/1,
width=1000, height=1000 ! gdppay ! tcpserversink port=53515
                   At Client side  I am using ./test-launch "( tcpclientsrc
port=53515 !  gdpdepay  ! videoconvert name=pay0 pt=96 )" command from
git://anongit.freedesktop.org/gstreamer/gst-rtsp-server,example section as
mentioned in
https://www.raspberrypi.org/forums/viewtopic.php?t=49278&p=664616.I have
changed source from rasberry pi input to videotestsrc.
                   When i telnet for port 53515 i am able to receive the
data.But client side once the script is launched stream ready at
rtsp://127.0.0.1:8554/test starts.When i telnet the port i am unable to
receive the data.
                  If i use ./test-launch "( videotestsrc ! x264enc !
rtph264pay name=pay0 pt=96 )" for gst-rtsp-server, i am able to receive the
data.
                  As i am new to gstreamer any help would be appreciated.
Regards,
Dhananjay Jadhav



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

Gst-Geek
You are trying to transmit raw video over rtp which is not possible.

The below pipeline should work for you
./test-launch "( tcpclientsrc
port=53515 !  gdpdepay  ! videoconvert ! x264enc ! rtph264pay name=pay0
pt=96 )"

put appropriate filter bw gdpdepay   and videoconvert  if required.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

sk_gst
In reply to this post by Dhananjay Jadhav
You need to be more detailed in your question. I could not understand what
you exactly are looking for.

But one suggestion:
1. You should use udp for video streaming, because tcp waits for
aknowledgements and will introduce latency.
2. I think you need a IP address and not only a port number when sending
using tcp at the server side. I may be wrong here as well.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

Dhananjay Jadhav
In reply to this post by Gst-Geek
Thanks for response actually i am trying to to send tcp stream as

gst-launch-1.0 -v videotestsrc ! x264enc ! rtph264pay ! tcpserversink
host=127.0.0.1 port=53515

and receiving it as per your suggestion as

./test-launch "( tcpclientsrc host=127.0.0.1 port=53515 ! gdpdepay  !
videoconvert ! x264enc ! rtph264pay name=pay0 pt=96 )"

When I play it on VLC playere i think it is showing as i can see seekbar
moving but no video is shown,Sorry for ignorance but what filter should i
use  bw gdpdepay  and videoconvert.




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

Dhananjay Jadhav
In reply to this post by sk_gst
Thanks for response actually i am trying to send tcp stream as

gst-launch-1.0 -v videotestsrc ! x264enc ! rtph264pay ! tcpserversink
host=127.0.0.1 port=53515

and receiving it as

./test-launch "( tcpclientsrc host=127.0.0.1 port=53515 ! gdpdepay  !
videoconvert ! x264enc ! rtph264pay name=pay0 pt=96 )"

As per your first point i need to send it over TCP as it is what we want and
as per second point i have even tried with port number.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

Gst-Geek
In reply to this post by Dhananjay Jadhav
Hi Dhanajay,

Below flow worked for me.

gst-launch-1.0  videotestsrc is-live=true ! video/x-raw,
format=I420,framerate=30/1,width=640,height=360 ! tcpserversink port=53515

 GST_DEBUG=3 ./test-launch "( tcpclientsrc port=53515 !  videoparse
format=i420 framerate=30/1 width=640 height=360 ! videoconvert ! x264enc
tune=4 key-int-max=60 ! video/x-h264,profile=baseline ! rtph264pay name=pay0
pt=96 )"


I am not sure about the gdp payload functionality. It is creating problem
here. When I removed payloader and depayloader it worked smoothly.

Check if this helps you



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

Dhananjay Jadhav
Hello ShilVin,

Thanks,The flow which you mention worked.

Now i am trying below command where fdsrc is source from android device:-

gst-launch-1.0 fdsrc do-timestamp=true ! h264parse ! decodebin !
tcpserversink host=127.0.0.1 port=4953

When i Telnet on port 4953 i am able to receive the data.After that i am
launching gst-rtsp-server as follows :-

./test-launch "( tcpclientsrc host=127.0.0.1 port=4953 ! gdpdepay !
rtph264pay name=pay0 pt=96 )"

but i am getting error Logs:-

0:00:22.257583995 25336       0x6db230 WARN               rtspmedia
rtsp-media.c:2058:wait_preroll: failed to preroll pipeline
0:00:22.257633979 25336       0x6db230 WARN               rtspmedia
rtsp-media.c:2264:gst_rtsp_media_prepare: failed to preroll pipeline
0:00:22.262315726 25336 0x7f0e20020f20 WARN                 basesrc
gstbasesrc.c:2865:gst_base_src_loop:<tcpclientsrc0> error: Internal data
flow error.
0:00:22.262358530 25336 0x7f0e20020f20 WARN                 basesrc
gstbasesrc.c:2865:gst_base_src_loop:<tcpclientsrc0> error: streaming task
paused, reason error (-5)
0:00:22.263406036 25336       0x6db230 ERROR             rtspclient
rtsp-client.c:602:find_media: client 0x83b8a0: can't prepare media
0:00:22.263590122 25336       0x6db230 ERROR             rtspclient
rtsp-client.c:1807:handle_describe_request: client 0x83b8a0: no media

Please can you help i have been stuck on this.Can you please suggest the
pipeline.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversink to gst-rtsp-server with RTSP.

Gst-Geek
Hi Dhananjaya

Try to understand how your the stream ingestion pipeline work. The ingestion
pipeline should match the input you are giving.

below should work.
gst-launch-1.0 fdsrc do-timestamp=true ! h264parse ! tcpserversink
host=127.0.0.1 port=4953

./test-launch "( tcpclientsrc host=127.0.0.1 port=4953 ! h264parse !
rtph264pay name=pay0 pt=96 )"

above input is h264 and the ingestion pipeline is to capture h264 and put
rtp pay loader.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel