<html>
<font face="Courier New, Courier">Ross, thank you for your quick
reply.<br>
<br>
I'm trying to create a H.264 video stream that looks like it comes from
an IP camera using rtsp-and-rtp-tunneled-over-http. I'm not trying to
view it in a browser. Since you explained that the stream does not really
use http, then it is not feasible to use a web server to proxy it, which
I wanted to do to for networking reasons to change its IP address. So
I'll set that objective aside.<br>
<br>
Referring to my initial 6 questions:<br>
<br>
<b>1) live555ProxyServer adds a new subsession, causing VLC to stop
displaying streams. <br>
<br>
</b>Here's the console log you requested. I see a line, received RTCP
bye, which precedes creation of the new subsession. Note that as I view
the stream from live555ProxyServer, I also view the stream that is input
to live555ProxyServer. The input stream plays without interruption, so
it's not clear where the 'bye' comes from that seems to be creating the
problem:<br>
<br>
root@N:/home/live/proxyServer# ./live555ProxyServer -V -p 10000
<a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a><br>
LIVE555 Proxy Server<br>
        (LIVE555 Streaming Media
library version 2017.10.28; licensed under the GNU LGPL)<br>
<br>
Created new TCP socket 4 for connection<br>
Connecting to 127.0.0.1, port 9554 on socket 4...<br>
RTSP stream, proxying the stream
"<a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a>"<br>
        Play this stream using the
URL:
<a href="rtsp://192.168.192.203:10000/proxyStream" eudora="autourl">rtsp://192.168.192.203:10000/proxyStream</a><br>
<br>
(We use port 80 for optional RTSP-over-HTTP tunneling.)<br>
...remote connection opened<br>
Sending request: DESCRIBE
<a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a>
RTSP/1.0<br>
CSeq: 2<br>
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2017.10.28)<br>
Accept: application/sdp<br>
<br>
<br>
Received 543 new bytes of response data.<br>
Received a complete DESCRIBE response:<br>
RTSP/1.0 200 OK<br>
Server: VLC/2.0.3<br>
Date: Fri, 01 Jun 2018 16:08:53 GMT<br>
Content-Type: application/sdp<br>
Content-Base: <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a><br>
Content-Length: 344<br>
Cache-Control: no-cache<br>
Cseq: 2<br>
<br>
v=0<br>
o=- 16049683471436592680 16049683471436592680 IN IP4 Northshore-12<br>
s=Unnamed<br>
i=N/A<br>
c=IN IP4 0.0.0.0<br>
t=0 0<br>
a=tool:vlc 2.0.3<br>
a=recvonly<br>
a=type:broadcast<br>
a=charset:UTF-8<br>
a=control:rtsp://127.0.0.1:9554/<br>
m=video 0 RTP/AVP 96<br>
b=RR:0<br>
a=rtpmap:96 H264/90000<br>
a=fmtp:96 packetization-mode=1<br>
a=control:rtsp://127.0.0.1:9554/trackID=0<br>
<br>
ProxyServerMediaSession[rtsp://127.0.0.1:9554/] added new "ProxyServerMediaSubsession" for RTP/video/H264 track<br>
Sending request: OPTIONS <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a> RTSP/1.0<br>
CSeq: 3<br>
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2017.10.28)<br>
<br>
<br>
Received 124 new bytes of response data.<br>
Received a complete OPTIONS response:<br>
RTSP/1.0 200 OK<br>
Server: VLC/2.0.3<br>
Content-Length: 0<br>
Cseq: 3<br>
Public: DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER<br>
<br>
<br>
ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]::createNewStreamSource(session id 0)<br>
        Initiated: ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]<br>
ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]::createNewRTPSink()<br>
ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]::closeStreamSource()<br>
ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]::createNewStreamSource(session id 1539566957)<br>
Sending request: SETUP <a href="rtsp://127.0.0.1:9554/trackID=0" eudora="autourl">rtsp://127.0.0.1:9554/trackID=0</a> RTSP/1.0<br>
CSeq: 4<br>
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2017.10.28)<br>
Transport: RTP/AVP;unicast;client_port=38752-38753<br>
<br>
<br>
ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]::createNewRTPSink()<br>
Received 270 new bytes of response data.<br>
Received a complete SETUP response:<br>
RTSP/1.0 200 OK<br>
Server: VLC/2.0.3<br>
Date: Fri, 01 Jun 2018 16:09:27 GMT<br>
Transport: RTP/AVP/UDP;unicast;client_port=38752-38753;server_port=43575-43576;ssrc=34A59586;mode=play<br>
Session: 9d111644d5b71e17;timeout=60<br>
Content-Length: 0<br>
Cache-Control: no-cache<br>
Cseq: 4<br>
<br>
<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]::continueAfterSETUP(): head codec: H264; numSubsessions 1<br>
        queue:  H264<br>
