Overview

Content Object contains information within a media, which is different for different media types such as:

  • Questions nd answers for Quizzes/Surveys
  • Original files, its renditions and their information for Videos, etc


Here we shall be looking at contentInfo Object in detail to understand the various properties it contains in VIDIZMO REST API Reference.


contentInfo Object

{
    // Primary key of comment object in system. Used to uniquely identify comment in system
    "id": <number>,
    // Original physical file name of media in storage
    "fileName": <string>,
    // Content storage id of content provider from which this media is served
    "contentStorageId": <number>,
    // Content type. Possible values are given below
    // Video, audio, image, document, caption, quiz, survey
    "contentType": <string>,
    // This property indicates current status of content in VIDIZMO. Possible values are given below
    // SubmitForProcessing: When content is being processed by VIDIZMO video processing pipeline or is being indexed through AI engines
    // Completed: When content is finished processing and is ready to be played
    // Deleted: When this particular content is deleted.
    // Purged: When this content object is purged. This means all urls inside this object are no longer valid and are deleted from storage.
    "contentStatus": <string>,
    // Flag to indicate that content is in delete state
    "isDeleted": <boolean>,
    // Content details of this content
    "contentDetails": {
        // This contains fully qualified urls of closed caption files, their names and culture of that closed caption file.
        // Only applies to video and audio. 
        "closedCaptions": [
            {
                "closedCaptionUrl": <string>,
                "fileName": <string>,
                "culture": <string>
            }
        ],
        // This contains all files of current mashup that are required to playback media.
        // This property will have multiple objects for each rendition of this file.
        // Only applies to video, audio, image, document and live mashup formats.
        "contentFiles": [
            {
                // Physical size of this rendition on storage
                "fileSize": <number>,
                // All attributes of this file. Example attributes are given below
                // Below given attributes are common to all mashup formats
                // { name: "Quality", value: "Original" }: Indicate that current object is original
                // { name: "Size", value: <number> }: Indicate size of current rendition
                // { name: "MimeType", value: <string> }: Mime type of this rendition
                // Below given attributes only apply to document
                // { name: "IsLandscape", value: <boolean> }: Indicates whether document is portrait or in landscape mode
                // { name: "PagesCount", value: <boolean> }: Conveys total count of pages in a document
                // Below given attributes only apply to audio and video
                // { name: "AudioBitRate", value: <number> }: Audio bitrte of this rendition
                // { name: "AudioCodec", value: <string> }: Audio codec of this rendition
                // Below given attributes only apply to video
                // { name: "Width", value: <number> }: Width of current rendition
                // { name: "Height", value: <number> }: Height of current rendition
                // { name: "FrameRate", value: <number> }: Frame rate of this rendition
                // { name: "BitRate", value: <number> }: Video bitrte of this rendition
                // { name: "VideoCodec", value: <string> }: Video codec of this rendition
                // { name: "Duration", value: <number> }: Duration of current rendition. This will be almost same like estimated duration of mashup but it may differ a bit (upto 1 sec) when captured for different renditions
                // Below given attributes only apply to image
                // { name: "Bit Depth", value: <number> }: Indicates whether document is portrait or in landscape mode
                // { name: "Color Type", value: <string> }: Conveys total count of pages in a document
                // { name: "Compression", value: <string> }: Conveys total count of pages in a document
                // { name: "Filter", value: <string> }: Conveys total count of pages in a document
                // { name: "Interlace", value: <string> }: Conveys total count of pages in a document
                // { name: "Pixels Per Unit X", value: <number> }: Conveys total count of pages in a document
                // { name: "Pixels Per Unit Y", value: <number> }: Conveys total count of pages in a document
                // { name: "Pixel Units", value: <number> }: Conveys total count of pages in a document
                // { name: "Megapixels", value: <number> }: Conveys total count of pages in a document
                // { name: "Depth", value: <number> }: Conveys total count of pages in a document
                "contentFileAttributes": [
                    {
                        "name": <string>,
                        "value": <string>
                    }
                ],
                // Fully qualified CDN link of this rendition. Normally used for fast playback.
                "playbackURL": <string>,
                // Fully qualified storage link of this rendition. Normally used to download file from storage.
                "downloadURL": <string>
            }
        ],
        // Timed preview thumbnails used to show thumbnails on top of player. This file is served in VTT format.
        // For video: This will contain thumbnail of video after a fixed duration.
        // For document: This will contain thumbnail of every page in a document.
        // Only applies to video, amd document mashup formats.
        "previewThumbnails": [
            {
                // Fully qualified url leading to preview thumbnail file
                "previewThumbnailUrl": <string>,
                // Thumbnail type. Possible values are below
                // TimeRange, Timed, Paged
                "thumbnailType": <string>
            }
        ],
        // Below given section only applies to quiz and survey
        // All pages within a quiz/survey. Every quiz/survey will atlease have 1 page
        "pages": [
            {
                // Unique page id to identify page
                "pageId": <string>,
                // Description of current page
                "description": <string>,
                // Name of current page. This name will appear on top of quiz/survey
                "name": <string>,
                // Question order inside pages. This
                "questionsOrder": <string>,
                "title": <string>,
                // All questions in page
                "questions": [
                    {
                        // Individual question id
                        "questionId": <string>,
                        // Name of question
                        "name": <string>,
                        // Title of individual question
                        "title": <string>,
                        // Type of question. Below given options are available
                        // Text, Checkbox, Radiogroup, Comment and Dropdown
                        "type": <string>,
                        // If set to true, this question is considered mandatory
                        "isRequired": <boolean>,
                        // Score which user will earn if correct answer is provided
                        // Only applies to mashup format quiz
                        "score": <number>,
                        // Using ths property, you can defined order of questions in quiz/survey. Below given values apply
                        // initial: Show all questions in order
                        // random: Change questions order on every load
                        "choicesOrder": <string>,
                        // Nnumber of columns this question is going to take on screen
                        "colCount": <number>,
                        // All choices for this question
                        // Only applies to single or multiple choice question
                        "choices":{
                            // Title of this question
                            "text": <string>,
                            // Value of this question
                            "value":  <string>,
                            // Correct answer
                            // Appplies only to quiz
                            "isAnswer": <string>
                        },
                        // Place holder for descriptive question input button
                        // Applies only to descriptive question
                        "placeHolder": <string>,
                        // Descriptive question input type like text, date etc
                        "inputType": <string>
                    }
                ]
            }
        ],
        // If set to true, multipage quiz will appear as single page and all questions will appear on first page
        "IsSinglePage": <boolean>,
        // Max time to finish the survey/quiz. Once reached, quiz/survey will finish automatically
        "MaxTimeToFinish": <number>,
        // Max time for each page. Page will move automatically to next page when this time is reached
        "MaxTimeToFinishPage": <number>,
        // Using this property, you can set form to read-only or editable. Below given options apply
        // display: Form will appear only as read only
        // edit: User will be able to fill quiz/survey
        "Mode": <string>,
        // Using ths property, you can defined order of questions in quiz/survey. Below given values apply
        // initial: Show all questions in order
        // random: Change questions order on every load
        "QuestionsOrder": <string>,
        // Show page titles on every single page
        "ShowPageTitles": <boolean>,
        // User can go back in quiz/survey once they have moved to next page
        "ShowPrevButton": <boolean>,
        // Set this property if you want to show user their progress in terms of pages. Below given options apply
        // top: Progress bar will appear on top
        // bottom: Progress bar will appear at bottom
        "ShowProgressBar": <string>,
        // Show number against question. Below given options are available
        // off: Set this to off when you dont want to show numbers alongside questions
        // on: Question number will appear against every question
        // onpage: Question count will restart on every page 
        "ShowQuestionNumbers": <string>,
        // If set, show timer panel on screen. Below given options are available
        // top: Timer panel will appear on top of page
        // bottom: Timer panel will apear on bottom of page
        "ShowTimerPanel": <string>,
        // Indicates timer panel mode. Below given options are available for this property
        // page: Timer will appear for current page only. Upon next page, it will reset
        // survey: Apply only to survey, timer will appear on screen for whole survey
        // quiz: Apply only to quiz, timer will appear on screen for whole quiz
        "ShowTimerPanelMode": <string>,
        // If true, pages numbers are visible on top of quiz or survey
        "ShowPageNumbers": <boolean>,
        // Contains number in percentages, required for user to pass quiz
        // Only apply to mashup format quiz
        "passingCriteria": <number>,
        // If true, navigation buttons will appear on quiz or survey form and user will be able to switch between pages in a multipage quiz
        "showNavigationButtons": <boolean>
    }
}


Read Next