Video Catalog & Playback¶
Introduction¶
Video Catalog integration is responsible for content catalog synchronization and video playback functionalities.
To make sure Accedo One is able to provide the best type of functionality and user experience to both content Editors and end-users alike, we have introduced a concept of content catalog synchronization to our system.
As part of the synchronization process, Accedo One directs integration to start crawling the video metadata catalog it's connected to, and provide that information back in a structured, well-defined way.
Video Catalog Synchronization¶
Following sequence of event's happens as part of the video catalog sync:
- A sync is triggered (on schedule or on-demand)
- Integration endpoint and customer-specific configuration is retrieved
- Integrations
CatalogSyncService.Sync()
RPC method is invoked - Integration retrieves metadata entries from the external system by crawling it's APIs and data feeds
- Retrieved entries are published on response stream. Upon completion integration closes the stream
- All received entries from the stream are added to a unique catalog (unique for each sync)
- When response stream is closed by integration, new catalog is promoted to the active catalog that is now used for serving requests to client applications and editor
Video Playback¶
Playback requests are fulfilled by Video Catalog integration by returning an on-demand user-specific stream information for a catalog item. This is achieved by implementing PlaybackService.GetPlaybackInfo()
RPC method.
Before sending this request to the integration Accedo One will perform Entitlement & Geo-restriction checks and only perform the request after all checks have passed. This separation of concern ensures that Video Catalog integration is focused specifically on content delivery and not business rules related to access controls.
Development with IDK¶
You can start IDK in video catalog mode, simply run idk up content-catalog
$ idk up content-catalog
idk-content-catalog Done!
one-core-content-catalog Done!
idk-content-catalog-bootstrap Done!
Creating default_elasticsearch_1 ... done
Creating default_kibana_1 ... done
Creating default_content-catalog_1 ... done
Creating default_bootstrap_1 ... done
Creating default_mongodb_1 ... done
Creating default_idk_1 ... done
### IDK environment URLs ###
- IDK admin UI: http://localhost:32769
- Kibana: http://localhost:32772
When IDK has started, you can navigate to the URLs printed out by the tool to setup basic configuration, trigger sync towards your local integration and view logs/syncs.
Data visualization¶
For this integration, IDK bootstraps a "Kibana" visualization tool that will allow more in-depth exploration of data stored in the catalog.
APIs¶
Following APIs must be fulfilled by the service to successfully work with Accedo One:
CatalogSyncService
- as defined incontent/syncs.proto
PlaybackService
- as defined incontent/playback.proto