Enable transcripts for video content

Introduction

This wiki explains the design and implementation of the enable transcriptions for video content.

SB-26446: Enable transcripts for video contentClosed

Key Design Problems:

  1. How to store transcripts files in the system.

  2. Support configuration for transcript file types.

  3. Relation between transcripts files & content.

Solution:

  • We want to create transcript files as assets in our system. For that, we want to create a new asset primaryCategory with mime-types which are supported to create transcript files.

primary category: Video Transcript

tragetObjectType: Asset

mimeType Supported: application/x-subrip

Currently, we are supporting only a single mimeType. in future, if we want to support multiple mimeType just need to update the primary category definition.

{ "objectCategoryDefinition": { "categoryId": "obj-cat:video-transcript", "targetObjectType": "Asset", "objectMetadata": { "config": {}, "schema": { "properties": { "mimeType": { "type": "string", "enum": [ "application/x-subrip" ], "default": "application/x-subrip" } } } } } }
  • We are introducing new metadata property transcripts in the content object. this property will have a list of transcripts files uploaded by users for specific content.

Schema changes:

{ "transcripts": { "type": "array", "items": { "type": "object" } } }

Sample: List of transcripts files uploaded by users for specific content