19 December 2019

Custom Ad Breaks in advanced_dash

Added support of custom <ad_breaks /> and <cue_inserts />.

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required-->
    <format>
        <output>advanced_dash</output>
        <!-- multiple ad_breaks may be included -->
        <ad_break>
            <start>[StartTime]</start>
            <end>[EndTime]</end>
            <duration>[BreakDuration]</duration>
            <drop_segments>[yes|no]</drop_segments>
            <!-- multiple marker_type parameters may be included -->
            <marker_type>[MarkerType1]</marker_type>
            <marker_type>[MarkerType2]</marker_type>
            <marker_type>[MarkerTypeN]</marker_type>
            <id>[BreakID]</id>
            <!-- multiple upid_data sections may be included -->
            <upid_data>
                <segmentation_upid_type>[SegmentationUPIDType]<segmentation_upid_type>
                <segmentation_upid>[SegmentationUPID]<segmentation_upid>
            </upid_data>
            <upid_data>
                <!-- upid_data params -->
            </upid_data>
        </ad_break>
        <ad_break>
           	<!-- ad_break params -->
        </ad_break>
        <!-- multiple cue_inserts may be included -->
        <cue_insert>
            <start>[StartTime]</start>
            <end>[EndTime]</end>
           	<duration>[BreakDuration]</duration>
           	<drop_segments>[yes|no]</drop_segments>
            <!-- multiple marker_type parameters may be included -->
            <marker_type>[MarkerType]</marker_type>
            <marker_type>[MarkerType2]</marker_type>
            <marker_type>[MarkerTypeN]</marker_type>
           	<id>[BreakID]</id>
            <!-- multiple upid_data sections may be included -->
            <upid_data>
                <segmentation_upid_type>[SegmentationUPIDType]<segmentation_upid_type>
                <segmentation_upid>[SegmentationUPID]<segmentation_upid>
            </upid_data>
            <upid_data>
                <!-- upid_data params -->
            </upid_data>
        </cue_insert>
        <cue_insert>
           	<!-- cue_insert params -->
        </cue_insert>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "[Action]",
        "source": "[SourceFile]",
        "format": {
            "output": "advanced_dash",
            "ad_break": [
                {
                    "start": "[StartTime]",
                    "end": "[EndTime]",
                    "duration": "[BreakDuration]",
                    "drop_segments": "[yes|no]",
                    "marker_type": [
                        "[MarkerType1]",
                        "[MarkerType2]",
                        "[MarkerTypeN]"
                    ],
                    "id": "[BreakID]",
                    "upid_data": [
                        {
                            "segmentation_upid_type": "[SegmentationUPIDType]",
                            "segmentation_upid": "[SegmentationUPID]",
                        }
                    ]
                }
            ],
            "cue_insert": [
                {
                    "start": "[StartTime]",
                    "end": "[EndTime]",
                    "duration": "[BreakDuration]",
                    "drop_segments": "[yes|no]",
                    "marker_type": [
                        "[MarkerType1]",
                        "[MarkerType2]",
                        "[MarkerTypeN]"
                    ],
                    "id": "[BreakID]",
                    "upid_data": [
                        {
                            "segmentation_upid_type": "[SegmentationUPIDType]",
                            "segmentation_upid": "[SegmentationUPID]",
                        }
                    ]
                }
            ]
        }
    }
}

Parameter

Description

Allowed Values

Default Values

  • *marker_type** (ad_break)

Break Marker Type

  • scte-35 — adds <scte35:signal /> block.

cue-out-in

  • *marker_type** (cue_insert)
  • scte35-opening-credit — adds <scte35:signal /> opening credits block.
  • scte35-closing-credit — adds <scte35:signal /> closing credits block.
  • scte35-chapter-marker — adds <scte35:signal /> chapter marker block.
  • scte35-content-identification — adds <scte35:signal /> content identification block.

scte35-opening-credit

id

Marker ID attribute

Positive integer

none

start

Place cue IN marker in it's value position of manifest

  • positive float number in seconds
  • timecode in format HH:MM:SS[:;]FF
    HH – hours
    MM – minutes
    SS – seconds
    FF – frames
    [:;] – : – non drop-frame, ; – drop-frame;

none

end

Place cue OUT marker in it's value position of manifest

  • positive float number in seconds
  • timecode in format HH:MM:SS[:;]FF
    HH – hours
    MM – minutes
    SS – seconds
    FF – frames
    [:;] – : – non drop-frame, ; – drop-frame;

