SCTE-35 Support for Server-Side Ad Insertion (SSAI)

AuroraCloud Live fully supports SCTE-35 markers for Server-Side Ad Insertion (SSAI), compatible with two insertion types: SSAI and SPOT. We implement both Splice Insert and Time Signal modes in HLS streams to enable precise ad insertion and content replacement.

Supported SCTE-35 Modes

  • Splice Insert: Allows for the insertion of content at exact splice points specified by the SCTE-35 markers.
  • Time Signal: Uses scheduled timing to signal upcoming splices, ideal for coordinating ad breaks that are time-based.

HLS Implementation Details

In HLS playlists, SCTE-35 markers are integrated using EXT-X-DATERANGE tags, which carry the necessary metadata for ad insertion. Below are examples of how to implement both Splice Insert and Time Signal modes in your HLS playlists.

Splice Insert Example

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:693282
#EXT-X-DISCONTINUITY-SEQUENCE:12
#EXT-X-PROGRAM-DATE-TIME:2024-07-04T07:24:26.360Z
#EXTINF:4.00000,
master_480p_693282.ts
#EXTINF:4.00000,
master_480p_693283.ts
#EXTINF:4.00000,
master_480p_693284.ts
#EXTINF:4.00000,
master_480p_693285.ts
#EXTINF:4.00000,
master_480p_693286.ts
#EXTINF:4.00000,
master_480p_693287.ts
#EXTINF:4.00000,
master_480p_693288.ts
#EXTINF:2.28000,
master_480p_693289.ts
#EXT-OATCLS-SCTE35:/DA2AAAAAyiYAP/wBQb/6OD7UAAgAh5DVUVJBAACWH/AAABSZcAOCFNTQUkwNjIzNAEBAQH/FObj
#EXT-X-ASSET:CAID=0x5353414930363233
#EXT-X-CUE-OUT:60.000
#EXTINF:1.72000,
master_480p_693290.ts
#EXT-X-CUE-OUT-CONT:CAID=0x5353414930363233,ElapsedTime=1.720,Duration=60.000,SCTE35=/DA2AAAAAyiYAP/wBQb/6OD7UAAgAh5DVUVJBAACWH/AAABSZcAOCFNTQUkwNjIzNAEBAQH/FObj
#EXTINF:4.00000,
master_480p_693291.ts
#EXT-X-CUE-OUT-CONT:CAID=0x5353414930363233,ElapsedTime=5.720,Duration=60.000,SCTE35=/DA2AAAAAyiYAP/wBQb/6OD7UAAgAh5DVUVJBAACWH/AAABSZcAOCFNTQUkwNjIzNAEBAQH/FObj
#EXTINF:4.00000,
master_480p_693292.ts

Explanation:

  • The EXT-X-DATERANGE tag with SCTE35-OUT signals the start of a splice insert.
  • PLANNED-DURATION indicates the expected duration of the ad break.
  • The END-ON-NEXT=YES attribute in the second EXT-X-DATERANGE tag signals the end of the splice insert when the next tag is encountered.

Time Signal Example

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:786620
#EXT-X-DISCONTINUITY-SEQUENCE:2321
#EXT-X-PROGRAM-DATE-TIME:2024-07-04T07:25:14.520Z
#EXTINF:4.00000,
master_480p_786620.ts
#EXTINF:0.36000,
master_480p_786621.ts
#EXT-OATCLS-SCTE35:/DA4AAAAAyiYAP/wBQb/7+jfMAAiAiBDVUVJBAAJ23/AAAANu6AODEFZTDAwMDAwMDAwNyABAT61Q0A=
#EXT-X-BLACKOUT:TYPE=CHAPTER_START,CAID=0x41594C303030303030303037
#EXTINF:3.64000,
master_480p_786622.ts
#EXTINF:4.00000,
master_480p_786623.ts
#EXTINF:2.40000,
master_480p_786624.ts
#EXT-OATCLS-SCTE35:/DAzAAAAAyiYAP/wBQb/7/ao4AAdAhtDVUVJBAAJ23+ADgxBWUwwMDAwMDAwMDchAQF/lWWx
#EXTINF:0.04000,
master_480p_786625.ts
#EXT-OATCLS-SCTE35:/DA4AAAAAyiYAP/wBQb/7/a28AAiAiBDVUVJBAAJ3H/AAAAbd0AODEFZTDAwMDAwMDAwOCABAS1nr70=
#EXT-X-BLACKOUT:TYPE=CHAPTER_START,CAID=0x41594C303030303030303038

Explanation:

  • The first EXT-X-DATERANGE tag with SCTE35-OUT and DURATION starts the time signal, indicating when the ad break will occur and its duration.
  • Ad segments (ad-segment0.ts, ad-segment1.ts) are played during the time signal period.
  • The second EXT-X-DATERANGE tag with SCTE35-IN and END-DATE marks the end of the time signal, returning to regular content.

Integration with SSAI and SPOT

Our service's compatibility with both SSAI and SPOT types ensures flexibility in ad insertion strategies:

  • SSAI (Server-Side Ad Insertion): Ads are stitched into the stream on the server side, providing a seamless viewing experience without client-side ad requests.
  • SPOT: Allows for spot replacements or insertions, useful for regional content variations or targeted advertising.

Best Practices

  • Ensure that SCTE-35 markers are accurately timed to prevent ad clipping or extended black screens.
  • Validate your HLS playlists with industry-standard tools to check for compliance with HLS specifications.
  • Use EXT-X-PROGRAM-DATE-TIME tags in conjunction with EXT-X-DATERANGE for more precise timing control.

Additional Resources

By adhering to these guidelines, you can effectively utilize SCTE-35 markers in your HLS streams for advanced ad insertion capabilities.