Skip to main content

Pulling streams into MistServer

Pulling a stream means having MistServer input a stream hosted somewhere else. The only thing you need to do in order to make these streams available is point MistServer at the address to ingest. If the input is supported it will be made available when possible.

For a list of pull inputs look here: pull inputs

DTSC pull input

DTSC pull can be used to pull streams over DDVTech's propriatary DTSC protocol. This is the most efficient means to pull a stream from another MistServer instance. You'll need to configure the source as:

dtsc://host[:port][/streamname[+wildcard]]

Both port and stream name are optional. The port will default to 4200 and the stream name will default to the local stream name. If the local stream is requested with a wildcard and there is not a wildcard in the DTSC url it will be appended to it.

Some examples:

  • dtsc://1.2.3.4 will pull from ip 1.2.3.4 and requests its own name.

  • dtsc://1.2.3.4/video will pull from ip 1.2.3.4 and will pull stream video and all of its wildcard streams, serving it under the set name with the wildcard names added to it.

  • dtsc://1.2.3.4/video+vid_01 will pull from ip 1.2.3.4 and only pull the wildcard stream vid_01, serving it under the set name

In order to pull from a MistServer instance you will need to activate the DTSC protocol at the "protocol panel". If activated any stream available on the server is available for DTSC pull under the selected port. Note that currently, only pulling live streams is thoroughly tested. Video on Demand support is still considered experimental.

Using a DTSC pull means the same optional supplemental settings become available as for RTMP/RTSP push input.

RTSP pull input

RTSP pull can be used to pull streams from other systems using RTSP in client mode over either TCP or UDP transport. To use it you'll need to configure the source as:

rtsp://[account:password@]host[:port][/path]

Account and password can be used for authentication, if not set no authentication will be attempted. Port if not set will default to the default 554, the default RTSP port. Path is the location of the stream on the system, which is often used as a steam identifier, if not set it defaults to empty.

some examples:

  • rtsp://1.2.3.4/video will pull from ip 1.2.3.4 using port 554 and requests the stream available at path video

  • rtsp://myaccount:mypassword@1.2.3.4:5678/videoMain will pull from 1.2.3.4 using myaccount:mypassword for authentication, using port 5678 and requests the stream available at path videoMain

HLS pull input

MistServer supports HLS input, both in VoD and live modes, both from disk and over HTTP. To input from disk, simply set the source to the index m3u or m3u8 file. Only TS-based HLS streams are currently supported (this is the most common type).

When pulling over HTTP (HTTPS is currently unsupported --- but will be in the future at some point), you'll need to configure the source as: http://host/path/to/playlist.m3u8 The stream must start with http:// and end in .m3u or .m3u8 for MistServer to recognize the HLS format correctly. In HTTP mode the stream is always treated as a live stream, even if the playlist file indicates otherwise. Multi bit rate streams are maintained as such, with all qualities available and adaptive bit rate switching enabled for all supporting protocols.

TS UDP input

TS UDP input can be used to have MistServer listen for a stream on the selected host/port over UDP. Both unicast and Multicast can be used. Since listening for TS UDP input is a continous process you'll need to "stop sessions" if you edit the source. You'll need to configure the source as:

tsudp://[host]:port[/interface[,interface[,...]]]

Both host and interface are optional. The host will default to all hosts available when not set, interface will default to all available interfaces when not set. The interface should be given as the IP address of the interface.

Some examples:

  • tsudp://:8765 will listen on all interfaces on port 8765 for an available stream.

  • tsudp://1.2.3.4:8765 will listen on 1.2.3.4 port 8765 for an available stream.

  • tsudp://224.0.0.0:8765/1.2.3.4 will listen for multicast broadcasts on address 224.0.0.0 on port 8765 through the interface with address 1.2.3.4.

  • tsudp://224.0.0.0:8765/1.2.3.4,5.6.7.8 will listen for multicast broadcasts on address 224.0.0.0 on port 8765 through the interfaces with addresses 1.2.3.4 and 5.6.7.8.

Multicast

Multicast is used by setting up a normal TS UDP input stream while listening to a multicast address as "host". Multicast addresses are in the range 224.0.0.0 - 239.255.255.255 for IPv4. IPv6 multicast is also supported on all addresses with the prefix ff00::/8.