Overview
The Video Chapter API allows end users to navigate and get to the relevant chapter(s) on the AnyClip player and to set and get the video chapters on the AnyClip Studio.
The API provides the following capabilities:
Provides navigation within the player
Provides navigation through an API (for external usage)
API data models
The API uses the following data models.
Chapters entity:
Video Chapters DTO
{
"uid" : String
"videoId" : String
"created" : Long
"updated" : Long
"enabled" : Boolean
"chapters" : [
{
"name" : "Chapter 1"
"time" : 10000
}
{
"name" : "Chapter 2"
"time" : 20001
}
...
{
"name" : "Chapter N"
"time" : 20001
}
]
}
Distribution Search:
Distribution/Search Request DTO
{ ...search fields... "includeChapters" : boolean }
Distribution/Search Response DTO
{ ... distribution video data .... "chapters" : [ { "name" : "Chapter 1" "time" : 10000 } { "name" : "Chapter 2" "time" : 20001 } ... { "name" : "Chapter N" "time" : 20001 } ] }
Other search requests include the includeChapters parameter:
Search response models have a list of "chapters"
All search API with the includeChapters flag will show only chapters with the flag: enab≤d=true
Data limitations
Data limitations are according to the ES documentation : chapters.size <= 10000.
Note
index.mapping.nested_objects.limit: The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. The default is 10000.
API definitions/updates
Create/update chapters list by video_id: (with ChaptersService/update):
# PUT chapters list
{
"chapters" : [
{
"name" : "Chapter 1"
"time" : 10000
},
...
{
"name" : "Chapter N"
"time" : 20001
}
]
}
# Enable/Disable chapters
{
"enabled" : true
}
Create chapters list by video creation: (with DistributionService/uploadMRSSData)
{
....
"chapters": {
"chapters": [
{
"time": 0,
"name": "string"
},
...
],
"enabled": true
}
}