Introduction
Getting all the ingest profiles for an account is straightforward - it is just a simple call to the API. What is less straightforward is what you do with them. If you are going to display the profiles to users in some kind of app to select when they are ingesting videos, there are some potential issues you need to be aware of and deal with:
There are two kinds of Dynamic Delivery profiles that may be returned:
- "static" profiles - the ordinary kind with a fixed set of renditions
- "dynamic" profiles that use Context Aware Encoding (CAE) to automatically determine the optimum set of renditions to create within constraints set in the profile.
If your organization has a preference for which kind of profile is used, or there are cases where one may be preferable to the other, you probably want to group and clearly distinguish the two types.
The purpose of this sample is to show you both how to retrieve the account profiles and filter the results for the different types, and for custom profiles that have been created in the account.
Get credentials
To use the Ingest Profiles API you will need proper credentials.
The easiest way to get credentials in most cases is through the Studio Admin API Authentication section (requires admin permissions on your account). See Managing API Authentication Credentials for details. In most cases, you probably just want to get permissions for all Ingest Profiles API operation:
If the permissions you need are not available in Studio, or if you prefer to get them directly from the OAuth API, use your choice of the Get Client Credentials documents listed below. Whichever option you choose, you will need to ask for the correct operation permissions. The following can be used with cURL or Postman to get all permissions for the Ingest Profiles API:
"operations": [
"video-cloud/ingest-profiles/profile/read",
"video-cloud/ingest-profiles/profile/write",
"video-cloud/ingest-profiles/account/read",
"video-cloud/ingest-profiles/account/write"
]
The app
Source code
Find all the code associated with this sample in this GitHub repository.
Sample app
See the Pen Ingest Profiles API Sample: Get All Profiles for an Account by Brightcove Learning Services (@rcrooks1969) on CodePen.
Using the CodePen
Here are some tips to effectively use the above CodePen:
- Toggle the actual display of the player by clicking the Result button.
- Click the HTML/CSS/JS buttons to display ONE of the code types.
- Click Edit on CodePen in the upper right corner to fork this CodePen into your own account.
- Find all the code associated with this sample in this GitHub repository.
Proxy code
In order to build your own version the sample app on this page, you must create and host your own proxy. (The proxies used by Brightcove Learning Services only accept requests from Brightcove domains.) A sample proxy, very similar to the one we use, but without the checks that block requests from non-Brightcove domains, can be found in this GitHub repository. You will also find basic instructions for using it there, and a more elaborate guide to building apps around the proxy in Using the REST APIs.