Core Concepts - Content Management
Core Concepts
Operation Resource Types
| Type | Purpose |
|---|---|
KalturaOperationResource | Single-source operations: clip, trim, overlay, effects |
KalturaOperationResources (plural) | Multi-source concatenation: splice segments from N entries |
KalturaClipAttributes | Time range selection: offset + duration (milliseconds) |
KalturaOverlayAttributes | Picture-in-picture composition |
KalturaReplaceBackgroundAttributes | Chroma-key background replacement |
KalturaRenderCaptionAttributes | Caption text burn-in to video |
KalturaEffect | Fade in/out transitions |
KalturaDimensionsAttributes | Output resolution/aspect ratio control |
Entry Replacement Flow (Trim)
Trimming uses media.updateContent which triggers the replacement flow — a safe, non-destructive update pipeline:
- Call
media.updateContentwith the operation resource - Kaltura creates a temporary replacement entry and begins processing
- The original entry's
replacementStatuschanges from0(NONE) to3(NOT_READY_AND_NOT_APPROVED) - Poll
baseEntry.getuntilreplacementStatuschanges to2(READY_BUT_NOT_APPROVED) - Call
media.approveReplaceto swap the processed content into the original entry - The entry returns to
replacementStatus=0with the new content
Replacement statuses:
| Value | Name | Meaning |
|---|---|---|
| 0 | NONE | No replacement in progress |
| 1 | APPROVED_BUT_NOT_READY | Approved, still processing |
| 2 | READY_BUT_NOT_APPROVED | Processing complete, awaiting approval |
| 3 | NOT_READY_AND_NOT_APPROVED | Processing, not yet approved |
| 4 | FAILED | Replacement processing failed |
Clip Flow (New Entry)
Creating a clip produces a new entry preserving the original:
- Call
baseEntry.clonewithKalturaBaseEntryCloneOptionComponent(itemType=6, rule=1) to exclude flavors — creates NO_CONTENT clone with metadata - Call
media.updateContenton the cloned entry withKalturaOperationResourcespecifying the time range - Poll for the cloned entry to reach READY status
Constraints
| Constraint | Value |
|---|---|
| Maximum clips in concatenation | 5 (configurable per account) |
| Maximum total duration (concat) | 5 hours |
| Concurrent replacements per entry | 1 (returns ENTRY_REPLACEMENT_ALREADY_EXISTS if busy) |
| Audio mixing model | Complementary: overlay at volume, main at 1-volume |
| Image sources in composition | Auto-looped with shortest-duration matching |
| Overlay shapes | CIRCLE (1), RECTANGLE (2), RECTANGLE_ROUNDED_CORNERS (3), ELLIPSE (4) |
| Caption color format | ASS format: &HBBGGRR& |
| Background color format | Hex: 0xRRGGBB (default: 0x6FED48 green) |