Skip to main content
applies to MistServer 3.9 and newer

Usage tips

If no SCTE35 track is present one will be created. There is a good chance that the very first SCTE35 request will not be inserted correctly due to the timing of creating the SCTE35 track and inserting the SCTE35 marker itself. We recommend sending in any SCTE35 request to create the track before using it. The data to initialize the SCTE35 track can be anything.

SCTE-35 insertion for TS-based outputs

A very basic implementation has been made to add SCTE-35 markers to TS based outputs (TS over UDP, TCP, SRT or RIST). This method has a limitation in that it is only compatible with sources that use a push:// input.

You can add SCTE-35 markers by sending in a JSON post towards:

http://mistserver:httpport/streamname.json?meta=SCTE35

With Content-Type set to application/json and a POST body of {"splice_out":DURATION} where duration is in miliseconds.

A simple wget command can be done to insert this:

wget --method=POST --body-data '{"splice_out":5000000}' --header='Content-Type: application/json' http://mistserver:httpport/streamname.json?meta=SCTE35 -O - --quiet

This then inserts a valid SCTE-35 marker for any of the TS based outputs. Extending SCTE-35 support and for other inputs/outputs is planned.

SCTE-35 insertion through API

Planned for MistServer 3.10

Adding SCTE-35 markers through an API is also available, this is compatible with any type of input and much cleaner to use.

"{inject_scte35":{"STREAMNAME":{"data":"data"}}}

Where data can be replaced by the contents of the SCTE-35 marker. A good example would be setting just a splice_out through:

{"inject_scte35":{"livestream":{"splice_out":60000}}}

Which inserts an adbreak for 60 seconds at the moment the API request is received.

SCTE-35 insertion through local binary execution

Planned for MistServer 3.10

If you wish to insert SCTE-35 markers, but not go through the API there's another option by directly running MistOutJSON to insert the SCTE-35 marker. If the SCTE-35 marker has been successfully added you will get a message of this on INFO level (debug level 4, which can be seen by adding -g 4 to the command), if the marker could not be added you will receive a WARN/FAIL message (visible with debug levels 2 and under).

The syntax to add SCTE35 data is as follows:

MistOutJSON --pushdata '{"data":"data"}' -s STREAMNAME -C SCTE35

An example would be:

MistOutJSON --pushdata '{"splice_out":60000}' -s livestream -C SCTE35