The CustomRangeMetadata class identifies different types of time ranges in a VOD stream: mark, delete, and replace. For each of these custom time range types, you can perform corresponding operations, including deleting and replacing ad content.
For ad deletion and replacement, TVSDK uses the following custom time range operation modes:
MARK This mode was referred to as custom ad markers in previous versions of TVSDK. The mode marks the beginning and ending times for ads that are already placed into the VOD stream. When there are time range markers of type
MARK in the stream, an initial placement of
Mode.MARK is generated by
CustomMarkerOpportunityGenerator and resolved by
CustomRangeResolver. No ads are inserted.
DELETE time ranges, an initial
placementInformation of type
Mode.DELETE is created and resolved by
DeleteRangeTimelineOperation defines the ranges to be removed from the timeline, and TVSDK uses
removeByLocalTime from the Adobe Video Engine (AVE) API to complete this operation. If there are DELETE ranges and Adobe Primetime ad decisioning metadata, the ranges are deleted first, then the
AuditudeResolver resolves ads using the typical Adobe Primetime ad decisioning workflow.
REPLACE time ranges, two initial
placementInformations are created, one
Mode.DELETE and one
CustomRangeResolver deletes the time ranges first and then the
AuditudeResolver inserts ads of the specified
replaceDuration into the timeline. If no
replaceDuration is specified, the server determines what to insert.
To support these custom time range operations, TVSDK provides the following:
Multiple content resolvers
A stream can have multiple content resolvers based on the ad signaling mode and ad metadata. The behavior changes with different combinations of ad signaling modes and ad metadata.
Multiple initial opportunities using
A new ad signaling mode,
Ads are placed based on Time Range data from an external source, such as a JSON file.