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 pathvideo
-
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 pathvideoMain
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 on1.2.3.4
port8765
for an available stream. -
tsudp://224.0.0.0:8765/1.2.3.4
will listen for multicast broadcasts on address224.0.0.0
on port8765
through the interface with address1.2.3.4
. -
tsudp://224.0.0.0:8765/1.2.3.4,5.6.7.8
will listen for multicast broadcasts on address224.0.0.0
on port8765
through the interfaces with addresses1.2.3.4
and5.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
.