Live555 Proxy Server

Live555 Proxy Server

RTSP stream, proxying the stream 'rtsp://'.

This is improved version of LIVE555 Proxy Serverthat supports configuration files.

The 'LIVE555 Proxy Server' is a unicast RTSP server - built from the'LIVE555 Streaming Media' software - thatacts as a 'proxy' for one or more 'back-end' unicast or multicast RTSP/RTPstreams (i.e., served by other server(s)).

The key feature of a proxy server is that it reads each 'back-end' stream onlyonce, regardless of how many separate clients are streaming from the proxyserver. This makes the proxy server ideal, for example, for streaming froma RTSP-enabled video camera (which might not be able to handle more thanone connection at a time).

For more information see the official documentation.

Build instructions

(only linux-64bit is supported now)

  • Install latest version of vanilla LIVE555:

    • Debian/Ubuntu: sudo apt-get install livemedia-utils liblivemedia-dev
    • Arch Linux: sudo pacman -S live-media
    • from source (2018.09.10 was tested):
      • build using the official documentation:
      • install *.a libraries using sudo make install (you can put customDESTDIR in your live555 config file (not proxy config file!) or usesomething like checkinstall)
      • put LIBRARIES_DIR = /usr/local/lib to your config file
      • use LIB_SUFFIX = a in your config file

    Make sure the development files (e.g. /usr/include/liveMedia or/usr/local/include/liveMedia) are available

  • Copy config-example.linux-64bit to config.linux-64bit and edit it. Youmay want to replace LIBRARIES_DIR and INCLUDES_PREFIX or changethe compiler (see also example for Ubuntu 18.04 with gcc:config-example-ubuntu.linux-64bit)

    • Use LIB_SUFFIX = a for static linking
    • Use LIB_SUFFIX = so for dynamic linking
  • Generate Makefile using ./genMakefiles linux-64bit

  • make

  • Then live555ProxyServerEx executable file will be available

Live555 Proxy Server

Configuration file

While you can use command-line arguments as with vanilla live555ProxyServer,you also can create a configuration file and load it using -c config.cfgoption. It has INI format.

[general] section describes global options:

  • verbosity: 0 is default, 1 is equivalent to -v, 2 is equivalentto -V;

  • stream_rtp_over_tcp (boolean) is equivalent to -t;

  • try_standard_port_numbers (boolean): if 1 (default), then proxy servertries to use port 554 or 8554 if rtsp_server_port failed;

  • server_tunneling_over_http (boolean): if 1 (default), then proxy createsa HTTP server for RTSP-over-HTTP tunneling;

  • server_tunneling_over_http_port (0.65535): if 0 (default), then proxytries to use port 80, 8000 or 8080 for RTSP-over-HTTP tunneling; a non-zerovalue means the use of a specific port;

  • rtsp_server_port (1.65535, default 554) is equivalent to -p;

  • register_requests (boolean) is equivalent to -R;

  • username_for_register and password_for_register are equivalentto -U username password;

  • single_stream_name: name of the stream if there is only one proxied URL(default proxyStream);

    Nes game pack download. general: Fixed mouse cursor disappearing when interacting only with the GamePad window in fullscreen (#172). Here are the changes in version 1.15.13c:. general: Fixed GamePad view using the wrong resolution when opened before a game is launched. Cemu 1.15.13c releasedSeptember 3, 2019 byA new public version of the Wii U emulator Cemu has been released.

  • multiple_stream_name: names of the streams if there are multiple proxiedURLs, must have %d for stream number (default proxyStream-%d);

  • out_packet_max_size (unsigned integer): changesOutPacketBuffer::maxSize value. If you see something likeThe total received frame size exceeds the client's buffer size orThe input frame data was too large for our buffer size, you can tryto increase this value (default is 2000000 — 2 megabytes).

[auth] section is a list of usernames and passwords. If this is not empty,then proxy server will require authentication. Example:

[streams] section is a list of proxied streams. Every stream must have URLand stream name. Example:

These streams will be proxied as rtsp://[proxy_ip]:[proxy_port]/office andrtsp://[proxy_ip]:[proxy_port]/android_ipwebcam.

[streamparams] section has additional options for [streams] section. Theseoptions does not affect other config files or command-line arguments:

  • username and password are used for connection to proxied streams;

  • tunnel_over_http_port is equivalent to -T.

-u and -T command-line options affects only command-line streams.

[include] allows you to use multiple config files. They will be loadedin the specified order. Example:


Configuration in the files that were read later has higher priority. (Notethat [auth] sections will be merged and [streamparams] section affectsonly current file.)

Command-line arguments have higher priority than any config files.

Live555 Proxy Server
© 2020