[Live-devel] posting for live555proxyServer

Ross Finlayson finlayson at live555.com
Thu May 31 13:36:28 PDT 2018


Steve,

I’m having a hard time understanding exactly what it is you’re trying to do, but from your first paragraph, I suspect that you may be misunderstanding how the RTSP/RTP/RTCP protocols work, and how they relate to the HTTP protocol (in short, they  don’t).

> My objectives for using the live555ProxyServer are to create rtsp-and-rtp-tunneled-over-http H.264 video streams that can traverse firewalls using a single, statically chosen public port, and so that I can use a Cloud-based, Apache web server as a http proxy server to make that http stream available to multiple viewing clients on the Internet simultaneously. 

The “LIVE555 Proxy Server” is a proxy for the RTSP protocol only.  It doesn’t provide any way for a stream to be displayed in a web browser - because web browsers do not handle the RTSP protocol.  While it’s true that RTSP/RTP/RTCP *can* be tunneled over port 80 (or 8080 or 8000), in a way that makes the protocol appear superficially to be HTTP, this is done only as a trick to bypass some firewalls.  The RTSP server (i.e., your IP camera) has to be able understand this tunneling mechanism (many don’t), and in any case, the resulting data is nothing that can be displayed in a web browser.

In short, if you want to display video in a web browser, the the "LIVE555 Proxy Server” is not going to help you.


>         1) live555ProxyServer keeps adding a new track, for no obvious reason, about once a minute when I view proxyStream in the VLC viewing client, causing VLC to stop playing the stream, from which it does not automatically resume playing. (I'm not using tunneling with the VLC viewing client for this test.) In contrast, the VLC viewing client can display the stream for long periods when it accesses the stream that is input to live555ProxyServer. The message I get whenever viewing proxyStream drops out, is:
> 
> ProxyServerMediaSession[rtsp://127.0.0.1:9554/] added new "ProxyServerMediaSubsession" for RTP/video/H264 track
> 
> Why does live555ProxyServer keep adding a new subsession, and how do I stop it so VLC does not keep dropping out ?

I don’t know.  I'd need to see the entire diagnostic output (using the “-V” option); not just this one message.


>         2) I cannot view the stream when I change the rtsp server port used by live555ProxyServer. I use this command:
> 
> /home/live/proxyServer/live555ProxyServer -V -p 10000 rtsp://127.0.0.1:9554/
> 
> netstat -a -n reports that port 10000 is in use when live555ProxyServer is active.

If you do this (change the RTSP server port to a value other than its default value of 554), then you need to add the port number to the URL that you give to your ‘front-end’ client (e.g., VLC) - e.g.
	rtsp://127.0.0.1:10000/proxyStream
If you do this, it should work.


> 
>         3) live555ProxyServer reports connection to server failed, connection refused, when I try to change the http server port used by live555ProxyServer, so I am not able to change the http port. I use this command:
> 
> /home/live/proxyServer/live555ProxyServer -V -T 8100 rtsp://127.0.0.1:9554/
> 
> How can I change the http port ?

You are changing it.  But note that this is the port used for tunneling (RTSP-over-HTTP) to the *back-end* server (CVLC in your case).  It works only if the back-end server supports it (and is using the same port).  CVLC apparently doesn’t.

Instead, you might want to use our “LIVE555 Media Server” <http://www.live555.com/mediaServer/> as your ‘back-end’ RTSP server, instead of CVLC.  When the media server starts up, it tells you what port it uses for (optional) RTSP-over-HTTP tunneling.


>         4) When I configure the VLC viewing client to tunnel using http (tools > preferences > show settings all > input / codecs > demuxers > rtp/rtsp > check (only) tunnel rtsp over http, and keep the default http tunneling port of 80), I can view the stream on my LAN using rtsp://<live555ProxyServer ip address on my LAN>/proxyStream. However, I cannot view it using a http:// URL.

That’s right, because the protocol being used is still RTSP, not HTTP (it just looks superficially like HTTP).  As I noted above, the “LIVE555 Proxy Server” does not give you a “http://“ URL that can be played by a web browser.


> What http URL should I use ?

None - as noted above.


> And, if I pass the tunneling port of 80 through my router, for both tcp and udp, to the Internet, I cannot view the stream from the Internet, so http tunneling does not seem to be working after all. How do I fix this ?

No idea.  Perhaps your ISP is blocking incoming port 80 (because it doesn’t want you running an HTTP server on your network)??


>         5) If http tunneling were working and I pass it through my router using a single static port number, presumably using only tcp, what http URL would I tell a distant apache web server to proxy ?

Once again, none.  This is RTSP, not HTTP.


>         6) Is there a way for live555ProxyServer to take a stream from a pipe instead of a rtsp server

No, because then it wouldn’t be a RTSP *proxy* server.  You can, however, configure our RTSP server (*not* the proxy server application) to take its input from a pipe; see
	http://live555.com/liveMedia/faq.html#liveInput-unicast



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




More information about the live-devel mailing list