rtspsrc over tcp protocols not work

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

rtspsrc over tcp protocols not work

diyin
When I set the rtsp server with 16384 kbps H264 stream,the rtspsrc over tcp
protocols can not work,
howevre it can work  over udp protocols.
when I set 16384 kbps H264 stream,rtspsrc can work over tcp protocols.

But VLC can work both over tcp and udp on 16384 kbps, so what happend to the
rtspsrc?

The pipeline is
gst-launch-1.0 rtspsrc location=rtsp://admin:admin@44.120.46.193:554
protocols=GST_RTSP_LOWER_TRANS_TCP ! fakesink

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin:admin@44.120.46.193:554
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not
read from resource.
Additional debug info:
gstrtspsrc.c(4662): gst_rtspsrc_loop_interleaved ():
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not receive message. (Parse error)
Execution ended after 0:00:00.165014528
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing 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: rtspsrc over tcp protocols not work

Sebastian Dröge-3
On Tue, 2019-08-06 at 22:49 -0500, diyin wrote:
> When I set the rtsp server with 16384 kbps H264 stream,the rtspsrc
> over tcp
> protocols can not work,
> howevre it can work  over udp protocols.
> when I set 16384 kbps H264 stream,rtspsrc can work over tcp
> protocols.
>
> But VLC can work both over tcp and udp on 16384 kbps, so what happend
> to the rtspsrc?

What software is the server and which GStreamer version are you using?

Can you get a wireshark dump of the communication between GStreamer and
the server and create an issue in gitlab with that? I have some guesses
what the problem here is.

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: rtspsrc over tcp protocols not work

Nicolas Dufresne-5
In reply to this post by diyin


Le mer. 7 août 2019 05 h 25, diyin <[hidden email]> a écrit :
When I set the rtsp server with 16384 kbps H264 stream,the rtspsrc over tcp
protocols can not work,
howevre it can work  over udp protocols.
when I set 16384 kbps H264 stream,rtspsrc can work over tcp protocols.

But VLC can work both over tcp and udp on 16384 kbps, so what happend to the
rtspsrc?

The pipeline is
gst-launch-1.0 rtspsrc location=rtsp://admin:admin@44.120.46.193:554
protocols=GST_RTSP_LOWER_TRANS_TCP ! fakesink

Try rtspt://



Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin:admin@44.120.46.193:554
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not
read from resource.
Additional debug info:
gstrtspsrc.c(4662): gst_rtspsrc_loop_interleaved ():
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not receive message. (Parse error)
Execution ended after 0:00:00.165014528
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...




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

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

Re: rtspsrc over tcp protocols not work

diyin
In reply to this post by Sebastian Dröge-3
The rtsp server is a ip camera.The gstreamer version is v1.8.3.
Here is the wireshark pcapng,the rtsp server ip is 44.120.46.193,my device
ip is 44.120.46.78.
rtspovertcp.pcapng
<http://gstreamer-devel.966125.n4.nabble.com/file/t378764/rtspovertcp.pcapng>  
Thanks a lot!



--
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: rtspsrc over tcp protocols not work

diyin
In reply to this post by Nicolas Dufresne-5
Thanks. I have tried rtspt:// ,still not work



--
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: rtspsrc over tcp protocols not work

Sebastian Dröge-3
In reply to this post by diyin
On Mon, 2019-08-12 at 04:56 -0500, diyin wrote:
> The rtsp server is a ip camera.The gstreamer version is v1.8.3.

That's a very old version. I would recommend updating, even if this
won't solve your specific problem here it would at least solve lots of
others. Including security issues in the RTSP code.

> Here is the wireshark pcapng,the rtsp server ip is 44.120.46.193,my
> device
> ip is 44.120.46.78.
> rtspovertcp.pcapng
> <
> http://gstreamer-devel.966125.n4.nabble.com/file/t378764/rtspovertcp.pcapng
> >  
> Thanks a lot!

Can you create a gitlab issue with that?

I only looked shortly now but this looks like yet another server that
sends broken data.

What happens here if I see it correctly is that after packet 195 the
packets that are sent by the server are broken. After the interleaved
RTP packet sent in packet 195 there's some garbage, and that garbage
continues from there on. I assume somewhere in the garbage there are
still some interleaved RTP packets but it's not allowed in RTSP to send
random garbage between valid RTSP messages. I believe ffmpeg/VLC have
some resyncing code for this, we currently don't do that (because it's
simply a broken server!) but it would probably make sense to add some
code for trying to recover from such situations.

As you can see, wireshark also starts failing to parse all packets
after 195, which happens for the same reason.


My guess is that this is another live555-based RTSP server. I saw this
kind of bug with many of them in the past, and so far none of the
camera/etc vendors I'm aware of bothered to fix it on their side
because "it works in VLC".

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: rtspsrc over tcp protocols not work

diyin
ok, i will create a issure on gitlib! how can solve this issure with current
gstreamer version



--
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: rtspsrc over tcp protocols not work

Sebastian Dröge-3
On Mon, 2019-08-12 at 08:03 -0500, diyin wrote:
> ok, i will create a issure on gitlib! how can solve this issure
> with current gstreamer version

You can't without any code changes like the ones I mentioned in the
previous mail. Sorry

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: rtspsrc over tcp protocols not work

diyin
Thanks.
I decide to install new version gstreamer.
And I create a issues on gitlab
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/641
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/641>  



--
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: rtspsrc over tcp protocols not work

geek80
In reply to this post by diyin
I'm facing the same issue on gst  1.18.0. version

Please find my pcap report.





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