<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Dec 30, 2013, at 8:24 AM, Rémi Denis-Courmont <<a href="mailto:remi@remlab.net">remi@remlab.net</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">No, you cannot use RTSP unicast UDP behind a NAT. You have modified both the <br>client and the server in proprietary ways to achieve NAT traversal. This is <br>not RTSP unicast UDP; it is a proprietary protocol that looks like RTSP.<br></blockquote></div><br><div>Rémi is correct.  There is no reliable, general-purpose way to use standards-compliant RTSP streaming RTP/UDP across a NAT.  It's true that there *are* some hacks that you can do to increase your chance of this working, on *some* NATs.  For example, the LIVE555 RTSP client code (and thus, VLC's RTSP client) does, indeed, transmit a couple of 'dummy' packets (previously, after the "SETUP" response; but in recent versions, before each "PLAY" request, in case the "PLAY" follows a long "PAUSE" (which was what got Gilles started, before he hijacked this email thread; remember the "Subject:" line).  But this is not standards-compliant (i.e., not all clients can be expected to do this), and it's not reliable (e.g., the dummy packets might get lost).  But it can help for *some* NATs (e.g., those who don't modify the port numbers, so that the 'outer' port number (to use Rémi's terminology) is the same as the 'inner' port number, even though the IP address changes).</div><div><br></div><div>Gilles has also made another hack to *his* server to recognize the port number of these incoming 'dummy' packets, and use this to set the port number for his server's outgoing RTP packets.  As both Rémi and I have noted to Gilles, this is non-standard and potentially insecure, and I certainly won't be adding it to the LIVE555 RTSP server implementation, and I assume that VLC won't be adding it to their RTSP server implementation either.  But yes, Gilles, has hacked *his* server (just a hobbyist project, from what I can tell) so that it happens to work behind *his* NAT with *some* clients.  Congratulations, Gilles, but please stop wasting our time harping on about this.  (The VLC developers and I have real work to do :-)</div><div><br></div><div><br></div><div>Now, to get back to the original topic of this email thread: The (small) patch that I provided (to the "modules/access/live555.cpp" code) fixes a problem (introduced between versions 2.0.9 and 2.1.0) that had prevented subtitles tracks from working properly.  FYI.</div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>