Batch provisioning is available only for Brightcove Pro and Enterprise customers. If you are interested in upgrading your Brightcove account, please contact Brightcove for more information.
Batch provisioning enables you to upload and provision multiple videos and playlists at once using an XML manifest file and Brightcove's FTP server. You can use batch provisioning to automatically generate videos and playlists, which will appear in your Media Library in the Media module once the upload process is complete. The batch provisioning feature lets you upload large numbers of assets or make multiple edits quickly without accessing the Media module. However, the batch provisioning feature requires you to specify your upload with a high degree of precision in an XML document, rather than working with a graphical user interface.
To use Brightcove's batch provisioning feature, follow these main steps, each of which is described in more detail later.
After your upload is complete, you can receive an email notification confirming that your files have been successfully received by Brightcove, or notifying you of any problems encountered during the transfer. See Troubleshooting for information that can help you identify any problems you run into.
In addition to this document, Brightcove provides the following documentation to help you understand and use the Brightcove batch provisioning feature:
To use Brightcove's batch provisioning system, you should have a basic knowledge of XML principles and experience creating XML documents. If you need a primer on XML, here are a few basic resources:
Your account must be set up to allow FTP provisioning, and you need access to Brightcove's FTP servers. Contact Brightcove support or your account manager to help you with this.
To use Brightcove's batch provisioning system, you'll need a few basic software tools:
Gather your assets you want to upload in a location or system convenient for working with them and uploading them. Make sure that each asset is compatible with Brightcove's requirements for assets of that type. Video files uploaded with batch provisioning must be either VP6 (FLV) or H.264 (MP4) encoded. See Using Multi-Bitrate Streaming with Batch Provisioning for information about your encoding options for files you upload.
To ensure compatibility with the automated systems that process uploaded assets, you should ensure your assets do not contain any illegal characters that might interfere with the processing of your files. In general, your file names should consist of English alphanumeric characters only (1-9, A-Z, a-z). Replace any spaces with underscores. Here is a short list of illegal characters you should avoid in file names:
For each file you upload, you will need the following information, which needs to be include in the XML manifest:
For each file you upload, you must include an MD5 checksum (sometimes called a hash) as part of the XML manifest. The MD5 checksum is a unique code that allows Brightcove to validate that the file was transferred successfully. To create an MD5 checksum for a file, you can use MD5summer for Windows, the Mac OS X md5 tool, or a similar application. Your MD5 checksum application will generate for each file a string like this, d689386b367ac0f6db424f6e47ea1c06, which you must include in your XML manifest.
The XML manifest provides Brightcove with all the information we need to process your upload and make it available on Brightcove’s servers. A single XML manifest can describe multiple videos. See this sample XML manifest, which you can use as a starting point for your own manifest. The details of the tags and attributes you use to create the XML manifest are described in the Reference for the XML Manifest document.
Note: If a video or playlist with a particular reference ID already exists in your account, whether you added it using the Media module, the Console, or a previous batch upload, it will be updated with the information in the XML manifest.
It is very important to ensure that your XML manifest is free of invalid or illegal characters which need to be escaped. If uncaught, these characters could cause failures in your upload process and lead to stranded or unavailable assets. A utility that checks for well-formed XML should catch these errors should they exist. The following shows how illegal characters in XML should be represented correctly in your XML manifest:
These restrictions apply to the values of XML attributes in the manifest; in the body of XML elements that permit CDATA, you can represent these characters directly. For example, compare how the phrase "Réné & moi" is represented in the <title name > attribute and in the CDATA within the<short-description> element:
<title name="Réné & Moi" refid="myVideo"
active="TRUE" flash-full-refid="asset2">
<short-description>
<![CDATA[
Réné et moi remarquons qu'il est tellement romantique,
de manière énigmatique, de se tenir debout sur la terrasse
à Chichen Itza et d'observer la montée de la lune gibbeuse!
]]>
</short-description>
</title>
Your XML manifest can include videos, playlists, or any combination. Each item is specified in a separate XML element in the manifest. Videos are specified with asset and title XML elements, while playlists are specified with lineup XML elements.
You use the asset XML element to specify the video files and image files that make up a video. For each asset you are uploading, the XML manifest requires you to specify the following:
The refid (reference ID) attribute allows you to reference the asset in lineup and title definitions later in the manifest. The videos and playlists created by these title and lineup XML elements will appear in the Media module as well once your upload has finished processing.
For specific details and examples of how you specify assets in the XML manifest, see Identify assets for upload.
The title elements in the XML manifest pulls together the assets and metadata of your videos. For each video you want to specify in your XML manifest, you need to create a title element that provides:
For specific details and examples of how you specify videos in the title element of the XML manifest, see Creating or updating videos.
You can create either manual playlists or smart playlists in your XML manifest, using the lineup XML element. For each manual playlist, you need to provide:
For each smart playlist, you need to provide:
For specific details and examples of how you specify playlists in the lineup elements of the XML manifest, see Creating or updating playlists.
You can add cue points to a video using the cuepoint XML element in your batch provisioning manifest. A cue point is a marker at a precise time point in the duration of a video. You can use cue points to trigger mid-roll ads or to separate chapters or scenes in a long-form video. For each cue point, you need to provide:
For specific details and examples of how you specify cue points in the XML manifest, see Creating cue points.
You can also set cue points on the Brightcove Advertising module or using the Media Write API. For more information on these methods, see Adding Cue Point to Videos.
When you have finished preparing your XML manifest, perform one final check to make sure you are ready to begin uploading. Use this checklist as a guide:
After you have prepared your assets, created the XML manifest that describes the assets, and checked everything over, you are ready to begin your upload.
report-success="true" attribute in your XML manifest. For information about the possible causes of problems or error messages, see Batch Provisioning: Troubleshooting.Once your files have been transferred successfully, you can sign into the Brightcove Studio Media module and edit videos and playlists normally. However, you should allow up to 1 hour for assets to fully propagate on the network before they are available for preview.
You can use the Media module to work with videos and playlists that you added with batch provisioning. However, bear in mind the following:
overlay-update attribute.If you use batch provisioning to modify videos that already exist in your Media Library, whether they were added using the Media module or using batch provisioning, you need to be aware of how the batch provisioning system overwrites existing data. Suppose you have a video in your Media Library with the following information:
The long-description field is optional; it could have been set when the video was created or it could have been added in the Media module afterwards.
Now suppose you want to change this video's name. You included this tag in your XML manifest:
<title name="My New Video Name" refid="myVideo"
active="TRUE" flash-full-refid="asset2">
<short-description>Moon over Chichen Itza.</short-description>
</title>
However, this does more than just change the video's name. The batch provisioning system takes all the information in the title tag and overwrites the existing information about the video. Because you didn't include a long-description field, that optional information was overwritten and lost.
To get around this, you can do one of two things:
overlay-update attribute in the title tag. Setting overlay-update to true tells the batch provisioning system to update the information only the information you explicitly include and keep the information you did not change.Here is an example of a title tag using the overlay-update attribute:
<title name="My New Video Name"
refid="myVideo" active="TRUE"
flash-full-refid="asset2" overlay-update="TRUE">
<short-description>Moon over Chichen Itza.</short-description>
</title>
With overlay-update="TRUE", your long description is preserved. Only the information you explicitly include is used to overwrite the existing record.