When you deliver live streaming video with Video Cloud, one of the necessary steps is to create a video in your Video Cloud media library for the live stream. This must be a video with remote assets. The easiest way to create this video is to use the Media module in the Video Cloud Studio. You can, however, create this video using FTP batch provisioning. In this document, we'll show you how. FTP batch provisioning is available only for Video Cloud Pro and Enterprise customers. If you are interested in upgrading your Video Cloud account, please contact Brightcove for more information.
To create your live stream video usiing FTP batch provisioning, you upload an XML file to the Video Cloud FTP server. This XML file, which uses the Video Cloud FTP batch provisioning feature, creates the live asset as a video in your account. You can upload an FTP batch provisioning manifest that describes a single live video stream, or one that describes multiple live streams of the same event, which enables multi-bitrate video.
Once you have created the FTP batch provisioning manifest, use the FTP credentials you received from Brightcove Customer Support and upload the manifest to the Video Cloud FTP server. You can use an FTP client such as Filezilla to upload your XML manifest.
When you upload the file and Video Cloud server has received it, the Video Cloud FTP server will send an e-mail message to the specified notification e-mail address within the XML manifest. The notification you will receive from the FTP server will complain of a missing 'size' attribute: "The remote asset named 'Live Video' has an empty 'size' attribute. This remote asset will be processed without a size attribute. This will be a required attribute in future builds. Please migrate your scripts to include it." Ignore this error message.
When you sign into the Video Cloud Studio, you will find the live stream video in the Media module.
The following is an example of an FTP batch provisioning manifest for a single live stream. Copy the code for the FTP batch provisioning manifest and modify the values according to the specifics of your account and live stream.
<?xml version="1.0" encoding="utf-8" ?>
<publisher-upload-manifest publisher-id="BC ACCOUNT ID" preparer="NAME" report-success="true">
<notify email="EMAIL ADDRESS" />
<remote-asset refid="livevideoasset"
display-name="Live Video Asset"
type="VIDEO_FULL"
remote-url="rtmp://brightcove.fc.llnwd.net/brightcove/001"
remote-stream-name="livestream"
video-duration="-1"
video-codec="ON2"
controller-type="LIMELIGHT_LIVE"
/>
<title name="Live Video"
active="TRUE"
refid="livevideotitle"
video-full-refid="livevideoasset" >
<short-description>Live Video Stream</short-description>
</title>
</publisher-upload-manifest>
The XML manifest file must include a <remote-asset> element with the following attributes:
| attribute | description |
|---|---|
| refid | A reference ID for the stream. This reference ID will link the <remote-asset> element to the <title> element. |
| remote-url | The RTMP connection point for stream delivery provided by your CDN or Brightcove Customer Support. |
| remote-stream-name | The end point for the stream; equivalent to the Stream value in Flash Media Live Encoder. For live streaming video with DVR via Akamai HD, leave this blank. |
| video-duration | -1 |
| video-codec | ON2 (use this setting even if you're actually using H.264) |
| controller-type | Depending on your CDN, one of LIMELIGHT_LIVE, AKAMAI_LIVE, AKAMAI_HD_LIVE or LIVE_STREAMING. |
Your XML manifest also needs to include a <title> element. This element must include a video-full-refid attribute, whose value is the refid attribute of the <remote-asset> element. The <title> element can also include useful metadata about the live video. Read more about setting metadata in the <title> element in the Creating or updating videos with the title element section in FTP Batch Provisioning: Reference for the XML manifest.
If you are creating multi-bitrate streams, you will have a separate <remote-asset> element for each live stream rendition, as is described in the following section.
You can create multiple streams of the same live video source at different quality levels, and Brightcove's multi-bitrate streaming feature will select the rendition that best fits each viewer's bandwidth and player size.
Here are the steps to take to create a multi-bitrate streaming of your live video:
If you are using Adobe Flash Media Live Encoder, specify a single stream name as mystream_%i in FMLE. FMLE replaces the %i variable in the stream name with incrementing integers starting with 1. Therefore, create a <remote-asset> element in your FTP batch manifest for each live stream rendition with names like the following examples:
mystream_1
mystream_2
mystream_3
The following is an example of a FTP batch manifest for a live video that has multi-bitrate streams. Note that it is just like the previous example for a single video stream, except that it contains a separate <remote-asset> element for each live stream rendition. Copy the code for the FTP batch provisioning manifest and modify the values according to the specifics of your account and live stream.
<?xml version="1.0" encoding="utf-8"?> <publisher-upload-manifest publisher-id="17359650" preparer="Robert Saint-Loup"> <notify email="rstloup@example.com" /> <remote-asset refid="LIVE_320x240_150kbps" display-name="LIVE_320x240_150kbps - Remote Asset" type="VIDEO_FULL" video-duration="-1" video-codec="ON2" remote-url="rtmp://my.fc.exampleCDN.net/brightcove/001" remote-stream-name="live_multiple_1" controller-type="LIMELIGHT_LIVE" encoding-rate="150000" frame-width="320" frame-height="240" /> <remote-asset refid="LIVE_640x480_300kbps" display-name="LIVE_640x480_300kbps - Remote Asset" type="VIDEO_FULL" video-duration="-1" video-codec="ON2" remote-url="rtmp://my.fc.exampleCDN.net/brightcove/001" remote-stream-name="live_multiple_2" controller-type="LIMELIGHT_LIVE" encoding-rate="300000" frame-width="640" frame-height="480" /> <remote-asset refid="LIVE_960x720_650kbps" display-name="LIVE_960x720_650kbps - Remote Asset" type="VIDEO_FULL" video-duration="-1" video-codec="ON2" remote-url="rtmp://my.fc.exampleCDN.net/brightcove/001" remote-stream-name="live_multiple_3" controller-type="LIMELIGHT_LIVE" encoding-rate="650000" frame-width="960" frame-height="720" /> <title name="MBR Title with Remote Assets" refid="MBR Live Remote Assets" active="TRUE"> <short-description>Live streaming title with three renditions.</short-description> <rendition-refid>LIVE_320x240_150kbps</rendition-refid> <rendition-refid>LIVE_640x480_300kbps</rendition-refid> <rendition-refid>LIVE_960x720_650kbps</rendition-refid> </title> </publisher-upload-manifest>