The New Spark Platofmr UGC management system provides end-user uploads, a powerful moderation workflow and a variety of interactive applications to complement the Brightcove VideoCloud platform.
Here is everything you need to know to configure Brightcove Ingest.
Videos can be pushed to Brightcove using one of the following trigger events:
Tags will be processed as is and sent over to Brightcove as Brightcove tags in the manifest.
To pass Brightcove custom fields, prefix Media Factory metadata with brightcove:
. For example, if the name of your Brightcove custom field is color
and the value is blue
, you would create and populate the metadata field in Media Factory as brightcove:color
with the value blue
.
Here is a list of Brightcove Reserved keywords:
Using these keywords with the Brightcove: prefix will allow you to set certain values within the Brightcove Manifest.
To share with multiple Publisher IDs, you must set publisher IDs in the Advanced tab of a group the media would belong to. The key would be brightcove-share-with and the value would be the publisher ID you would like to share this media with. Media uploaded to these groups will then be uploaded to Brightcove with the original publisher ID, or the publisher ID specified on the group page, and when the callback to update Media Factory with the Brightcove ID occurs, we will then resend the manifest to Brightcove with the Publisher IDs set in the brightcove-share-with fields.
The New Spark platform makes use of the JW Longtail video player in all of it’s applications. If you need, you can replace that player with the Brightcove player.
To configure the Brightcove player, you will need the following information from VideoCloud:
Find the sub_player
template in your application.
Replace the contents of the page with the following code:
<!-- Start of Brightcove Player -->
<fm:LogHit mid="{$$media_id}"/>
<div style="display:none">
</div>
<!--
By use of this code snippet, I agree to the Brightcove Publisher T and C
found at https://accounts.brightcove.com/en/terms-and-conditions/.
-->
<!-- OLD AQ~~,AAAAjhmkJcE~,lEw7tgy9bz3fHCmFo1vVI_iaQ17aUsz0 -->
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<object id="myExperience" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="{$width}" />
<param name="height" value="{$height}" />
<param name="playerID" value="1537807828001" />
<param name="playerKey" value="AQ~~,AAAAjhmkJcE~,lEw7tgy9bz15Z-eDQBufEbPvTSAozkoy" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="linkBaseURL" value="http://{$vhost}/entry/{$$media_id}" />
<param name="wmode" value="transparent" />
<param name="@videoPlayer" value="{$externalid}" />
</object>
<!--
This script tag will cause the Brightcove Players defined above it to be created as soon
as the line is read by the browser. If you wish to have the player instantiated only after
the rest of the HTML is processed and the page load is complete, remove the line.
-->
<script type="text/javascript">brightcove.createExperiences();</script>
<!-- End of Brightcove Player -->
By default, Media Factory application galleries will show content that is approved. However, there may be a case where the file has been approved in Media Factory but is not yet available from Brightcove. To fix this, a small modification must be made to the gallery code:
Find the sub_gallery
template in your application.
You should see a bit of code that looks like this:
<fm:MediaList
fields="title,thumbUrl,publicUrl,filetype,user_name,user_firstname,user_lastname,uploadage,hits,votecount,commentcount,approvedcomments,notdeniedcomments,offfset,channel,duration"
pageSize="{$$pagesize}"
startPage="{$$page}"
collection="{$$collection}"
channel="{$$channel}"
includeChildren="true"
uid="{$$user}"
searchQuery="{$$query}"
sort="{$$sort}"
context="parent"
startTime="{$$startTime}"
moderationStatus="{%var:moderationMedia}"
fileTypes="{$$filetypes}"
>
Add one line to the bottom:
<fm:MediaList
fields="title,thumbUrl,publicUrl,filetype,user_name,user_firstname,user_lastname,uploadage,hits,votecount,commentcount,approvedcomments,notdeniedcomments,offfset,channel,duration"
pageSize="{$$pagesize}"
startPage="{$$page}"
collection="{$$collection}"
channel="{$$channel}"
includeChildren="true"
uid="{$$user}"
searchQuery="{$$query}"
sort="{$$sort}"
context="parent"
startTime="{$$startTime}"
moderationStatus="{%var:moderationMedia}"
fileTypes="{$$filetypes}"
externalid="mediaType=video"
>
The line externalid="mediaType=video" is a filter that states to only show videos that have an external ID. This is the case once Brightcove confirms the video is available.
Note that there may be other instances of <fm:MediaList>
in your application that will need to be modified in the same way.