TS over TCP
Real time streaming in MPEG2/TS format over TCP, UDP or RTP
Pushing/Recording
The following push targets are matched by this output:
tsudp://*
tsrtp://*
tstcp://*
TS Required configurations
Option | Description | Type | Default | API | Commandline |
---|---|---|---|---|---|
Stream | What streamname to serve. For multiple streams, add this protocol multiple times using different ports. | String | Unset | streamname | --stream |
TS Optional configurations
Option | Description | Type | Default | API | Commandline |
---|---|---|---|---|---|
MPEG Data track parser | Which parser to use for data tracks | = None / disabled json = 2b size-prepended JSON | datatrack | --datatrack | |
debug | The debug level at which messages need to be printed. | debug | Inherited from parent process | debug | --debug |
Default track sorting | What tracks are selected first when no specific track selector is used for playback. | = Default (last added for live, first added for VoD) bps_lth = Bit rate, low to high bps_htl = Bit rate, high to low id_lth = Track ID, low to high id_htl = Track ID, high to low res_lth = Resolution, low to high res_htl = Resolution, high to low | default_track_sorting | --default_track_sorting | |
Interface | Address of the interface to listen on | String | 0.0.0.0 | interface | --interface |
TCP port | TCP port to listen on | Number (unsigned integer) | 8888 | port | --port |
Tracks | The track IDs of the stream that this connector will transmit separated by spaces | String | tracks | --tracks | |
Username | Username to drop privileges to - default if unprovided means do not drop privileges | String | root | username | --username |
TS Push parameters
Option | Description | Type | Default | API | Commandline |
---|---|---|---|---|---|
Append to file | If set to any value, will (if possible) append to an existing file, rather than overwriting it | Boolean | Unset | append | undefined |
Audio track(s) | Override which audio tracks of the stream should be selected | string | Unset | audio | undefined |
Duration of push | How much media time to push, in seconds. Internally overrides "recstop" | Number (signed integer) | Unset | duration | undefined |
Playlist path (relative to segments) | If set, will write a m3u8 playlist file for the segments to the given path (relative from the first segment path). When this parameter is used, at least one of the variables $segmentCounter or $currentMediaTime must be part of the segment path (to keep segments from overwriting each other). The "Split interval" parameter will default to 60 seconds when using this option. | string | Unset | m3u8 | undefined |
Playlist max entries | When writing a playlist, delete oldest segment entries once this entry count has been reached (and, if possible, also delete said segments themselves). When set to 0 or left empty, does not delete. | Number (signed integer) | Unset | maxEntries | undefined |
Max buffer duration for GOP count wait | When waiting for GOPs on the main track, give up when this much data is available in the main track buffer | Number (signed integer) | 5s, or 120s when using a non-default GOP count | maxwaittrackms | undefined |
Push delay | Ensures the stream is always delayed by at least this many seconds. Internally overrides the "realtime" and "start" parameters | Number (signed integer) | Unset | pushdelay | undefined |
Playback rate | Multiplier for the playback speed rate, or 0 to not limit | Number (signed integer) | 1 | rate | undefined |
Don't speed up output | If set to any value, removes the rate override to unlimited normally applied to push outputs | Boolean | Unset | realtime | undefined |
Media timestamp to start from | What internal media timestamp to start from | Number (signed integer) | Unset | recstart | undefined |
Unix timestamp to start from | What unix timestamp to start from | unixtime | Unset | recstartunix | undefined |
Media timestamp to stop at | What internal media timestamp to stop at | Number (signed integer) | Unset | recstop | undefined |
Unix timestamp to stop at | What unix timestamp to stop at | unixtime | Unset | recstopunix | undefined |
Split interval | Performs a gapless restart of the recording every this many seconds. Always aligns to the next keyframe after this duration, to ensure each recording is fully playable. When set to zero (the default) will not split at all. | Number (signed integer) | Unset | split | undefined |
Media timestamp to start from | What internal media timestamp to start from | Number (signed integer) | Unset | start | undefined |
Unix timestamp to start from | What unix timestamp to start from | unixtime | Unset | startunix | undefined |
Media timestamp to stop at | What internal media timestamp to stop at | Number (signed integer) | Unset | stop | undefined |
Unix timestamp to stop at | What unix timestamp to stop at | unixtime | Unset | stopunix | undefined |
Subtitle track(s) | Override which subtitle tracks of the stream should be selected | string | Unset | subtitle | undefined |
Playlist target age | When writing a playlist, delete segment entries that are more than this many seconds old from the playlist (and, if possible, also delete said segments themselves). When set to 0 or left empty, does not delete. | Number (signed integer) | Unset | targetAge | undefined |
Unmask tracks | If set to any value, removes any applied track masking before selecting tracks, acting as if no mask was applied at all | Boolean | Unset | unmask | undefined |
Video track(s) | Override which video tracks of the stream should be selected | string | Unset | video | undefined |
Wait for GOP count | Before starting, wait until this number of GOPs is available in the main selected track | Number (signed integer) | 2 | waittrackcount | undefined |