On This Page

Get Status of Dynamic Ingest Requests (Dynamic Delivery)

Product(s)

Video Cloud

Role(s)

API Developer

Topic(s)

Dynamic Delivery

Notifications

API(s)

Dynamic Ingest API

When you use the Dynamic Ingest API to add videos to your Video Cloud account, what you most want to know is when the video has been processed and whether or not renditions were successfully created. .

Introduction

This document explains how you can track the status of jobs by either making status requests to the CMS API or by using Dynamic Ingest API notifications. We also provide a sample dashboard app that automates the process

Note that the status of ingest jobs is available only for jobs submitted with the past 7 days.

Requesting status

You get the status of dynamic ingest jobs (ingest, replace, or retranscode) using these CMS API endpoints - note that these endpoints works for Dynamic Delivery jobs only:

publishing: at least one playable rendition has been created, and the video is being readied for playback

published: at least one rendition is a available for playback

finished: all processing is complete

failed: processing failed; if you are not able to figure out what went wrong, contact Support

Getting notifications

While the request status method discussed above works, if you are waiting for a particular state (published or finished), it is better to let Brightcove notify you when these events occur rather than have to keep asking for the status until you get the answer you are looking for. We will now look at how you might build an app around handling notifications.

The Dynamic Ingest notifications give you all the information you need to know when your video is ready - you just need to know what to look for...and to define what "ready" means for your systems. This diagram summarizes the workflow:

Ingest Status Workflow

Dynamic Ingest Notifications

The Dynamic Ingest notification service sends you notifications for several kinds of events. The two that are most useful for figuring out when the video is "ready" are ones indicating that particular renditions have been created and the one that indicates that all processing is complete. Here are examples of each:

Sample Dashboard

This section explains how notifications can be put together to build a simple dashboard for the Dynamic Ingest API. The handler for notifications parses notifications from the Dynamic Ingest API to identify processing complete notifications. It then adds the video notifications into an array of objects for each video in a JSON file. The dashboard itself is an HTML page that imports the JSON file to get the notification data. It uses the ids to makes a request to the CMS API to get the video metadata.

Here is the high-level architecture of the app:

Ingest Dashboad Architecture

The app parts

The handler for notifications is built in PHP - it looks for processing complete notifications and adds the video id to an array in a separate JavaScript file:

There's a design choice to be made here: you can use the notification handler or the dashboard (or a combination of the two) to process the notifications and extract the useful information. In this kind of app, we prefer to keep the notification handler simple, just using it to pass on the notification data, and let the client app (in this case the dashboard) do the information processing. This requires more processing on the client, but make the notification handler more reusable.