none

duration

Specify the break duration in seconds.

  • positive float number in seconds
  • string in format HH:MM:SS[:;]FF
    HH – hours
    MM – minutes
    SS – seconds
    FF – frames
    [:;] – : – non drop-frame, ; – drop-frame;

none

drop_segments

Specify whether or not to drop segments during a break.

yes, no

no - for <ad_break />
yes - for <cue_insert />

upid_data parameters

segmentation_upid_type

UPID type

Positive integer number.

none

segmentation_upid

Unique UPID string for cue

Valid UPID string

none

Adaptive Temporal Averaging Denoiser

Added support of atadenoise filter.

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>addMedia</action>
    <source>[SourceFile]</source> <!-- required-->
    <format> <!-- required -->
        <output>[output]</output> <!-- required -->
        <atadenoise>
            <a0>[AThresholdPane1]</a0>
            <b0>[BThresholdPane1]</b0>
            <a1>[AThresholdPane2]</a1>
            <b1>[BThresholdPane2]</b1>
            <a2>[AThresholdPane3]</a2>
            <b2>[BThresholdPane3]</b2>
            <s>[AveragingFramesNumber]</s>
            <p>[AveragingPlanes]</p>
        </atadenoise>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "addMedia",
        "source": "[SourceFile]",
        "format": {
            "output": "[output]",
            "atadenoise": {
                "a0": "[AThresholdPane1]",
                "b0": "[BThresholdPane1]",
                "a1": "[AThresholdPane2]",
                "b1": "[BThresholdPane2]",
                "a2": "[AThresholdPane3]",
                "b2": "[BThresholdPane3]",
                "s": "[AveragingFramesNumber]",
                "p": "[AveragingPlanes]"
            }
        }
    }
}

Parameter

Description

Allowed Values

Default Value

a0

Threshold A for 1st plane

Float number between 0 and 0.3

0.02

b0

Threshold B for 1st plane

Float number between 0 and 5

0.04

a1

Threshold A for 2nd plane

Float number between 0 and 0.3

0.02

b1

Threshold B for 2nd plane

Float number between 0 and 5

0.04

a2

Threshold A for 3rd plane

Float number between 0 and 0.3

0.02

b2

Threshold B for 3rd plane

Float number between 0 and 5

0.04

s

Number of frames that will be used for averaging.

Odd positive integer number.

9

p

What planes of frame will be used for averaging

  • all - all planes
  • positive integer number - planes count

none

Widevine and PlayReady DRM for advanced dash manifests

Added support of Widevine and PlayReady DRM for advanced_dash and advanced_fmp4 output formats.

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required-->
    <format>
        <output>[advanced_dash|advanced_fmp4]</output>
        <destination>[Destination]</destination> <!-- required-->
        <widevine_drm>[yes|no]</widevine_drm>
        <playready_drm>[yes|no]</playready_drm>
        <!-- Manifests fields -->
        <manifest>
            <widevine_drm>[yes|no]</widevine_drm>
            <playready_drm>[yes|no]</playready_drm>
            <add_hls_drm_metadata>[yes|no]</add_hls_drm_metadata>
        </manifest>
        <!-- Multiple manifests may be included -->
        <manifest>
           <!-- manifest params -->
        </manifest>
        <!-- Format fields -->
        <!-- Nielsen metadata settings -->
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "[Action]",
        "source": "[SourceFile]",
        "format": {
            "output": "advanced_fmp4",
            "destination": "[Destination]",
            "widevine_drm": "[yes|no]",
            "playready_drm": "[yes|no]",
            "manifest": [
                {
                    "widevine_drm": "[yes|no]",
                    "playready_drm": "[yes|no]",
                    "add_hls_drm_metadata": "[yes|no]"
                }
            ]
        }
    }
}

Parameters

Description

Allowed Values

Default

widevine_drm

Apply Widevine DRM for whole output or manifest

yes, no

no

playready_drm

Apply PlayReady DRM for whole output or manifest

yes, no

no

add_hls_drm_metadata

Add DRM signaling to HLS master manifest

yes, no

no

🚧

For widevine_drm and playready_drm parameters

<widevine_drm /> and <playready_drm /> parameters available only for advanced_dash and dash manifests of advanced_fmp4 output formats.

🚧

For add_hls_drm_metadata parameter

<add_hls_drm_metadata /> parameter available only for advanced_hls ,fmp4_hls , and hls manifests ofadvanced_fmp4** output formats.