I have an IP Camera that supports RTSP streaming (most IP cameras seem to support it - Axis, Edimax, etc). This allows you to view mpeg4 or h264 live streams either by using a proprietary ActiveX control (via their web interface) or via a RTSP client. If you are in the same LAN as the camera, you can easily connect to it by using VLC or even ffmpeg (to save or transcode the stream): vlc rtsp://192.168.1.10/ipcamera_h264.sdp ffmpeg -i rtsp://192.168.1.10/ipcamera_h264.sdp test.ts ffmpeg -i rtsp://192.168.1.10/ipcamera_h264.sdp -f mpegts | vlc - The problem is if you want to access that camera over the Internet. RTSP usually transports the data over UDP and negotiates the UDP ports over a control session on port 554 TCP. This gets difficult if you use NAT at either end or if you have firewalls you need to get through. Let's consider this typical scenario: The packets need to go through 2 NATs to travel between the source and destination. To make this happen, y...