Automatic Ad Placement
Enable and configure Automatic Ad Placement in AI Scene Analysis with your Bitmovin VOD encoding workflow.
By enabling Automatic Ad Placement, SCTE markers and keyframes will be inserted into the outputs based on the following configurations:
1. Scheduled Ad Positions
Specify target timestamps (e.g., every 5 minutes). AI Scene Analysis finds the nearest scene boundary within maxDeviation for a less disruptive break.
Example: For position: 300, maxDeviation: 30:
- Search window: 270–330 seconds
- SCTE marker placed at nearest scene boundary in this range
- With no scene boundary in range, the marker is placed at the exact position
aiSceneAnalysis:
features:
assetDescription:
filename: asset-description.json
automaticAdPlacement:
schedule:
- position: 300
maxDeviation: 30
duration: 45
- position: 600
maxDeviation: 30
duration: 30{
"aiSceneAnalysis": {
"features": {
"assetDescription": {
"filename": "asset-description.json"
},
"automaticAdPlacement": {
"schedule": [
{
"position": 300,
"maxDeviation": 30,
"duration": 45
},
{
"position": 600,
"maxDeviation": 30,
"duration": 30
}
]
}
}
}
}2. All Scene Boundaries
Enable allSceneBoundaries to automatically insert SCTE markers and keyframes at every detected scene boundary throughout the content, excluding the beginning and end of the asset.
Example: For a 60-minute asset with scene boundaries at 5:00, 12:30, 27:45, and 54:10:
- AI Scene Analysis inserts markers at 5:00, 12:30, 27:45, and 54:10
- AI Scene Analysis skips the asset start (0:00) and end (60:00)
aiSceneAnalysis:
features:
assetDescription:
filename: asset-description.json
automaticAdPlacement:
allSceneBoundaries:
isEnabled: true
insertCueTags: true{
"aiSceneAnalysis": {
"features": {
"assetDescription": {
"filename": "asset-description.json"
},
"automaticAdPlacement": {
"allSceneBoundaries": {
"isEnabled": true,
"insertCueTags": true
}
}
}
}
}3. Using both together
When schedule and allSceneBoundaries are enabled, AI Scene Analysis merges the results. Markers are inserted at every scene boundary throughout the content. Scheduled positions snap to the nearest scene boundary within the maxDeviation window — so no two markers end up at the same point.
aiSceneAnalysis:
features:
assetDescription:
filename: asset-description.json
automaticAdPlacement:
schedule:
- position: 300
maxDeviation: 30
duration: 45
allSceneBoundaries:
isEnabled: true{
"aiSceneAnalysis": {
"features": {
"assetDescription": {
"filename": "asset-description.json"
},
"automaticAdPlacement": {
"schedule": [
{
"position": 300,
"maxDeviation": 30,
"duration": 45
}
],
"allSceneBoundaries": {
"isEnabled": true
}
}
}
}
}Updated about 3 hours ago