HLS Markers
OvenMediaEngine Enterprise supports the HLS Markers insertion feature starting with version 0.18.1.0-1.
CUE-OUT/IN
You can dynamically insert Ad Markers into LL-HLS and HLS playlists using the REST API.
When requesting the CUE-OUT event, the following tags will be added to the playlist:
#EXT-X-CUE-OUT:DURATION=<time>
…
#EXT-X-CUE-IN
#EXT-X-CUE-OUT
,
#EXT-X-CUE-IN
#EXT-X-CUE-OUT
and #EXT-X-CUE-IN
are a pair, and the entire section between the two tags will be replaced with ad content by the ad server
DURATION=<time>
DURATION=<time>
is required and represents the duration of the ad.
You can request the CUE-IN event to end an inserted ad early. When the event is called, the #EXT-X-CUE-IN
tag is immediately added to the playlist, and the previously added #EXT-X-CUE-IN
tag is removed.
API Interface
Request
Responses
DATERANGE
Using the REST API, you can insert ad markers into LL-HLS and HLS playlists as #EXT-X-DATERANGE
tags. #EXT-X-DATERANGE
specifies ad timing via the SCTE-35 OUT/IN attributes.
Behavior Rule
When an
OUT
event is received, anIN
is automatically scheduled after the specifiedduration
(ms) elapses.If an
IN
is inserted before the duration expires, the previously auto-insertedIN
is removed.
API Interface
Request
Responses
For example
Below is an LL-HLS playlist sample after injecting an SCTE-35 event:
#EXT-X-DATERANGE:ID="123",START-DATE="2025-01-01T09:15:00+00:00",PLANNED-DURATION=10.0,SCTE35-OUT=0xF...
...
#EXT-X-DATERANGE:ID="123",START-DATE="2025-01-01T09:15:00+00:00",SCTE35-IN=0xF
SCTE35-OUT
SCTE-35 payload indicating the start of the ad break (content → ad).
SCTE35-IN
SCTE-35 payload indicating the end of the ad break (ad → content).
PLANNED-DURATION
Ad break duration in seconds. When used with OUT
, an IN is auto-inserted after this time.
ID
An identifier that ties the OUT/IN to the same break.
* 32-bit unsigned integer.
START-DATE
Ad start timestamp (ISO-8601). * yyyy-mm-ddThh:mm:ss±UTC
Last updated