Discussion:
[Live-devel] RTSP streaming with port forwading
Indu Girish
2018-11-19 06:41:39 UTC
Permalink
Hi,

We are developing an android app to stream media from an IP camera.
We are running a proxy server in android to multiplex the camera stream.
Proxied stream is displayed on the app using VLC and another RTSP client is
running in android to send the stream to a third party service.
This setup works fine if the ip camera and andriod phone are in the same
network.

But when we use port forwading to connect to a remote camera, VLC display
works fine, but the second RTSP client running in android stops streaming
in 65 sec.

Why this is happening only with port forwading? Please help.

Thanks & Regards,
Indu
Ross Finlayson
2018-11-19 06:49:41 UTC
Permalink
But when we use port forwading to connect to a remote camera, VLC display works fine, but the second RTSP client running in android stops streaming in 65 sec.
This (a RTSP stream timeout after 65 seconds) probably means that RTCP “RR” (reception report) packets from the client are not reaching the proxy server. You should make sure that
1/ Your RTSP client is sending RTCP “RR” packets. (If your RTSP client uses our “RTSPClient” class, then this should happen automatically), and
2/ You don’t have a firewall - between your client and server - that is blocking the RTCP “RR” packets. (Note that, usually, RTCP packets use the same port number as RTP, plus one.)


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
Indu Girish
2018-11-19 07:01:37 UTC
Permalink
Hi Ross,

Thank you for the quick response.

My RTSPClient is based on your "testRTSPClient.cpp".
I will check about the reception of RR packets.

Thanks & Regards,
Indu
Post by Indu Girish
But when we use port forwading to connect to a remote camera, VLC
display works fine, but the second RTSP client running in android stops
streaming in 65 sec.
This (a RTSP stream timeout after 65 seconds) probably means that RTCP
“RR” (reception report) packets from the client are not reaching the proxy
server. You should make sure that
1/ Your RTSP client is sending RTCP “RR” packets. (If your RTSP client
uses our “RTSPClient” class, then this should happen automatically), and
2/ You don’t have a firewall - between your client and server - that is
blocking the RTCP “RR” packets. (Note that, usually, RTCP packets use the
same port number as RTP, plus one.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
http://lists.live555.com/mailman/listinfo/live-devel
Indu Girish
2018-11-20 12:23:33 UTC
Permalink
Hi Ross,

My RTSPClient and ProxyServer are running from the same live555 library in
android phone. Does it make any issue?
Problem occurs only when connected to a remote camera.

Thanks & Regards,
Indu
Post by Indu Girish
Hi Ross,
Thank you for the quick response.
My RTSPClient is based on your "testRTSPClient.cpp".
I will check about the reception of RR packets.
Thanks & Regards,
Indu
Post by Indu Girish
But when we use port forwading to connect to a remote camera, VLC
display works fine, but the second RTSP client running in android stops
streaming in 65 sec.
This (a RTSP stream timeout after 65 seconds) probably means that RTCP
“RR” (reception report) packets from the client are not reaching the proxy
server. You should make sure that
1/ Your RTSP client is sending RTCP “RR” packets. (If your RTSP client
uses our “RTSPClient” class, then this should happen automatically), and
2/ You don’t have a firewall - between your client and server - that is
blocking the RTCP “RR” packets. (Note that, usually, RTCP packets use the
same port number as RTP, plus one.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
http://lists.live555.com/mailman/listinfo/live-devel
Indu Girish
2018-11-21 08:35:44 UTC
Permalink
Hi Ross,

I have split the Proxyserver and RTSPClient into two separate libraries.
Now my RTSPClient is able to stream continuously.
So RTSPClient and ProxyServer running from the same live555 library is an
issue? Why it is so?
Then how it is working in normal case, i.e. camera and proxyserver are in
same network?

Thanks & Regards,
Indu
Post by Indu Girish
Hi Ross,
My RTSPClient and ProxyServer are running from the same live555 library in
android phone. Does it make any issue?
Problem occurs only when connected to a remote camera.
Thanks & Regards,
Indu
Post by Indu Girish
Hi Ross,
Thank you for the quick response.
My RTSPClient is based on your "testRTSPClient.cpp".
I will check about the reception of RR packets.
Thanks & Regards,
Indu
Post by Indu Girish
But when we use port forwading to connect to a remote camera, VLC
display works fine, but the second RTSP client running in android stops
streaming in 65 sec.
This (a RTSP stream timeout after 65 seconds) probably means that RTCP
“RR” (reception report) packets from the client are not reaching the proxy
server. You should make sure that
1/ Your RTSP client is sending RTCP “RR” packets. (If your RTSP client
uses our “RTSPClient” class, then this should happen automatically), and
2/ You don’t have a firewall - between your client and server - that is
blocking the RTCP “RR” packets. (Note that, usually, RTCP packets use the
same port number as RTP, plus one.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
http://lists.live555.com/mailman/listinfo/live-devel
Ross Finlayson
2018-11-21 19:57:14 UTC
Permalink
Post by Indu Girish
Hi Ross,
I have split the Proxyserver and RTSPClient into two separate libraries. Now my RTSPClient is able to stream continuously.
That’s good. Then you should keep doing that.

Note that you *cannot* use the LIVE555 code as a single shared library, used by two (or more) separate threads of control. See
http://live555.com/liveMedia/faq.html#threads
(which is part of the FAQ that everyone was asked to read before posting to this mailing list.)


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

Loading...