Sending request: PLAY <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a> RTSP/1.0<br>
CSeq: 5<br>
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2017.10.28)<br>
Session: 9d111644d5b71e17<br>
<br>
<br>
Received 267 new bytes of response data.<br>
Received a complete PLAY response:<br>
RTSP/1.0 200 OK<br>
Server: VLC/2.0.3<br>
Date: Fri, 01 Jun 2018 16:09:27 GMT<br>
RTP-Info: url=rtsp://127.0.0.1:9554/trackID=0;seq=26960;rtptime=2390743085<br>
Range: npt=5206.075624-<br>
Session: 9d111644d5b71e17;timeout=60<br>
Content-Length: 0<br>
Cache-Control: no-cache<br>
Cseq: 5<br>
<br>
<br>
Sending request: OPTIONS <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a> RTSP/1.0<br>
CSeq: 6<br>
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2017.10.28)<br>
Session: 9d111644d5b71e17<br>
<br>
<br>
Received 124 new bytes of response data.<br>
Received a complete OPTIONS response:<br>
RTSP/1.0 200 OK<br>
Server: VLC/2.0.3<br>
Content-Length: 0<br>
Cseq: 6<br>
Public: DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER<br>
<br>
<br>
<b>ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]: received RTCP "BYE".  (The back-end stream has ended.)<br>
</b>ProxyServerMediaSubsession[rtsp://127.0.0.1:9554/,H264]::closeStreamSource()<br>
ProxyRTSPClient::scheduleReset<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]::doReset<br>
ProxyServerMediaSubsession[(NULL),H264]::closeStreamSource()<br>
ProxyServerMediaSubsession[(NULL),H264]::~ProxyServerMediaSubsession()<br>
Created new TCP socket 4 for connection<br>
Connecting to 127.0.0.1, port 9554 on socket 4...<br>
...remote connection opened<br>
Sending request: DESCRIBE <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a> RTSP/1.0<br>
CSeq: 7<br>
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2017.10.28)<br>
Accept: application/sdp<br>
<br>
<br>
Received 543 new bytes of response data.<br>
Received a complete DESCRIBE response:<br>
RTSP/1.0 200 OK<br>
Server: VLC/2.0.3<br>
Date: Fri, 01 Jun 2018 16:10:27 GMT<br>
Content-Type: application/sdp<br>
Content-Base: <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a><br>
Content-Length: 344<br>
Cache-Control: no-cache<br>
Cseq: 7<br>
<br>
v=0<br>
o=- 16049683876953695881 16049683876953695881 IN IP4 Northshore-12<br>
s=Unnamed<br>
i=N/A<br>
c=IN IP4 0.0.0.0<br>
t=0 0<br>
a=tool:vlc 2.0.3<br>
a=recvonly<br>
a=type:broadcast<br>
a=charset:UTF-8<br>
a=control:rtsp://127.0.0.1:9554/<br>
m=video 0 RTP/AVP 96<br>
b=RR:0<br>
a=rtpmap:96 H264/90000<br>
a=fmtp:96 packetization-mode=1<br>
a=control:rtsp://127.0.0.1:9554/trackID=0<br>
<br>
ProxyServerMediaSession[rtsp://127.0.0.1:9554/] added new "ProxyServerMediaSubsession" for RTP/video/H264 track<br>
<br>
<b>2. Changing the rtsp output port used by live555ProxyServer is OK now. I had viewed the wrong URL.<br>
<br>
3. live555ProxyServer does not handle -T <http_port_number> correctly. <br>
<br>
</b>Here's the console log you requested. Note the many resets and connections refused, and that port 8100 is available according to netstat -a -n:<br>
<br>
root@N:/home/live/proxyServer# ./live555ProxyServer -V -p 10000 -T 8100 <a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a><br>
LIVE555 Proxy Server<br>
        (LIVE555 Streaming Media library version 2017.10.28; licensed under the GNU LGPL)<br>
<br>
Created new TCP socket 4 for connection<br>
Connecting to 127.0.0.1, port 8100 on socket 4...<br>
RTSP stream, proxying the stream "<a href="rtsp://127.0.0.1:9554/" eudora="autourl">rtsp://127.0.0.1:9554/</a>"<br>
        Play this stream using the URL: <a href="rtsp://192.168.192.203:10000/proxyStream" eudora="autourl">rtsp://192.168.192.203:10000/proxyStream</a><br>
<br>
(We use port 80 for optional RTSP-over-HTTP tunneling.)<br>
...Connection to server failed: Connection refused<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]: RTSP "DESCRIBE" command failed; trying again in 1 seconds<br>
Created new TCP socket 4 for connection<br>
Connecting to 127.0.0.1, port 8100 on socket 4...<br>
ProxyRTSPClient::connectToServer calling scheduleReset()<br>
ProxyRTSPClient::scheduleReset<br>
...Connection to server failed: Connection refused<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]: RTSP "DESCRIBE" command failed; trying again in 2 seconds<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]::doReset<br>
Created new TCP socket 4 for connection<br>
Connecting to 127.0.0.1, port 8100 on socket 4...<br>
...Connection to server failed: Connection refused<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]: RTSP "DESCRIBE" command failed; trying again in 1 seconds<br>
Created new TCP socket 4 for connection<br>
Connecting to 127.0.0.1, port 8100 on socket 4...<br>
ProxyRTSPClient::connectToServer calling scheduleReset()<br>
ProxyRTSPClient::scheduleReset<br>
...Connection to server failed: Connection refused<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]: RTSP "DESCRIBE" command failed; trying again in 2 seconds<br>
ProxyRTSPClient[rtsp://127.0.0.1:9554/]::doReset<br>
Created new TCP socket 4 for connection<br>
<br>
<b>This repeats indefinitely.<br>
<br>
4. Cannot view stream with http URL. <br>
<br>
</b>Fixed as you described by using a RTSP URL.<br>
<br>
<b>5. Cannot view http stream from Internet. <br>
<br>
</b>I consider this a near-ultimate test since the router blocks access to other streams. I forwarded private port 80 from the machine with live555ProxyServer to public port 8100, for both tcp and udp, for the LAN IP address used by the machine with live555ProxyServer. I know my ISP is not blocking http traffic because I have a web server on my LAN that is accessible from the Internet via public port 8000. I set up access to the tunneled stream in VLC and can view the tunneled stream directly from the machine with live555ProxyServer. I used the configuration in question 1 above (so it's without -T xxxx). On my LAN, I used the following URL in VLC to try to view the stream via the Internet, without success: <a href="rtsp:///" eudora="autourl">rtsp://</a><my public IP address>:8100/proxyStream. A similar procedure for viewing a web server on my LAN via the Internet, works. How do I fix this ?<br>
<br>
<b>6. Regarding a pipe, I'll worry about this later.<br>
<br>
7. (new) Is it necessary to place a trailing "/" after each rtsp source in the command line ?<br>
<br>
</b>-- NewtownGuy<br>
<br>
</font></html>