CH A P T E R
1
API Overview
Revised: November 19 2012
This chapter provides an overview of the API interfaces and includes the following sections:
•
API Interfaces, page 1-1
•
API Features, page 1-2
•
Configuring REST APIs, page 1-8
API Interfaces
The MXE API has the following API interface:
MXE API Interfaces
Description
REST
An HTTP-based GET/POST interface that
provides a much simpler interface than SOAP and
can be used from JavaScript and other interfaces
that do not support SOAP.
XML-based Submission
Job submission through the MXE API can be done through an XML plan document. Jobs can be
submitted in the original MXE <planner-submit> or <planner-expand> formats or the <job> format used
by the low level enterprise control system (ECS). Jobs can also be submitted in workflow-specific XML
formats such as the VOD Packager format leveraging the MXE API's configurable plan XML support.
This configurable support allows for planner programs and XSLT transforms to be easily included in the
submission and translation process. These can be workflow specific XML plan formats or specialized
planners and transforms that provide capabilities to existing formats.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
1-1
Chapter 1
API Overview
API Features
API Features
The MXE API includes a number of planning formats (planner-expand, planner-submit, and job) that
can be used with workflow formats like VOD.
Planning Capabilities
Description
Variable replacement
Provides the ability to parameterize plans of any
format.
Setting replacement
Provides the ability to dynamically use settings in
any plan format. This also includes the ability to
override settings on a specific job or set of jobs.
Job Packages
A single job can be packaged with a set of variable
or setting replacements to allow a parameterized
XML document to be submitted as a single XML
document. In addition, Job Packages can be used
to submit multiple jobs through the MXE API as
a single submission.
INCLUDE tag
Provides the ability to include XML snippets from
files or HTTP servers into any of the plan formats.
This capability can be used for dynamic ad
insertion or the ability to include XML snippets
from files or HTTP servers into any of the plan
formats. Additionally it supports parameter
insertion into the included XML snippets.
FTP fetch
FTP fetch can be used for part of any job
submission.
Translation Process
The heart of the configurable plan support is a translation process. When XML plans are submitted to
the MXE API, they are translated through the following translation process loop:
•
Apply Variable Replacements
•
Execution of an XSLT or Planner-based on an XPath match
On a job submission or a multi-pass translation, these steps are repeated until the plan can be submitted
to the ECS or the maximum number of loops is reached. If a jobPackage is generated at the end of the
loop, the loop is repeated for each of the jobs within the package applying any jobPackage specific
submission parameters from the job. Job packages can be nested within other job packages.
Variable Replacement
The variable replacement capability allows users to parameterize various job settings by defining
variables, @{varname}, in the plan XML itself (planner-submit, job, etc.), or if the profile editing UI
allows, in a specific profile field.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
1-2
OL-24031-01
Chapter 1
API Overview
API Features
During the two variable replacement steps in the translation process, the API looks for @{varname}
specifications in the document and replaces them with the value of the 'varname' variable. 'varname' may
match any variable specified in submissionParameterList (See the section Parameter XML below.) or any
setting name (using an override specified in a submissionParameterList or the current system setting).
•
If a variable can not be resolved on a job submission request, the job submission fails. Jobs can be
translated between formats and returned from the translate routines without all the variables being
replaced.
•
When using the <include>, variable / value pairs may be specified to allow for parameter
substitution into the included XML content.
•
For job packages, variable replacement is done on the internal jobs allowing the variable's values
specified in the jobPackage to override the global or parent jobPackage values.
The following is an example of using variable replacement to dynamically set the job profile name in a
jobPackage submission:
<jobPackage>
<submitParameterList>
<variable name="profile_name">conform</variable>
</submitParameterList>
<jobList>
<planner-submit>
<source-name>c:\media\clips\Bridge.mov</source-name>
<meta-title>Variable Substitution</meta-title>
<profile>@{profile_name}.job.awp</profile>
</planner-submit>
</jobList>
</jobPackage>
<include> Tag
The <include> tag can be used to include a piece of XML into any of the job formats. It has the basic
form of:
<axe:include xmlns:axe="urn:Anystream.com:include" src="\\machine\includeSrc" parm1="A"
parm2="B" />
OR
<axe:include xmlns:axe="urn: Anystream.com:include" src="http://localhost/webpage.aspx"
nameList="parm1 parm2" requestType="post">
<variable name="parm1" value="A"/>
<variable name="parm2">B</variable>
<fallback>
Fallback content
</fallback>
</axe:include>
•
The src attribute specifies the file path or URL used to fetch included content.
•
Use of URL's allows for dynamic insertion based on query parameters and can be used for purposes
such as ad insertion. URL's should begin with "http://".
•
For URL-based sources the nameList attribute can specify a space-separated list of variables or
settings to be passed in the HTTP request.
•
The requestType attribute can be used to specify either a GET or POST request.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
1-3
Chapter 1
API Overview
API Features
The special attributes src, nameList, and requestType must be specified in the include tag. These same
names may be used in <variable> to set variables for replacement or passing in an HTTP request, but do
not take their special meaning.
Variable replacement appies the name / value replacement of @{name} references in the included
content similar to the general variable replacement, but only for the content included. Variables
replacement can be specified as attribute/value pairs in the <include> tag itself or as <variable> child
tags within the <include> tag.
A <fallback> tag may be included in the <include> tag to specify content that is to be used if the src
content cannot be loaded. If not specified, a failure to retrieve the src content will cause the translate
process to fail.
The content returned from the src must be a valid XML document fragment, so it can replace the
<include> tag. It can contain comments and nodes.
FTP File References
There is a planner that ships with the MXE API that allows for ftp:// file references to be used in a plan
XML format. For example:
<planner-submit>
<source-name>ftp://user:password@localhost:21/media/smokelungs.mpg</source-name>
<ms-output-dir>ftp://user:password@localhost:21/output</ms-output-dir>
<output-basename>newLungs</output-basename>
<meta-title>Test Title</meta-title>
<meta-author>Test Author</meta-author>
<profile>myprofile.job.awp</profile>
</planner-submit>
This planner-submit includes ftp:// references that are used to fetch the source content and to save the
output content. For more information on using <planner-submit> tags, see Chapter 4, “Planner-Submit
XML.”
The FTP URL is formatted as follows:
ftp://[username:password]@hostname[:port]/path[;passive=yes|no]
FTP URL Format
Description
username
Optional FTP login username.
Default = anonymous
password
Optional FTP password.
Default = ""
hostname
FTP server hostname.
port
Optional FTP server port.
Default = 21
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
1-4
OL-24031-01
Chapter 1
API Overview
API Features
FTP URL Format
Description
path
Directory path to monitor.
To specify an absolute path (%2f is escaped /)
ftp://username:password@hostname/%2fpath
To specify a relative path. Current path is set to
<UserLoginDirectory>/path
ftp://username:password@hostname/path
passive
If yes then use FTP passive mode. If no then use
FTP active mode.
Default = yes
Parameter XML
Parameter XML can be used to specify variable replacement or settings overrides as follows:
<submitParameterList>
<variable name="MyVariable">value</variable>
<setting name="profile-dir">c:/profiles</setting>
<udm-item name="vchip-rating" value="R"/>
<jobData><myCustomDataTag/></jobData>
</submitParameterList>
The <variable> and <setting> tags have similar functionality in regard to variable replacement, except
the variable tag name attribute can not be used with a setting name and a setting tag name attribute can
only be used with a setting name. In addition to variable replacement, the setting tags also override the
settings used by the planners. For example, setting the ms-output-dir setting in submitParameterList
overrides the Microsoft output directory for the job.
The <udm-item> tag lets you override user defined meta items.
The ECS and the original planner-submit use different names to refer to the same settings. For example,
the ECS setting msoutputdir (default Microsoft Output Directory) is the same as the planner-submit
<ms-output-dir>. In the MXE API, the ECS settings are remapped to match the same names as the
planner-submit format.
Parameter XML can be bundled with the plan XML using jobPackage XML. For more information on
using jobPackage XML, see Chapter 6, “JobPackage XML.”
The jobData tag is job-specific XML that is carried along with the job. It can be used to match XSLT
transforms or to provide additional data to specialized planners.
Planner-submit
If the content of the planner-submit contains a <profile> tag, the MXE API translates the <profile> tag
into a <profile-dir> tag using the profile-dir setting.
For more information about planner-submit XML, see Chapter 4, “Planner-Submit XML.”
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
1-5
Chapter 1
API Overview
API Features
JobPackage XML
jobPackage XML allows for plan XML in various formats to be bundled with parameter XML so the two
can be submitted as a single XML document. This is helpful in the REST API which only allows for a
single input XML document. For more information about jobPackage XML, see Chapter 6, “JobPackage
XML.”
The jobPackage also allows a single job translation or submission to submit multiple jobs. Although the
jobs run independently, they are submitted in one request sharing a common set of parameter XML.
jobPackage specifications may be nested as jobs within the jobPackage. This feature means that
transforms and customer planners can take advantage of the jobPackage capability to introduce new
parameter XML for additional transforms and planners. Parameter XML within a jobPackage
incrementally changes previous parameter XML as the job packages are nested.
The following is an example of a jobPackage XML:
<jobPackage>
<submitParameterList>
</submitParameterList>
<jobList>
<planner-submit>
.
.
.
</planner-submit>
<job name="secondJob">
</job>
</jobList>
</jobPackage>
Each sub-node of the jobList is treated as a separate job and undergoes the normal transformation
process. Jobs listed in the jobList may use different plan XML formats. To be submitted, all of the jobs
in the list must get translated into either job XML or jobPackage XML. If the job tag of the job XML,
that name is returned with the jobSubmitStatus returned by the Submit request.
There is an canSubmit attribute that is added to the jobPackage node once the document has all of its job
list translated into jobs. This allows for the creation of XSL transforms and planners that can manipulate
the jobPackage prior to it being submitted. Adding canSubmit='true' to a jobPackage disables the
translation of the jobList.
Configuring Planners
Each planner tag, within the plannerList tag, defines a planner to be executed when the matching xPath
is detected in a submitted plan. The planner tag has similar attributes to the translate tag including a
prefix and nameSpace that can be used to associate name spaces with prefixes used in the xPath. Like
the transform tag, nameSpace tags can be nested within the planner tag to define multiple namespaces
for the given xPath.
Each planner definition should include a className attribute and an assembly attribute that indicates
where the class that handles this type of document can be found. An assembly value of "internal"
indicates the class is a class internal to the MXE API. The only example of this is the VodSubmission
planner that handles the multiPackage plan XML format. Some of the planners have special built-in
meaning and do not require an assembly including
•
"JobPackage" (that handles jobPackage XML),
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
1-6
OL-24031-01
Chapter 1
API Overview
API Features
•
"JobXML" that ends the translation process when a plan XML format has reached a submittable job
XML format, and
•
"ECSExpand" that handles the original "planner-expand" and "planner-submit" plan XML formats.
These built-in planners should always be in the planners.xml file.
Note
Planner definitions can also include an options attribute which contains planner specific options as a text
string. The options attribute is not being used currently by any of the planners.
In the translate process as described above, a single planner is executed in each loop through the process.
Therefore the order planners appear in this configuration file is very important. If an entry is added that
matches valid job XML prior to it reaching the "JobXML" planner, the translate process will never
complete successfully.
Each transform tag includes
•
a name identifying that transform,
•
an xPath to match, and
•
the xsltFileName containing the XSLT transform.
Each transform may also include a namespace and prefix to specify a name space used in the xPath. If
there is more than one namespace prefix needed for the xPath, <prefixDefinition> tags may be nested
within the <transform> tag with the nameSpace attribute specifying the name space and the prefix
attribute specifying the prefix.
The order that planners and transforms are defined is very important since the translation process will
use the first matching transform or planner on each translation loop.
Example 1-1
Example of <plannerList> Tag
<plannerList>
<transform name="Odd Job" xPath="/oddjob" xsltFileName="oddjob.xsl" />
<transform name="My Simple VOD" xPath="/myVod" xsltFileName="myvod.xsl" />
<transform name="Super Simple Vod" xPath="/superSimpleVod"
xsltFileName="SuperSimpleVod.xsl" />
<!-- System planners - do not change -->
<planner name="JobPackage" className="JobPackage" xPath="/jobPackage" />
<planner name="JobPackage" className="JobPackage" xPath="/jobPackage"
nameSpace="urn:Cisco.com:agility:jobxml:1-0"/>
<planner name="Include" className="Cisco.IncludePlanner.Planner"
assembly="include/IncludePlanner.dll" xPath="//inc:include" >
<prefixDefinition prefix="inc" nameSpace="urn:Cisco.com:include" />
</planner>
<planner
<planner
<planner
<!-- End
name="JobXML" className="JobXML" xPath="/job" />
name="ECSExpand" className="ECSExpand" xPath="/planner-expand" />
name="ECSExpand" className="ECSExpand" xPath="/planner-submit" />
System build in planners -->
<!-- VOD Submission planner -->
<planner name="PackagePlanner"
className="Cisco.PackagePlanner.VodSubmission"
assembly="vod/PackagePlanner.dll" internal="yes"
xPath="/multiPackage" />
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
1-7
Chapter 1
API Overview
Configuring REST APIs
</plannerList>
Developing New XSLT Transforms
XSLT transforms can be used to make minor changes to submitted jobs or to create new planning
languages.
Variables and settings can be used within a transform by including an <xsl:param
name="$settingOrVariable" /> tag at the beginning of the .XSL transform file.
Package Submission
A separate component of the MXE API is the ability to submit to MXE on a 'package' basis.
The purpose of the multi-package format is to allow a user to independently specify the input and the
processing. The Input file list is used to identify any number of clips to be 'spliced' together to form the
final content. The packages are specifications on how the content should be processed. The
inputFileList tag allows the user to identify the sequence of clips that comprise the final content file.
The sequence can then be processed in a variety of ways corresponding to each package specification in
the multi-package XML. For more information about multiPackage submission, see Chapter 5,
“MultiPackage XML.”
The general format of a package is:
<multiPackage>
<inputFileList>
<!-- any number of input files -->
<inputFile>
…
</inputFile>
<inputFile>
…
</inputFile>
…
</inputFileList>
<!-- any number of packages -->
<standardPackage>
…
</standardPackage>
<planner-submit>
…
<planner-submit>
<vodPackage>
…
</vodPackage>
…
</multiPackage>
Configuring REST APIs
The API has a common set of configuration files (planners.xml, transforms.xml, settingDefinitions.xml,
profileTypes.xml). In addition, there are API specific settings in the Web.config file . The following is
a sample appSetting section showing these settings and their default values:
<appSettings>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
1-8
OL-24031-01
Chapter 1
API Overview
Configuring REST APIs
<add key="ecs.host" value="localhost"/>
<add key="ecs.port" value="3501"/>
<add key="ecs.receiveTimeout" value="5000"/>
<add key="plannersFile" value="config/planners.xml"/>
<add key="plannersAssemblyPath" value="planners"/>
<add key="transformsFile" value="config/transforms.xml"/>
<add key="transformsPath" value="transforms"/>
<add key="profileTypesFile" value="config/profileTypes.xml"/>
<add key="settingDefinitionsFile" value="config/settingDefinitions.xml"/>
<add key="basePath" value="c:\Program Files\Cisco\media experience engine\API"/>
<add key="includeStackTrace" value="false"/>
</appSettings>
Key Value
Description
ecs.host
The host name or IP address of the ECS server.
ecs.port
The port number to use to communicate with the
ECS.
ecs.recieveTimeout
The timeout in milliseconds to wait for a response
from the ECS.
plannersFile
The filename and optional path to the planners
definition configuration file.
plannersAssemblyPath
The path to where assembly files can be found.
transformsFile
The filename and optional path to the transforms
configuration file.
transformsPath
The path to where transform files are stored.
profileTypesFile
The filename and optional path to the profile types
definition file.
settingDefintionsFile
The filename and optional path to the settings
definitions file.
basePath
The base path that other relative path settings
should be relative to.
Note
includeStackTrace
Note
If this is a relative path, it is in relation to
the application location.
If enabled, full stack traces are included in Rest
exception returns.
Any paths or filenames with optional paths settings that do not have full paths are relative to the
"basePath" setting.
MXE REST API
The MXE Representational State Transfer (REST) API provides a resource/URI-based Web service
interface to the MXE platform. REST is a lightweight XML over HTTP interface that can be used from
languages such as JavaScript that do not easily support SOAP. For more information about MXI REST
API commands, see Chapter 3, “REST Commands.”
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
1-9
Chapter 1
API Overview
Configuring REST APIs
GET Requests
Figure 1-1
HTTP GET Requests
HTTP GET requests are used for all "Read" operations, such as getting a job status.
All the GET requests use a logical URL and its parts (i.e. of the URL path) to identify the input and
resources to be retrieved.
Table 1-1
Examples of GET Requests
GET Request Examples
Logical URL
GET a list of jobs where <jobs> is the key
identifier.
http://localhost/mxerest/<jobs>
GET an individual job summary for job 71
http://localhost/mxerest/<jobs>/71
GET job detail for job 71
http://localhost/mxerest/<jobs>/71/detail
All REST responses return UTF-8 encoded XML. Responses may contain links to other resources
allowing the client to optionally drill down to get more detailed information by submitting another
request. For example, the XML document returned by the job list request (http://localhost/mxerest/jobs)
contains a list of job status summaries with links to the detailed job status (for job 2 in this example):
<jobList>
<timestamp>1126807551</timestamp>
<jobSummary id="2" href="http://localhost/mxerest/jobs/2/detail">
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
1-10
OL-24031-01
Chapter 1
API Overview
Configuring REST APIs
POST Requests
HTTP POST requests, using UTF-8 encoded XML as the POST data, are used for all Create, Update,
and Delete operations such as submitting a job. For example, to submit a job the URL is:
http://localhost/mxerest/Submit
Job plan XML is submitted as the POST data
Figure 1-2
REST API POST Helper
Exceptions
When the Web service encounters an error processing a request an exception is returned using the
following XML message <exception>, which contains the exception message <message> and if enabled
a stack trace <stackTrace>:
<?xml version="1.0" encoding="utf-8"?>
<exception>
<message>Unable to communicate with the ECS on [10.3.5.191:3501]</message>
<stackTrace>
at Cisco.MXEAPI.ECS.Submit(String command, Boolean
hasResponse) in
c:\Cisco\MXEapi\MXEapi\ecs.cs:line 1257
at Cisco.MXEAPI.ECS.Submit(String command) in c:\Cisco\MXEapi\MXEapi\ecs.cs:line 1195
at Cisco.MXEAPI.ECS.GetJobNotificationList(Int32 jobId) in
c:\Cisco\MXEapi\MXEapi\ecs.cs:line 836
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
1-11
Chapter 1
API Overview
Configuring REST APIs
at Cisco.mxerest.Jobs.OnPageLoad() in C:\Cisco\MXEAPI\mxerest\Jobs.cs:line 196
at Cisco.mxerest.RestPage.Page_Load(Object sender, EventArgs e) in
c:\Cisco\MXEapi\mxerest\restpage.cs:line 74
</stackTrace>
</exception>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
1-12
OL-24031-01
CH A P T E R
2
API Installation Verification and Basic
Authentication Configuration
Revised: May 4, 2011
This chapter provides information about API installation and basic authentication configuration and
includes the following chapters:
•
About MXE Platform Dependencies, page 2-1
•
Troubleshooting, page 2-3
•
Configuring Basic Authentication, page 2-4
About MXE Platform Dependencies
MXE API dependencies when upgrading to a newer version of MXE:
•
The REST interface is backwards compatible.
Note
•
Occasionally other properties or methods are added in the REST XML. Any custom
applications that use REST should not require changes unless otherwise documented in the
release notes.
Custom planners and XSLT transforms (along with corresponding entries in the c:\Program
Files\Cisco\Media Experience Engine\API\config\planner.xml file) need to be backed up and
restored before the Web Services API has been reinstalled.
Verifying Installation—REST
Use the following URL to test the HTTP GET requests:
http://localhost/mxerest/getcommands
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
2-1
Chapter 2
API Installation Verification and Basic Authentication Configuration
Verifying Installation—REST
Figure 2-1
Testing HTTP GET Requests
Use the following URL to test the HTTP POST requests (job submission, etc.):
http://localhost/mxerest/posthelper
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
2-2
OL-24031-01
Chapter 2
API Installation Verification and Basic Authentication Configuration
Troubleshooting
Figure 2-2
Testing HTTP Post Requests
Troubleshooting
Communication with ECS Error
Verify that CAM and ECS services are running.
•
Click Control Panel > Administrative Tools > Services.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
2-3
Chapter 2
API Installation Verification and Basic Authentication Configuration
Configuring Basic Authentication
Figure 2-3
ECS Error
Configuring Basic Authentication
Use this procedure to enable or disable basic authentication for the Cisco MXE API. By default,
authentication is enabled.
Note
To integrate Cisco MXE 3500 Release 3.2 with supported versions of Cisco Show and Share, you must
disable basic authentication by configuring Cisco MXE 3500 for Unauthenticated Mode.
Procedure
Step 1
From the Toolbox, click Administration > API Admin.
Step 2
In the Configure Authentication Mode section, click Edit.
Step 3
Choose one of the following options:
Step 4
•
Authenticated Mode— Specifies that the MXE REST API requires basic authentication. Various
API components are restricted.
•
Unauthenticated Mode—Specifies that the MXE REST API does not require any authentication. No
API components are blocked, giving users unrestricted access to all and any API components.
Click Save.
Note
Cisco MXE 3500 uses the mode that you configure upon save, though this mode is not reflected
in the UI.
Configuring the Authentication Password
Use this procedure to configure the required password to access the MXE Rest API when
Cisco MXE 3500 is configured for Unauthenticated Mode.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
2-4
OL-24031-01
Chapter 2
API Installation Verification and Basic Authentication Configuration
Configuring the Authentication Password
Procedure
Step 1
From the Toolbox, click Administration > API Admin.
Step 2
In the Configure Authentication Password section, click Edit.
Step 3
Enter a password that longer than three characters and then enter that password again.
Step 4
Click Save.
Note
Cisco MXE 3500 uses the password that you configure upon save, though the existing password
is not reflected in the UI.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
2-5
Chapter 2
API Installation Verification and Basic Authentication Configuration
Configuring the Authentication Password
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
2-6
OL-24031-01
CH A P T E R
3
REST Commands
Revised: May 4, 2011
This chapter describes the REST commands and includes the following sections:
•
Job Control Commands, page 3-1
•
Timed Job Control Commands, page 3-31
•
Node Status Commands, page 3-39
•
System Setting Commands, page 3-47
•
Profile Commands, page 3-50
•
Translate and Submit Job Commands, page 3-59
•
Miscellaneous Commands, page 3-63
Job Control Commands
The following commands are used to query job status and manage submitted jobs:
•
Get Job List, page 3-2
•
Get Job List for User, page 3-5
•
Get Job List Since, page 3-8
•
Get Job Summary, page 3-11
•
Get Job Detail, page 3-14
•
Get Job Detail with Accounting, page 3-18
•
Get Job XML, page 3-23
•
Get Job Notifications, page 3-24
•
Stop Job, page 3-26
•
Delete Job, page 3-27
•
Reschedule Job, page 3-28
•
Retry Job, page 3-29
•
Update Job Priority, page 3-30
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-1
Chapter 3
REST Commands
Job Control Commands
Get Job List
Get list of non-reaped jobs submitted to the ECS. Use this request to get the initial timestamp that can
be used as a seed for the Get Job List Since request.
Note
This request can potentially return a large amount of data if many jobs have been submitted to the ECS.
URL Template
http://localhost/mxerest/jobs
HTTP Method
GET
XML Response Data Structure
Field
Description
jobList
Root tag.
timestamp
Timestamp for job status. To be used as a seed for
querying subsequent job status and returning only
jobs that have changed since timestamp.
type
Job list type:
Full - all non-reaped jobs are returned
Delta - only jobs changed since the timestamp are
returned
jobSummary
Job summary section
id = job ID
href = link to job detail
title
Job title
author
Job author
status
Job status:
Pending - job is waiting to be scheduled
Running - job is running
Completed - job has completed successfully
Failed - job has failed
state
Job state
New - job is new since last status request
Update - job status has changed since last status
request
Deleted - job has completed/failed and will be
reaped from memory within 60 minutes
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-2
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Field
Description
completionReason
Job completion reason.
NotComplete - job has not started or is running
Succeeded - job completed successfully
Failed - job failed
UserStopped - job stopped at request of operator
SystemStopped - job stopped by system
submitTime
Time job was submitted:
yyyy-mm-dd hh:mm:ss
completeTime
Time job was completed:
yyyy-mm-dd hh:mm:ss
Note
This is blank if the job is still running.
priority
Job priority
liveWorker
Live worker name (capture station) reserved by
this job.
reservedDuration
Amount of time in seconds the live worker
(capture station) is reserved.
timedJobId
The ID of the associated timed job.
Note
userData
This is 0 if there is no associated timed
job.
XML data from the user-data-job section of a job
XML, including any user-defined metadata.
Parameters
None
Expected Results
Returns <timestamp> and list of job summaries <jobSummary> with links to the detailed job status.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<jobList>
<type>full</type>
<timestamp>1126807551</timestamp>
<jobSummary id="2" href="http://localhost/mxerest/jobs/2/detail">
<title>---</title>
<author>---</author>
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:06:46</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
</jobSummary>
<jobSummary id="3" href="http://localhost/mxerest/jobs/3/detail">
<title>---</title>
<author>---</author>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-3
Chapter 3
REST Commands
Job Control Commands
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:09:23</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
</jobSummary>
</jobList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-4
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Get Job List for User
Get list of jobs for user (based on user-defined-metadata parameter 'user-id').
URL Template
http://localhost/mxerest/jobs/user/[user-id]
HTTP Method
GET
XML Response Data Structure
Field
Description
jobList
Root tag.
timestamp
Timestamp for job status. To be used as a seed for
querying subsequent job status and returning only
jobs that have changed since timestamp.
type
Job list type:
Full - all non-reaped jobs are returned
Delta - only jobs changed since the timestamp are
returned
jobSummary
Job summary section
id = job ID
href = link to job detail
title
Job title
author
Job author
status
Job status:
Pending - job is waiting to be scheduled
Running - job is running
Completed - job has completed successfully
Failed - job has failed
state
Job state
New - job is new since last status request
Update - job status has changed since last status
request
Deleted - job has completed/failed and will be
reaped from memory within 60 minutes
completionReason
Job completion reason.
NotComplete - job has not started or is running
Succeeded - job completed successfully
Failed - job failed
UserStopped - job stopped at request of operator
SystemStopped - job stopped by system
submitTime
Time job was submitted:
yyyy-mm-dd hh:mm:ss
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-5
Chapter 3
REST Commands
Job Control Commands
Field
Description
completeTime
Time job was completed:
yyyy-mm-dd hh:mm:ss
Note
This is blank if the job is still running.
priority
Job priority
liveWorker
Live worker name (capture station) reserved by
this job.
reservedDuration
Amount of time in seconds the live worker
(capture station) is reserved.
timedJobId
The ID of the associated timed job.
Note
userData
This is 0 if there is no associated timed
job.
XML data from the user-data-job section of a job
XML, including any user-defined metadata.
Parameters
None
Expected Results
Returns <timestamp> and list of job summaries <jobSummary> with links to the detailed job status.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<jobList>
<type>full</type>
<timestamp>1126807551</timestamp>
<jobSummary id="2" href="http://localhost/mxerest/jobs/2/detail">
<title>---</title>
<author>---</author>
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:06:46</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
</jobSummary>
<jobSummary id="3" href="http://localhost/mxerest/jobs/3/detail">
<title>---</title>
<author>---</author>
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:09:23</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
</jobSummary>
</jobList>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-6
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-7
Chapter 3
REST Commands
Job Control Commands
Get Job List Since
Get list of jobs submitted to ECS that have changed since specified timestamp.
URL Template
http://localhost/mxerest/jobs/since/[timestamp]
HTTP Method
GET
XML Response Data Structure
Field
Description
timestamp
Timestamp for job status. To be used as a seed for
querying subsequent job status and returning only
jobs that have changed since timestamp.
type
Job list type:
Full - all non-reaped jobs are returned
Delta - only jobs changed since the timestamp are
returned
jobSummary
Job summary section
id = job ID
href = link to job detail
title
Job title
author
Job author
status
Job status:
Pending - job is waiting to be scheduled
Running - job is running
Completed - job has completed successfully
Failed - job has failed
state
Job state
New - job is new since last status request
Update - job status has changed since last status
request
Deleted - job has completed/failed and will be
reaped from memory within 60 minutes
completionReason
Job completion reason.
NotComplete - job has not started or is running
Succeeded - job completed successfully
Failed - job failed
UserStopped - job stopped at request of operator
SystemStopped - job stopped by system
submitTime
Time job was submitted:
yyyy-mm-dd hh:mm:ss
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-8
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Field
Description
completeTime
Time job was completed:
yyyy-mm-dd hh:mm:ss
Note
This is blank if the job is still running.
priority
Job priority
liveWorker
Live worker name (capture station) reserved by this
job.
reservedDuration
Amount of time in seconds the live worker (capture
station) is reserved.
timedJobId
The ID of the associated timed job.
Note
userData
This is 0 if there is no associated timed job.
XML data from the user-data-job section of a job
XML, including any user-defined metadata.
Parameters
Parameter
Description
Expected Value
timestamp
Timestamp value returned from previous get yyyy-mm-dd
job list or get job list since call.
hh:mm:ss
Status
NA
Expected Results
Returns list of job summaries for any job changed, added, or deleted since specified timestamp
XML Response
<?xml version="1.0" encoding="utf-8"?>
<jobList>
<type>delta</type>
<timestamp>1126807551</timestamp>
<jobSummary id="2" href="http://localhost/mxerest/jobs/2/detail">
<title>---</title>
<author>---</author>
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:06:46</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
</jobSummary>
<jobSummary id="3" href="http://localhost/mxerest/jobs/3/detail">
<title>---</title>
<author>---</author>
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:09:23</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-9
Chapter 3
REST Commands
Job Control Commands
<timedJobId>0</timedJobId>
</jobSummary>
</jobList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-10
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Get Job Summary
Returns job ID, status timestamp, title, author, status, state, submit time, complete time, and priority.
Also includes link to job detail.
URL Template
http://localhost/mxerest/jobs/[jobId]
HTTP Method
GET
XML Response Data Structure
Field
Description
timestamp
Timestamp for job status. To be used as a seed for
querying subsequent job status and returning only
jobs that have changed since timestamp.
type
Job list type:
Full
Delta
jobSummary
Job summary section
id = job ID
href = link to job detail
title
Job title
author
Job author
status
Job status:
Pending - job is waiting to be scheduled
Running - job is running
Completed - job has completed successfully
Failed - job has failed
state
Job state
New - job is new since last status request
Update - job status has changed since last status
request
Deleted - job has completed/failed and will be
reaped from memory within 60 minutes
completionReason
Job completion reason.
NotComplete - job has not started or is running
Succeeded - job completed successfully
Failed - job failed
UserStopped - job stopped at request of operator
SystemStopped - job stopped by system
submitTime
Time job was submitted:
yyyy-mm-dd hh:mm:ss
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-11
Chapter 3
REST Commands
Job Control Commands
Field
Description
completeTime
Time job was completed:
yyyy-mm-dd hh:mm:ss
Note
This is blank if the job is still running.
priority
Job priority
liveWorker
Live worker name (capture station) reserved by
this job.
reservedDuration
Amount of time in seconds the live worker (capture
station) is reserved.
timedJobId
The ID of the associated timed job.
Note
userData
This is 0 if there is no associated timed job.
XML data from the user-data-job section of a job
XML, including any user-defined metadata.
Parameters
Parameter
Description
jobId
Job ID
Expected Value
Status
Expected Results
Summary of specified job.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<jobSummary id="14" href="http://localhost/mxerest/jobs/14/detail">
<title>Documentation Example</title>
<author>admin</author>
<status>Running</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2010-11-19 11:25:32</submitTime>
<completeTime/>
<priority>2</priority>
<liveWorker/>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
<userData>
<submit-machine>johndoe-xpm</submit-machine>
<job-profile>Blackberry 81xx WMV 16x9</job-profile>
<source-clip>\\johndoe-xpm\media\Documentation Example.mov</source-clip>
<start-timecode>00:00:00:00</start-timecode>
<stop-timecode>00:00:00:00</stop-timecode>
<source-inpoint>00:00:00.000</source-inpoint>
<source-outpoint>00:00:00.000</source-outpoint>
<description/>
<keywords/>
<audience-rating>None</audience-rating>
<basename>Documentation Example</basename>
</userData>
</jobSummary>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-12
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-13
Chapter 3
REST Commands
Job Control Commands
Get Job Detail
Returns job summary information along with detail for each worker task.
URL Template
http://localhost/mxerest/jobs/[jobId]/detail
HTTP Method
GET
XML Response Data Structure
Field
Description
jobDetail
Job detail section
id = job ID
title
Job Title
author
Job author
status
Job status:
Pending - job is waiting to be scheduled.
Running - job is running
Completed - job has completed successfully
Failed - job has failed
state
Job state:
New - job is new since last status request
Update - job status has changed since last status
request
Deleted - job has completed/failed and will be
reaped from memory within 60 minutes
completionReason
Job completion reason:
NotComplete - job has not started or is running
Succeeded - job completed successfully
Failed - job failed
UserStopped - job was stopped at request of
operator
SystemStopped - job was stopped by system
submitTime
Time the job was submitted:
yyyy-mm-dd hh:mm:ss
completeTime
Time the job completed:
yyyy-mm-dd hh:mm:ss
Note
This is blank if the job is still running.
priority
Job priority
liveWorker
Live worker name (capture status) reserved by this
job.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-14
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Field
Description
reservedDuration
The amount of time in seconds the live worker
(capture station) is reserved.
timeJobId
The ID of the associated timed job
Note
This is 0 if there is no associated timed job.
userData
XML data from the user-data-job section of job
XML including any user-defined metadata.
taskList
The section containing the worker task detail.
task
Worker task section:
id = worker task ID
status
Task status:
Pending - task is waiting to be scheduled
Dependent - task is dependent on one or more task
start/complete events
Provisioned - request to start task has been sent to
LCS
Running - the task is executing
StopRequest - request to stop task has been sent to
LCS
Completed - task completed successfully
Failed - task failed
type
Task type/worker name (prefilter, fileman,flash,
etc.)
startTime
Task start time:
yyyy-mm-dd hh:mm:ss OR “-not started-”
stopTime
Task stop time:
yyyy-mm-dd hh:mm:ss
percentComplete
Percentage of task completed
elapsedSeconds
Current elapsed time in seconds for the task.
failToken
list of error message tokens for the task.
failMessage
Concatenated list of error messages/warnings for
the task.
userData
User data for the task, for example task display
name and task profile name.
Parameters
Parameter
Description
jobId
Job ID
Expected Value
Status
Expected Results
Job detail for specified job including detail for each task.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-15
Chapter 3
REST Commands
Job Control Commands
XML Response
<?xml version="1.0" encoding="utf-8"?>
<jobDetail id="6">
<title>---</title>
<author>---</author>
<status>Pending</status>
<completionReason>NotComplete</completionReason>
<state>new</state>
<submitTime>2005-09-14 15:13:40</submitTime>
<completeTime />
<priority>100</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
<userData><submit-machine>VA01LTMGROSS</submit-machine><job-profile>package</job-profile><
source-clip>C:\DOCUME~1\mgross\LOCALS~1\Temp\temp_any_file.any</source-clip><start-timecod
e>00:00:00:00</start-timecode><stop-timecode>00:00:00:00</stop-timecode><source-inpoint>00
:00:00.000</source-inpoint><source-outpoint>00:00:00.000</source-outpoint><description></d
escription><keywords></keywords><audience-rating>none</audience-rating><basename></basenam
e></userData>
<taskList>
<task id="26">
<status>Pending</status>
<type>prefilter</type>
<startTime> -- not started --</startTime>
<stopTime />
<percentComplete>0</percentComplete>
<elapsedSeconds>0</elapsedSeconds>
<userData><display-name>prefilter</display-name><task-profile>Precondition</task-profile><
/userData>
<failToken />
<failMessage />
</task>
<task id="27">
<status>Pending</status>
<type>prefilter</type>
<startTime> -- not started --</startTime>
<stopTime />
<percentComplete>0</percentComplete>
<elapsedSeconds>0</elapsedSeconds>
<userData><display-name>prefilter</display-name><task-profile>Precondition</task-profile><
/userData>
<failToken />
<failMessage />
</task>
<task id="28">
<status>Dependent</status>
<type>prefilter</type>
<startTime> -- not started --</startTime>
<stopTime />
<percentComplete>0</percentComplete>
<elapsedSeconds>0</elapsedSeconds>
<userData><display-name>prefilter</display-name><task-profile>package</task-profile></user
Data>
<failToken />
<failMessage />
</task>
<task id="29">
<status>Dependent</status>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-16
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
<type>microsoft</type>
<startTime> -- not started --</startTime>
<stopTime />
<percentComplete>0</percentComplete>
<elapsedSeconds>0</elapsedSeconds>
<userData><task-profile>proxy</task-profile><display-name>microsoft</display-name><clip-lo
cation>\\VA01LTMGROSS\media\.wmv</clip-location></userData>
<failToken />
<failMessage />
</task>
<task id="30">
<status>Depend</status>
<type>fileman</type>
<startTime> -- not started --</startTime>
<stopTime />
<percentComplete>0</percentComplete>
<elapsedSeconds>0</elapsedSeconds>
<userData><display-name>cleanup</display-name></userData>
<failToken />
<failMessage />
</task>
</taskList>
</jobDetail>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-17
Chapter 3
REST Commands
Job Control Commands
Get Job Detail with Accounting
Returns job summary information along with detail for each worker task including accounting data (e.g.
source-fps). See MXE Accounting Data section, Accounting Tags, page 7-4 for more detail on what
accounting data is returned.
URL Template
http://localhost/mxerest/jobs/[jobId]/accounting
HTTP Method
GET
XML Response Data Structure
Field
Description
jobDetail
Job detail section
id = job ID
title
Job Title
author
Job author
status
Job status:
Pending - job is waiting to be scheduled.
Running - job is running
Completed - job has completed successfully
Failed - job has failed
state
Job state:
New - job is new since last status request
Update - job status has changed since last status
request
Deleted - job has completed/failed and will be
reaped from memory within 60 minutes
completionReason
Job completion reason:
NotComplete - job has not started or is running
Succeeded - job completed successfully
Failed - job failed
UserStopped - job was stopped at request of
operator
SystemStopped - job was stopped by system
submitTime
Time the job was submitted:
yyyy-mm-dd hh:mm:ss
completeTime
Time the job completed:
yyyy-mm-dd hh:mm:ss
Note
priority
This is blank if the job is still running.
Job priority
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-18
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Field
Description
liveWorker
Love worker name (capture status) reserved by this
job.
reservedDuration
The amount of time in seconds the live worker
(capture station) is reserved.
timeJobId
The ID of the associated timed job
Note
This is 0 if there is no associated timed job.
userData
XML data from the user-data-job section of job
XML including any user-defined metadata.
taskList
The section containing the worker task detail.
task
Worker task section:
id = worker task ID
status
Task status:
Pending - task is waiting to be scheduled
Dependent - task is dependent on one or more task
start/complete events
Provisioned - request to start task has been sent to
LCS
Running - the task is executing
StopRequest - request to stop task has been sent to
LCS
Completed - task completed successfully
Failed - task failed
type
Task type/worker name (prefilter, fileman,flash,
etc.)
startTime
Task start time:
yyyy-mm-dd hh:mm:ss OR “-not started-”
stopTime
Task stop time:
yyyy-mm-dd hh:mm:ss
percentComplete
Percentage of task completed
elapsedSeconds
Current elapsed time in seconds for the task.
failToken
list of error message tokens for the task.
failMessage
Concatenated list of error messages/warnings for
the task.
userData
User data for the task, for example task display
name and task profile name.
Accounting Tags
Description
General Tags
worker-type
Note
Refer to “Worker-Types” section on
page 7-6 table for a list of values.
Input-related Tags
input-type
Type of input. For example, tape, live, or file.
input-file-name
Source file name, including path.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-19
Chapter 3
REST Commands
Job Control Commands
Field
Description
start-timecode
Start time for file and tape jobs.
stop-timecode
Stop time for tape jobs only.
source-duration
Job duration in seconds.
decoder-type
Decompression pipeline used.
video-format
Video format of the source clip.
audio-format
Audio format of the source clip.
source-width
Width of the input clip.
source-height
Height of the input clip.
source-fps
Frame rate of the input clip.
source-sample-rate
Audio sample rate of the input clip.
source-num-audio-channels
Number of audio channels in the input clip.
capture-start-time
Time of day the capture started.
capture-stop-time
Time of day the capture stopped.
Output-related Tags
generated-file
This is the name of the intermediate output file
produced by the prefilter. This tag will only be
present when the worker type is the prefilter.
max-fps
Maximum frames per second of the output file.
max-width
Maximum width of the output file.
max-height
Maximum height of the output file.
duration
Duration of the output file.
max-video-bitrate
Maximum bitrate of the output file.
max-audio-bitrate
Maximum audio bitrate of the output file.
video-codec
Video codec used in the output file.
audio-codec
Audio codec used in the output file.
image-codec
Miage codec used in the output file.
output-file-name
Primary output file(s)
output-file-size
Size of the output file.
output-stream-name
Name of the stream.
output-stream-port
Port of the stream.
user-data
Codec-specific data.
Parameters
Parameter
Description
jobId
Job ID
Expected Value
Status
Expected Results
Job detail including task detail and accounting data.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-20
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
XML Response
<?xml version="1.0" encoding="utf-8"?>
<jobDetail id="120">
<title>accounting test</title>
<author>admin</author>
<status>Completed</status>
<completionReason>Succeeded</completionReason>
<state>new</state>
<submitTime>2007-06-13 08:19:04</submitTime>
<completeTime>2007-06-13 08:19:35</completeTime>
<priority>2</priority>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
<timedJobId>0</timedJobId>
<userData><submit-machine>VA01LTMGROSS</submit-machine><job-profile>conform</job-profile><
source-clip>C:\media\clips\Bridge.mov</source-clip><start-timecode>00:00:00:00</start-time
code><stop-timecode>00:00:00:00</stop-timecode><source-inpoint>00:00:00.000</source-inpoin
t><source-outpoint>00:00:00.000</source-outpoint><description></description><keywords></ke
ywords><audience-rating>none</audience-rating><basename>Bridge</basename></userData>
<taskList>
<task id="458">
<status>Completed</status>
<type>prefilter</type>
<startTime>2007-06-13 08:19:04</startTime>
<stopTime>2007-06-13 08:19:35</stopTime>
<percentComplete>100</percentComplete>
<elapsedSeconds>27</elapsedSeconds>
<userData><display-name>prefilter</display-name><task-profile>conform</task-profile></user
Data>
<failToken />
<failMessage />
<accountingData>
<worker-type>prefilter both</worker-type>
<input-file-name>c:\media\clips\Bridge.mov</input-file-name>
<output-file-name>c:/TMP\Bridge437_pp.avi</output-file-name>
<generated-file>c:/TMP\Bridge437_pp.audio</generated-file>
<input-type>file</input-type>
<decoder-type>quicktime</decoder-type>
<source-duration>5.405</source-duration>
<duration>5.405</duration>
<start-timecode>00:00:00:00</start-timecode>
<source-sample-rate>44100</source-sample-rate>
<source-num-audio-channels>1</source-num-audio-channels>
<source-width>720</source-width>
<source-height>486</source-height>
<source-fps>29.970</source-fps></accountingData>
</task>
<task id="459">
<status>Completed</status>
<type>mpeg</type>
<startTime>2007-06-13 08:19:04</startTime>
<stopTime>2007-06-13 08:19:35</stopTime>
<percentComplete>100</percentComplete>
<elapsedSeconds>30</elapsedSeconds>
<userData><task-profile>conform</task-profile><display-name>mpeg</display-name><clip-locat
ion>\\VA01LTMGROSS\output\mpeg\Bridge.mpg</clip-location></userData>
<failToken />
<failMessage />
<accountingData>
<worker-type>MPEG both</worker-type>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-21
Chapter 3
REST Commands
Job Control Commands
<max-fps>29.970</max-fps>
<max-width>720</max-width>
<max-height>480</max-height>
<duration>5.405</duration>
<max-video-bitrate>50000000</max-video-bitrate>
<max-audio-bitrate>384000</max-audio-bitrate>
<video-codec>mpeg2</video-codec>
<audio-codec>Layer 2</audio-codec>
<output-file-name>C:\output\mpeg\Bridge.mpg</output-file-name>
<output-file-size>34422788</output-file-size>
<user-data></user-data>
</accountingData>
</task>
</taskList>
</jobDetail>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-22
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Get Job XML
Get submitted job XML.
URL Template
http://localhost/mxerest/jobs/[jobId]/jobxml
HTTP Method
GET
XML Response Data Structure
Data structure based on submitted job.
Parameters
Parameter
Description
jobId
Job ID
Expected Value
Status
Expected Results
Expanded Job XML for specified job
XML Response
<job xmlns:ecs="urn:Anystream.com:MXE:ecs">
[JOB XML]
</job>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-23
Chapter 3
REST Commands
Job Control Commands
Get Job Notifications
Get job task notification (error) messages. Returns a list of task notifications containing a message and
time of message
URL Template
http://localhost/mxerest/jobs/[jobId]/notifications
HTTP Method
GET
XML Response Data Structure
Field
Description
notificationList
Section containing worker task notifications.
notification
Task notification:
taskId - task ID
taskType - task type
time
Time of notification:
yyyy-mm-dd hh:mm:ss
nodeHost
Hostname of node that executed task.
taskExecutionId
Task execution ID
Parameters
Parameter
Description
jobId
Job ID
Expected Value
Status
Expected Results
List of task-specific errors if job failed.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<notificationList>
<notification taskId="26" taskType="windowsmedia2">
<message>Internal error, MBREncStart() failed)</message>
<time>2009-05-21 10:56:02</time>
<nodeHost>DEVTESTECS</nodeHost>
<taskExecutionId>30</taskExecutionId>
</notification>
<notification taskId="26" taskType="windowsmedia2">
<message>[EC_COMPLETED] Task Execution 30 is now complete. Reason = Failed.</message>
<time>2009-05-21 10:56:02</time>
<nodeHost>DEVTESTECS</nodeHost>
<taskExecutionId>30</taskExecutionId>
</notification>
<notification taskId="27" taskType="cleanup">
<message>[EC_DEPENDFAIL] Task Execution 31 will not run due to dependent Task
Execution 30. Reason = Failed.</message>
<time>2009-05-21 10:56:02</time>
<nodeHost>DEVTESTECS</nodeHost>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-24
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
<taskExecutionId>31</taskExecutionId>
</notification>
</notificationList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-25
Chapter 3
REST Commands
Job Control Commands
Stop Job
Stop a running job.
URL Template
http://localhost/mxerest/stopjob
HTTP Method
POST
POST Data Structure
Field
Description
stopJob
Command.
id
ID of job to stop.
XML Response Data Structure
Field
Description
status
success
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Job is stopped. Success response.
POST Data
<stopJob id="[jobId]"></stopJob>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
Job must be running to be stopped.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-26
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Delete Job
Delete a job.
URL Template
http://localhost/mxerest/deletejob
HTTP Method
POST
POST Data Structure
Field
Description
deleteJob
Command.
id
ID of job to be deleted.
XML Response Data Structure
Field
Description
status
success
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Job will be stopped and deleted from job status monitor. Success response
POST Data
<deleteJob id="[jobId]"></deleteJob>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-27
Chapter 3
REST Commands
Job Control Commands
Reschedule Job
Reschedule/resubmit previously submitted job.
URL Template
http://localhost/mxerest/reschedulejob
HTTP Method
POST
POST Data Structure
Field
Description
rescheduleJob
Command.
id
ID of job to be rescheduled.
XML Response Data Structure
Field
Description
status
success
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Job is restarted and success response.
POST Data
<rescheduleJob id="[jobId]"></rescheduleJob>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
Can only reschedule a job that has completed.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-28
OL-24031-01
Chapter 3
REST Commands
Job Control Commands
Retry Job
Retry failed (and dependent) tasks for a completed job that had errors.
URL Template
http://localhost/mxerest/retryjob
HTTP Method
POST
POST Data Structure
Field
Description
retryJob
Command.
id
ID of job to be retried.
XML Response Data Structure
Field
Description
status
success
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Failed and dependent tasks are restarted. Success response.
POST Data
<retryJob id="[jobId]"></retryJob>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
Can only retry a completed job.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-29
Chapter 3
REST Commands
Job Control Commands
Update Job Priority
Update job priority (to integer value > 0). Jobs with higher priorities receive precedence over jobs with
lower priorities.
URL Template
http://localhost/mxerest/updatejob
HTTP Method
POST
POST Data Structure
Field
Description
updateJob
Command
jobSummary
Container for request
id
ID of updated job
priority
New priority for job
XML Response Data Structure
Field
Description
status
success
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Job priority is reset to new value. Success response.
POST Data
<updateJob>
<jobSummary id="[jobId]">
<priority>[jobPriority]</priority>
</jobSummary>
</updateJob>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
Can only update priority of pending job.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-30
OL-24031-01
Chapter 3
REST Commands
Timed Job Control Commands
Timed Job Control Commands
Commands used to query and manage timed jobs.
•
Get Timed Job List, page 3-32
•
Get Timed Job, page 3-34
•
Pause Timed Job, page 3-36
•
Resume Timed Job, page 3-37
•
Delete Timed Job, page 3-38
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-31
Chapter 3
REST Commands
Timed Job Control Commands
Get Timed Job List
Get list of timed jobs.
URL Template
http://localhost/mxerest/timedJobs
HTTP Method
GET
XML Response Data Structure
Field
Description
timedJobList
Section containing list of timed jobs
timedJob
Timed job
id = timed job ID
title
Job title
author
Job author
status
Job status:
Active
Inactive
priority
Job priority
startTime
Start time of job:
yyyy-mm-dd hh:mm:ss
lastAdded
Time job was last submitted:
yyyy-mm-dd hh:mm:ss OR Never
period
Interval (seconds) at which job is submitted
reservedDuration
Amount of time in seconds live worker (capture station)
is reserved.
liveWorker
Live worker name (capture station) reserved by this job.
Parameters
Parameter
Description
Expected Value
Status
NONE
Expected Results
List of timed jobs.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<timedJobList>
<timedJob id="31">
<title>timed job test</title>
<author>admin</author>
<status>Active</status>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-32
OL-24031-01
Chapter 3
REST Commands
Timed Job Control Commands
<priority>2</priority>
<startTime>2006-09-13 00:00:00</startTime>
<lastAdded>never</lastAdded>
<period>86400</period>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
</timedJob>
</timedJobList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-33
Chapter 3
REST Commands
Timed Job Control Commands
Get Timed Job
Get timed job summary.
URL Template
http://localhost/mxerest/timedJobs/[jobId]
HTTP Method
GET
XML Response Data Structure
Field
Description
timedJob
Timed job
id = timed job ID
title
Job title
author
Job author
status
Job status:
Active
Inactive
priority
Job priority
startTime
Start time of job:
yyyy-mm-dd hh:mm:ss
lastAdded
Time job was last submitted:
yyyy-mm-dd hh:mm:ss OR Never
period
Interval (seconds) at which job is submitted
reservedDuration
Amount of time in seconds live worker (capture
station) is reserved.
liveWorker
Live worker name (capture station) reserved by this
job.
Parameters
Parameter
Description
jobId
Timed job ID.
Expected Value
Status
Expected Results
Summary of timed job.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<timedJob id="31">
<title>timed job test</title>
<author>admin</author>
<status>Active</status>
<priority>2</priority>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-34
OL-24031-01
Chapter 3
REST Commands
Timed Job Control Commands
<startTime>2006-09-13 00:00:00</startTime>
<lastAdded>never</lastAdded>
<period>86400</period>
<liveWorker></liveWorker>
<reservedDuration>0</reservedDuration>
</timedJob>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-35
Chapter 3
REST Commands
Timed Job Control Commands
Pause Timed Job
Pause a timed job.
URL Template
http://localhost/mxerest/PauseTimedJob
HTTP Method
POST
POST Data Structure
Field
Description
pauseTimedJob
Command.
id
ID of job to be paused.
XML Response Data Structure
Field
Description
status
Success.
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Timed job is paused and success response.
POST Data
<pauseTimedJob id="[jobId]"></pauseTimedJob>
XML Response
<status>success</status>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-36
OL-24031-01
Chapter 3
REST Commands
Timed Job Control Commands
Resume Timed Job
Resume a paused timed job.
URL Template
http://localhost/mxerest/ResumeTimedJob
HTTP Method
POST
POST Data Structure
Field
Description
resumeTimedJob
Command.
id
ID of paused job to be resumed.
XML Response Data Structure
Field
Description
status
Success.
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Timed job is submitted at next available period and success response.
POST Data
<resumeTimedJob id="[jobId]"></resumeTimedJob>
XML Response
<status>success</status>
Limitations
Timed job must be paused first.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-37
Chapter 3
REST Commands
Timed Job Control Commands
Delete Timed Job
Delete a timed job.
URL Template
http://localhost/mxerest/DeleteTimedJob
HTTP Method
POST
POST Data Structure
Field
Description
deleteTimedJob
Command.
id
ID of timed Job to be deleted.
XML Response Data Structure
Field
Description
status
Success.
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Timed job is stopped and deleted from status monitor. Success response.
POST Data
<deleteTimedJob id="[jobId]"></deleteTimedJob>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-38
OL-24031-01
Chapter 3
REST Commands
Node Status Commands
Node Status Commands
Node Status commands are used to query the status of Cisco MXE 3500 nodes. A node is a host machine
that comprises a Local Control System (LCS) and a set of licensed workers and optionally an ECS.
•
Get Node List, page 3-40
•
Get Node Summary, page 3-42
•
Get Node Detail, page 3-44
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-39
Chapter 3
REST Commands
Node Status Commands
Get Node List
Get a list of configured host machines.
URL Template
http://localhost/mxerest/nodes
HTTP Method
GET
XML Response Data Structure
Field
Description
nodeInfoList
Section containing list of node summaries
nodeInfo
Node summary section
id - node id
href - link to node detail
capacity
Node capacity. Indicates the relative processing capacity of the host, expressed
as the maximum sum of all worker expenses that can be run on the host at any
given time.
taskLoad
Sum of all task expenses. Expense indicates share of host's capacity that a
single task for the given worker consumes.
load
Task load / capacity as a percentage
host
Host name of node
tempdir
Temporary directory for workers executing on node
status
Node status:
enabled
disabled
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of nodes configured in system.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<nodeInfoList>
<nodeInfo id="3" href="http://localhost/mxerest/nodes/3/detail">
<host>localhost</host>
<capacity>10</capacity>
<taskLoad>0</taskLoad>
<load>0</load>
<tempdir>\\va-acrtest03\TMP</tempdir>
<status>enabled</status>
</nodeInfo>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-40
OL-24031-01
Chapter 3
REST Commands
Node Status Commands
</nodeInfoList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-41
Chapter 3
REST Commands
Node Status Commands
Get Node Summary
Get node summary for node ID (or hostname).
URL Template
http://localhost/mxerest/nodes/[nodeId]
http://localhost/mxerest/nodes/[nodeHostName]
HTTP Method
GET
XML Response Data Structure
Field
Description
nodeInfoList
Section containing list of node summaries
nodeInfo
Node summary section
id - node id
href - link to node detail
capacity
Node capacity. Indicates the relative processing capacity of the host,
expressed as the maximum sum of all worker expenses that can be run on the
host at any given time.
taskLoad
Sum of all task expenses. Expense indicates share of host's capacity that a
single task for the given worker consumes.
load
Task load / capacity as a percentage
host
Host name of node
tempdir
Temporary directory for workers executing on node
status
Node status:
enabled
disabled
Parameters
Parameter
Description
nodeId
Node ID
nodeHostName
Node host name
Expected Value
Status
Expected Results
Node summary.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<nodeInfoList>
<nodeInfo id="3" href="http://localhost/mxerest/nodes/3/detail">
<host>localhost</host>
<capacity>10</capacity>
<taskLoad>0</taskLoad>
<load>0</load>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-42
OL-24031-01
Chapter 3
REST Commands
Node Status Commands
<tempdir>\\va-acrtest03\TMP</tempdir>
<status>enabled</status>
</nodeInfo>
</nodeInfoList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-43
Chapter 3
REST Commands
Node Status Commands
Get Node Detail
Get node detail for node ID (or host name) including status for each worker associated with the node and
task status for any task being executed by the worker.
URL Template
http://localhost/mxerest/nodes/[nodeId]/detail
http://localhost/mxerest/nodes/[nodeHostName]/detail
HTTP Method
GET
XML Response Data Structure
Field
Description
nodeInfoList
Section containing list of node summaries
nodeInfo
Node summary section
id - node id
href - link to node detail
capacity
Node capacity. Indicates the relative processing capacity of the host,
expressed as the maximum sum of all worker expenses that can be run on the
host at any given time.
taskLoad
Sum of all task expenses. Expense indicates share of host's capacity that a
single task for the given worker consumes.
load
Task load / capacity as a percentage
host
Host name of node
tempdir
Temporary directory for workers executing on node
status
Node status:
enabled
disabled
workerStatus
Worker status section
type
Type of worker (prefilter, quicktime, etc.)
status
Worker status (online/offline/paused)
taskCount
Number of tasks executed by worker
expense
Task expense indicating share of host's capacity that a single task can consume
runs
Number of successful tasks executed
fails
Number of failed tasks executed
abbrev
Worker type abbreviation.
Note
task
Defaults to <type> value
Worker task section:
id - worker task ID
Note
Only present if task is executing on worker
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-44
OL-24031-01
Chapter 3
REST Commands
Node Status Commands
Field
Description
status
Task status:
pending
failed
depend
completed
running
unknown
Note
A value of depend indicates that the task is pending and its execution
depends on the successful completion of some other task.
type
Task type/worker name (prefilter, fileman, flash, etc.)
startTime
Task start time:
yyyy-mm-dd hh:dd:ss OR “--not started--”
stopTime
Task stop time:
yyyy-mm-dd hh:dd:ss
percentComplete
Percentage of task completed
elapsedSeconds
Duration in seconds since task began.
Note
A value of 0 indicates that the task has not yet started
userData
Client data submitted on original job task request
failToken
Error message identifier if task failed
failMessage
Error message if task failed
Parameters
Parameter
Description
Expected Value
nodeId
Node ID
nodeHostName
Node host name.
Status
Expected Results
Detail node report for requested nodeId or nodeHostName.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<nodeInfoList>
<nodeInfo id="3" href="http://localhost/mxerest/nodes/3/detail">
<host>localhost</host>
<capacity>10</capacity>
<taskLoad>1</taskLoad>
<load>10</load>
<tempdir>\\va-acrtest03\TMP</tempdir>
<status>enabled</status>
<workerStatus id="795">
<type>prefilter</type>
<status>online</status>
<taskCount>1</taskCount>
<expense>1</expense>
<runs>0</runs>
<fails>0</fails>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-45
Chapter 3
REST Commands
Node Status Commands
<abbrev>PF</abbrev>
<task id="7138">
<status>Running</status>
<type>prefilter</type>
<startTime>2006-09-29 08:49:03</startTime>
<stopTime />
<percentComplete>0</percentComplete>
<elapsedSeconds>0</elapsedSeconds>
<userData>prefilterLow Bandwidth</userData>
<failToken />
<failMessage />
</task>
</workerStatus>
<workerStatus id="796">
<type>quicktime</type>
<status>online</status>
<taskCount>0</taskCount>
<expense>1</expense>
<runs>0</runs>
<fails>0</fails>
<abbrev>QT</abbrev>
</workerStatus>
<workerStatus id="797">
<type>real</type>
<status>online</status>
<taskCount>0</taskCount>
<expense>1</expense>
<runs>0</runs>
<fails>0</fails>
<abbrev>RL</abbrev>
</workerStatus>
</nodeInfo>
</nodeInfoList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-46
OL-24031-01
Chapter 3
REST Commands
System Setting Commands
System Setting Commands
Commands for retrieving system settings.
•
Get System Settings, page 3-48
•
Get System Settings for Names, page 3-49
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-47
Chapter 3
REST Commands
System Setting Commands
Get System Settings
Get list of all system settings.
URL Template
http://localhost/mxerest/settings
HTTP Method
GET
XML Response Data Structure
Field
Description
settingList
Command.
setting
System setting
name - setting name
href - link to setting summary
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of configured system settings.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<settingList>
<setting name="banner-loc"
href="http://localhost/mxerest/settings/banner-loc">images\MXE.gif</setting>
<setting name="company-logo-loc"
href="http://localhost/mxerest/settings/company-logo-loc">images\Cisco.gif</setting>
</settingList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-48
OL-24031-01
Chapter 3
REST Commands
System Setting Commands
Get System Settings for Names
Get system settings matching specified setting names.
URL Template
http://localhost/mxerest/settings/[name1]/[name2]/.../[nameN]
HTTP Method
GET
XML Response Data Structure
Field
Description
settingList
Section containing list system settings
setting
System setting
name - setting name
href - link to setting summary
Parameters
Parameter
Description
Expected Value
name1
Setting name delimited by /
Status
Expected Results
List of system settings matching name(s).
XML Response
<?xml version="1.0" encoding="utf-8"?>
<settingList>
<setting name="banner-loc"
href="http://localhost/mxerest/settings/banner-loc">images\MXE.gif</setting>
<setting name="company-logo-loc"
href="http://localhost/mxerest/settings/company-logo-loc">images\Cisco.gif</setting>
</settingList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-49
Chapter 3
REST Commands
Profile Commands
Profile Commands
Commands for querying details for job profiles and profile types.
•
Get Profile Types, page 3-51
•
Get All Profile Summaries, page 3-52
•
Get Profile Summaries for Type, page 3-53
•
Get Detailed Profile by Type and Name, page 3-54
•
Get Profile Spaces, page 3-56
•
Get Profile Summaries by Type and Profile Space, page 3-57
•
Get Detailed Profile by Type, Name, and Profile Space, page 3-58
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-50
OL-24031-01
Chapter 3
REST Commands
Profile Commands
Get Profile Types
Get list of all job profile types. Returns a list of <profileType> with links to the profile summary by type.
URL Template
http://localhost/mxerest/profiles
HTTP Method
GET
XML Response Data Structure
Field
Description
profileTypeList
Section containing list profile types
profileType
Profile type:
type - profile type
href - link to profile summary list for profile type
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of profile types.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<profileTypeList>
<profileType type="adi" href="http://localhost/mxerest/profiles/adi">VOD ADI</profileType>
<profileType type="adi-templates"
href="http://localhost/mxerest/profiles/adi-templates">VOD ADI Templates</profileType>
<profileType type="adi-transforms"
href="http://localhost/mxerest/profiles/adi-transforms">VOD ADI Transforms</profileType>
</profileTypeList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-51
Chapter 3
REST Commands
Profile Commands
Get All Profile Summaries
Get list of all job profile summaries. Returns a list of profile summaries <profileSummary> with links
to the detailed profile
URL Template
http://localhost/mxerest/profiles/all
HTTP Method
GET
XML Response Data Structure
Field
Description
profileSummaryList
Section containing list profile summaries
profileSummary
Profile name without extension.
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of all profile summaries.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<profileSummaryList>
<profileSummary type="pp" name="conform"
href="http://localhost/mxerest/profiles/pp/conform" />
<profileSummary type="pp" name="Digital Master.Digital Master"
href="http://localhost/mxerest/profiles/pp/Digital+Master.Digital+Master" />
<profileSummary type="pp" name="Digital Master_watermark.Digital Master_watermark"
href="http://localhost/mxerest/profiles/pp/Digital+Master_watermark.
Digital+Master_watermark" />
<profileSummary type="pp" name="Full Frame"
href="http://localhost/mxerest/profiles/pp/Full+Frame" />
<profileSummary type="pp" name="High Bandwidth"
href="http://localhost/mxerest/profiles/pp/High+Bandwidth" />
<profileSummary type="pp" name="Low Bandwidth"
href="http://localhost/mxerest/profiles/pp/Low+Bandwidth" />
<profileSummary type="pp" name="package"
href="http://localhost/mxerest/profiles/pp/package" />
</profileSummaryList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-52
OL-24031-01
Chapter 3
REST Commands
Profile Commands
Get Profile Summaries for Type
Get list of profile summaries by specified type. Returns a list of profile summaries <profileSummary>
with links to the detailed profile.
URL Template
http://localhost/mxerest/profiles/[profileType]
HTTP Method
GET
XML Response Data Structure
Field
Description
profileSummaryList
Section containing list profile summaries
profileSummary
Profile name without extension.
Parameters
Parameter
Description
Expected Value
profileType
Type of profile.
type - profile
type (flash, job,
etc.)
href - link to
profile detail
Status
Expected Results
None
XML Response
<?xml version="1.0" encoding="utf-8"?>
<profileSummaryList>
<profileSummary type="pp" name="conform"
href="http://localhost/mxerest/profiles/pp/conform" />
<profileSummary type="pp" name="Digital Master.Digital Master"
href="http://localhost/mxerest/profiles/pp/Digital+Master.Digital+Master" />
<profileSummary type="pp" name="Digital Master_watermark.Digital Master_watermark"
href="http://localhost/mxerest/profiles/pp/Digital+Master_watermark.Digital+Master_waterma
rk" />
<profileSummary type="pp" name="Full Frame"
href="http://localhost/mxerest/profiles/pp/Full+Frame" />
<profileSummary type="pp" name="High Bandwidth"
href="http://localhost/mxerest/profiles/pp/High+Bandwidth" />
<profileSummary type="pp" name="Low Bandwidth"
href="http://localhost/mxerest/profiles/pp/Low+Bandwidth" />
<profileSummary type="pp" name="package"
href="http://localhost/mxerest/profiles/pp/package" />
</profileSummaryList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-53
Chapter 3
REST Commands
Profile Commands
Get Detailed Profile by Type and Name
Get detailed profile contents by specified type and name.
URL Template
http://localhost/mxerest/profiles/[profileType]/[profileName]
HTTP Method
GET
XML Response Data Structure
Determined by Job XML.
Parameters
Parameter
Description
Expected Value
profileType
Type of profile.
flash, job, h264,
etc.
profileName
Profile name without extension.
Status
Expected Results
XML contents of specified profile.
XML Response
<profile type="pp" name="package" xmlns:axe="urn:
microsoft.com:ecs"><class>preprocessor</class><enabled>yes</enabled><export><encoder><fast
-start>no</fast-start><immediate>no</immediate></encoder><preprocessor><two-pass-capture>n
o</two-pass-capture></preprocessor></export><parameters><audio><channels><axe:lookup
name="audio-channels"/></channels><compressor><ratio>1</ratio><threshold>6</threshold></co
mpressor><enabled><axe:lookup
name="audio-enabled"/></enabled><fade-in>0.0</fade-in><fade-out>0.0</fade-out><high-pass>0
</high-pass><low-pass>0</low-pass><volume><adjust>50</adjust><normalize>50</normalize><typ
e>none</type></volume></audio><cc><over-video>false</over-video></cc><in-point>0.000</in-p
oint><out-point>0.000</out-point><prefilter>on</prefilter><video><black-point><point>0</po
int><transition>15</transition></black-point><brightness>100</brightness><bumper><input-di
rectory><axe:lookup
name="bumper-directory"/></input-directory><input-file></input-file><prefilter>off</prefil
ter></bumper><color-range-expansion>no</color-range-expansion><contrast>100</contrast><cro
p><bottom>0</bottom><left>0</left><right>0</right><top>0</top></crop><custom-blur>0.0</cus
tom-blur><destination><fps><axe:lookup name="video-max-fps"/></fps><height><axe:lookup
name="video-max-height"/></height><progressive><axe:lookup
name="video-progressive"/></progressive><width><axe:lookup
name="video-max-width"/></width></destination><enabled><axe:lookup
name="video-enabled"/></enabled><fade-in>0.0</fade-in><fade-out>0.0</fade-out><field-domin
ance>upper</field-dominance><gamma>1.0</gamma><hue>0</hue><inverse-telecine>off</inverse-t
elecine><noise-reduction>0.0</noise-reduction><saturation>100</saturation><single-field>of
f</single-field><temporal-smoothing>1</temporal-smoothing><trailer><input-directory><axe:l
ookup
name="bumper-directory"/></input-directory><input-file></input-file><prefilter>off</prefil
ter></trailer><unsharp-mask>no</unsharp-mask><unsharp-mask-radius>0.0</unsharp-mask-radius
><unsharp-mask-weight>100</unsharp-mask-weight><watermark><height>100</height><input-direc
tory><axe:lookup
name="watermark-directory"/></input-directory><input-file></input-file><mode>composite</mo
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-54
OL-24031-01
Chapter 3
REST Commands
Profile Commands
de><strength>100</strength><width>200</width><x>0</x><x-origin>right</x-origin><y>0</y><yorigin>bottom</y-origin></watermark><white-point><point>255</point><transition>15</transit
ion></white-point></video></parameters><version>2.0</version></profile>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-55
Chapter 3
REST Commands
Profile Commands
Get Profile Spaces
Get list of profile spaces.
URL Template
http://localhost/mxerest/profilespaces
HTTP Method
GET
XML Response Data Structure
Field
Description
profileSpaceList
Section containing list profile spaces
profileSpace
Profile space section
name
Name of profile space
directory
Profile directory path
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of profile spaces.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<profileSpaceList>
<profileSpace>
<name>test profiles</name>
<directory>c:\profiles</directory>
</profileSpace>
</profileSpaceList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-56
OL-24031-01
Chapter 3
REST Commands
Profile Commands
Get Profile Summaries by Type and Profile Space
For a given profile space, get list of profile summaries by specified type. Returns a list of profile
summaries <profileSummary> with links to the detailed profile.
URL Template
http://localhost/mxerest/profilespaces/[profileSpace]/[profileType]
HTTP Method
GET
XML Response Data Structure
Field
Description
profileSummaryList
Section containing list profile summaries
profileSummary
Profile summary
type - profile type (flash, job, etc.)
href - link to profile detail
Parameters
Parameter
Description
Expected Value
profileSpace
Profile space name.
profileType
Profile type.
Status
flash, job, h264,
etc.
Expected Results
List of profile summaries for given profile space and profile type.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<profileSummaryList>
<profileSummary type="job" name="notif_admin"
href="http://localhost/mxerest/profilespaces/test+profiles/job/notif_admin" />
<profileSummary type="job" name="YouTube"
href="http://localhost/mxerest/profilespaces/test+profiles/job/YouTube" />
</profileSummaryList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-57
Chapter 3
REST Commands
Profile Commands
Get Detailed Profile by Type, Name, and Profile Space
Get detailed profile contents by specified profile space, type, and name.
URL Template
http://localhost/mxerest/profilespaces/[profileSpace]/[profileType]/[profile name]
HTTP Method
GET
XML Response Data Structure
XML contents of the specified profile.
Parameters
Parameter
Description
profileSpace
Profile space name.
profileType
Profile type.
profileName
Profile name without extension.
Expected Value
Status
flash, job, h264,
etc.
Expected Results
XML contents of selected profile.
XML Response
<profile type="job" name="conform" xmlns:axe="urn: anystream.com:ecs">
<class>job</class>
<enabled>yes</enabled>
<parameters>
<mpeg>conform.mpeg.awp</mpeg>
<output>conform.out.awp</output>
<preprocessor>conform.pp.awp</preprocessor>
</parameters>
<version>2.0</version>
</profile>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-58
OL-24031-01
Chapter 3
REST Commands
Translate and Submit Job Commands
Translate and Submit Job Commands
Commands to apply XSLT transforms and planners and submit jobs to MXE platform.
•
Translate Job XML Using Single Pass, page 3-60
•
Translate Job XML Using Multiple Passes, page 3-61
•
Submit Job, page 3-62
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-59
Chapter 3
REST Commands
Translate and Submit Job Commands
Translate Job XML Using Single Pass
Translate input XML non-recursively; apply only first matching XSLT transform or planner.
URL Template
http://localhost/mxerest/translate/single
HTTP Method
POST
POST Data Structure
Determined by Job XML or planner-submit.
Parameters
NA
Expected Results
Transform of plan XML after a single pass.
POST Data
Plan XML to be translated. Can be an MXE plan XML format (such as job XML or planner-submit) or
custom XML
Example:
<jobPackage>
<submitParameterList>
<replace name='test1'>Test1Text</replace>
<replace name='test2'>Test2Text</replace>
</submitParameterList>
<jobList>
<job>@{test1}</job>
<job>@{test2}</job>
<job>@{profile-dir}</job>
</jobList>
</jobPackage>
XML Response
Plan XML with first transform or planner applied.
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-60
OL-24031-01
Chapter 3
REST Commands
Translate and Submit Job Commands
Translate Job XML Using Multiple Passes
Apply matching XSLT transforms and planners recursively until input XML is in a format suitable for
submission to the ECS (jobPackage or job XML).
URL Template
http://localhost/mxerest/translate
http://localhost/mxerest/translate/multi
HTTP Method
POST
XML Response Data Structure
Determined by job XML.
POST Data Structure
Determined by Job XML or planner-submit.
Parameters
NA
Expected Results
Fully expanded Job XML.
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-61
Chapter 3
REST Commands
Translate and Submit Job Commands
Submit Job
Recursively apply matching XSLT transforms and planners and then submit job to MXE platform (i.e.
ECS).
URL Template
http://localhost/mxerest/submit
HTTP Method
POST
XML Response Data Structure
Field
Description
jobSubmitStatusList
Section containing status for each submitted job.
jobSubmissionStatus
Section containing job submission status.
name
Unique name for each job of the “Job Package”.
jobID
Job ID
Note
exceptionText
“-1” indicates an error has occurred.
This is an optional tag containing the exception error message if an error
occurred.
POST Data Structure
Determined by Job XML.
Parameters
NA
Expected Results
Job is submitted to MXE and job ID is returned.
POST Data
Plan XML to be submitted. This can be any MXE plan XML format, for example Job XML,
planner-submit, or custom XML .
XML Response
Job submission status containing list of submitted job IDs.
<?xml version="1.0" encoding="utf-8"?>
<jobSubmitStatusList>
<jobSubmissionStatus name="myJobName">
<jobID>270</jobID>
</jobSubmissionStatus>
</jobSubmitStatusList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-62
OL-24031-01
Chapter 3
REST Commands
Miscellaneous Commands
Miscellaneous Commands
•
Reload Configuration, page 3-64
•
Get Version, page 3-65
•
Get License List, page 3-66
•
Get User-defined Metadata, page 3-67
•
Start Live Capture, page 3-69
•
Stop Live Capture, page 3-70
•
Get Active IP Capture List, page 3-71
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-63
Chapter 3
REST Commands
Miscellaneous Commands
Reload Configuration
Reload MXE API configuration including XSLT transforms and planners
URL Template
http://localhost/mxerest/reloadConfiguration
HTTP Method
POST
XML Response Data Structure
Field
Description
status
Success.
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
API configuration is reloaded and success response is returned.
POST Data
None
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-64
OL-24031-01
Chapter 3
REST Commands
Miscellaneous Commands
Get Version
Get MXE platform version.
URL Template
http://localhost/mxerest/Version
HTTP Method
GET
XML Response Data Structure
Field
Description
version
MXE platform version number.
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
Platform version number.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<version>3.2</version>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-65
Chapter 3
REST Commands
Miscellaneous Commands
Get License List
Get list of MXE licenses.
URL Template
http://localhost/mxerest/Licenses
HTTP Method
GET
XML Response Data Structure
Field
Description
licenseList
Section containing list of licenses
license
License section
name - name of feature list
count - license count (always 1)
component
License component (feature)
name - license tag
limit - concurrency limit
inUseCount - number of currently used (checked
out) licenses
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of license features with concurrency limit and in use counts.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<licenseList>
<license name="enterprise" count="1" />
<license name="floating" count="1">
<component name="1770AudioNorm" limit="10" inUseCount="0" />
<component name="ac351" limit="10" inUseCount="0" />
<component name="fileman" limit="10" inUseCount="0" />
<component name="filemanAdv" limit="10" inUseCount="0" />
<component name="h264" limit="10" inUseCount="0" />
<component name="messenger" limit="10" inUseCount="0" />
<component name=" microsoft" limit="10" inUseCount="0" />
</license>
</licenseList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-66
OL-24031-01
Chapter 3
REST Commands
Miscellaneous Commands
Get User-defined Metadata
Get list of user-defined metadata (UDM).
URL Template
http://localhost/mxerest/Udm
HTTP Method
GET
XML Response Data Structure
Field
Description
userDefinedMetaDataList
Section containing list of user defined meta data
(UDM)
userDefinedMetaData
User defined meta data item
id
UDM value
name
UDM name/key
type
UDM data type (Integer, String, Decimal, Enum)
description
UDM description
enum
Enumeration section (if type is Enum)
id
Enumeration ID
name
Enumeration name
value
Enumeration value
isDefault
If true, indicates default value for enumeration
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
NA
XML Response
<?xml version="1.0" encoding="utf-8"?>
<userDefinedMetaDataList>
<userDefinedMetaData>
<id>1</id>
<name>cgms-enabled</name>
<type>Integer</type>
<description>Enable CGMS-A Override</description>
</userDefinedMetaData>
<userDefinedMetaData>
<id>3</id>
<name>Organization ID</name>
<type>Enum</type>
<description>Org ID</description>
<enum>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-67
Chapter 3
REST Commands
Miscellaneous Commands
<id>2</id>
<name>Org A</name>
<value>100</value>
<isDefault>True</isDefault>
</enum>
<enum>
<id>3</id>
<name>Org B</name>
<value>200</value>
<isDefault>False</isDefault>
</enum>
</userDefinedMetaData>
</userDefinedMetaDataList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-68
OL-24031-01
Chapter 3
REST Commands
Miscellaneous Commands
Start Live Capture
Start live capture.
URL Template
http://localhost/mxerest/startCapture
HTTP Method
POST
POST Data Structure
Field
Description
start-capture
Command
host
Host name of node running capture prefilter task.
port
Port of capture prefilter task.
XML Response Data Structure
Field
Description
status
Success.
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Live capture is started and success response is returned.
POST Data
<?xml version="1.0" encoding="utf-8"?>
<start-capture>
<host>localhost</host>
<port>5008</port>
</start-capture>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-69
Chapter 3
REST Commands
Miscellaneous Commands
Stop Live Capture
Stop live capture.
URL Template
http://localhost/mxerest/stopCapture
HTTP Method
POST
POST Data Structure
Field
Description
stop-capture
Command
host
Host name of node running capture prefilter task.
port
Port of capture prefilter task.
XML Response Data Structure
Field
Description
status
Success.
exception
message = error message
stacktrace = stack trace where exception occurred
Parameters
NA
Expected Results
Live capture is stopped and success response is returned.
POST Data
<?xml version="1.0" encoding="utf-8"?>
<stop-capture>
<host>localhost</host>
<port>5008</port>
</stop-capture>
XML Response
<?xml version="1.0" encoding="utf-8"?>
<status>success</status>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-70
OL-24031-01
Chapter 3
REST Commands
Miscellaneous Commands
Get Active IP Capture List
Returns list of running IP capture host names.
URL Template
http://localhost/mxerest/ipcaptures
HTTP Method
GET
XML Response Data Structure
Field
Description
ipCaptureList
Section containing list of IP captures.
ipCapture
Section containing IP capture details.
name
The IP capture name.
host
Name of the host running the IP capture prefilter.
Parameters
Parameter
Description
Expected Value
Status
None
Expected Results
List of running IP captures.
XML Response
<?xml version="1.0" encoding="utf-8"?>
<ipCaptureList>
<ipCapture>
<name>NIGHTLY NEWS FEED1</name>
<host>DEVTESTLCS1</host>
<ipCapture>
</ipCaptureList>
Limitations
None
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
3-71
Chapter 3
REST Commands
Miscellaneous Commands
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
3-72
OL-24031-01
CH A P T E R
4
Planner-Submit XML
Revised: May 4, 2011
This chapter provides an overview of the planner-submit XML and includes the following sections:
•
Planner-Submit XML Overview, page 4-1
•
Planner-Submit Tags, page 4-1
Planner-Submit XML Overview
The planner-submit XML allows job submissions that reference existing MXE profiles. A
planner-submit XML document is considerably shorter than the full job XML since much of the data is
contained in the job profiles. Planner-submit XML can be used to submit jobs via the MXE API or as an
XML file via the Folder Attendant.
The following example is a complete, but minimal <planner-submit> job:
Example 4-1
<Planner-submit> Job Document
<planner-submit>
<source-name>\\myMachine\media\myClip.mov</source-name>
<profile-dir>\\myMachine\media\profiles\job\bill.job.awp</profile-dir>
<ms-output-dir>\\myMachine\output\ms</ms-output-dir>
<output-basename>myEncode</output-basename>
</planner-submit>
Planner-Submit Tags
•
General Tags, page 4-2
•
Metadata Tags, page 4-2
•
File Input Tags, page 4-4
•
Audio Input Tags, page 4-7
•
Video Input Tags, page 4-7
•
AN2 Tags, page 4-10
•
Ancillary Media Input Tags, page 4-12
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-1
Chapter 4
Planner-Submit XML
Planner-Submit Tags
•
Timed Job Tags, page 4-13
•
Output Tags, page 4-14
•
Email Tags, page 4-17
•
, page 4-17
General Tags
Planner Submit General Tags
Tag
Description
job-priority
Job priority. Positive integer between 1 and 100,
with 1 indicating the highest priority
monitor-window
Specifies whether preprocessed and encoded
images should be displayed in a monitor window.
The allowed values are "on" or "off"
thumb-time-single
Specifies the time for a single thumbnail extracted
from a job.
HH:MM:SS.sss
reserved-time
Amount of time in seconds that a live worker
(capture station) is reserved for
node-name
Name of capture station (worker) reserved by this
job
Metadata Tags
Planner Submit MetadataTags
Tag
Description
meta-title
Job title
meta-author
Job author
meta-description
Job description
meta-copyright
Copyright notice
meta-rating
Audience rating
meta-keywords
Comma-separated list of keywords
meta-timecode
Start timecode taken from the media file
speech-to-text-topic
The topic that is burned into the introduction slate
in the speech-to-text output
udm-item
User defined meta data item. The item name and
value are given as attributes of the tag, as shown:
<udm-item name="myItemName"
value="mytextValue"></udm-item>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-2
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
Description
vchip-rating-type
See vchip-rating-type tag values table below.
vchip-rating
See vchip-rating tag values table below.
vchip-rating-flag
See vchip-rating-type tag values table below.
vchip-rating-type tag values
Tag Value
Description
USTVPG
U.S. Television Program Ratings
CELR
Canadian English Language Ratings
CFLR
Canadian French Language Ratings
vchip-rating tag values
Tag Value
Description
USTVPG
TV-Y
All children
TV-Y7
Directed to children 7 and above
TV-G
General audience
TV-PG
Parental guidance suggested
TV-14
Parents strongly cautioned
TV-MA
Mature audience only
CELR
E
Exempt
C
Children
C8+
Children eight years and older
G
General programming, suitable for all audiences
PG
Parental guidance
14+
Viewers 14 years and older
18+
Adult programming
CFLR
E
Exempt
G
General
8 ans +
Viewers 8 years and older
13 ans +
Viewers 13 years and older
16 ans +
Viewers 16 years and older
18 ans +
Adult programming
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-3
Chapter 4
Planner-Submit XML
Planner-Submit Tags
vchip-rating-type tag values
Tag Value
Description
V-chip rating values for TV-Y7 (see above)
FV
Fantasy Violence
V-chip rating values for TV-PG, TV-14, TV-MA (see above)
D
Suggestive dialog
D, L
D, S
D, V
D, L, S
D, L, V
D, S, V
D, L, S, V
L
Language
L, S
L, S, V
L, V
S
Sexual situations
S, V
V
Violence
File Input Tags
Planner Submit File Input Tags
Tag
Description
profile-dir
Full path (directory and file name) of the job
profile
profile
Job profile name in which case the path is
constructed using the system profile directory.
This tag is ignored if the <profile-dir> tag is
present
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-4
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
Description
add-subprofile
Full path of subprofile.
Use the <add-subprofile> tag to access several
existing subprofiles to construct a job.
One or more <add-subprofile> tags can be
specified for each component profile
(preprocessor, encoder, distribution, etc.) to use
for the job.
The <add-subprofile> tags should reference the
complete path and file name for the subprofile.
See Example 4-2 below.
Note
source-name
The <profile-dir> tag must be removed.
Path and filename of input source media.
Supported path formats include:
•
UNC
\\share\media\test.mov
•
Drive letter
c:\media\test.mov
•
FTP URL
ftp://username:password@host/media/
test.mov
•
HTTP URL
http://server/media/test.mov
source-inpoint
Starting point for encoding. Two formats are
supported:
•
Time based relative to start of clip
hh:mm:ss.mmm
•
Timecode based
hh;mm;ss;ff
where ff is frame number
relative to start of the clip. Format is
HH:MM:SS.XXX
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-5
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
Description
source-outpoint
End of encoding for the clip. Two formats are
supported:
•
Note
•
Time based relative to start of clip
hh:mm:ss.mmm
If this number is positive, it specifies the
end point relative to the beginning of the
clip. If this number is negative, it
specifies the end point relative to the end
of the clip, in other words, -3.0 means that
encoding stops 3 seconds prior to the end
of the clip. Not available with file formats
that are non-seekable
Timecode based
hh;mm;ss;ff
where ff is frame number
delete-source-after-process
Indicates if the source clip will be deleted after
successful processing. Deletion is done by the
File Manager worker at the end of the MXE job.
Source clips are not deleted when a job fails.
Valid values of "true" or "yes" will turn this option
on. It is false by default.
subtitles-file
Fully qualified path of subtitles file
closed-caption-file
Fully qualified path of closed caption file
audio-track1-file
Fully qualified path of track1 audio file (ac3)
audio-track2-file
Fully qualified path of track2 audio file (ac3)
audio-track3-file
Fully qualified path of track3 audio file (ac3)
audio-track4-file
Fully qualified path of track4 audio file (ac3)
grfx-bumper-overlay-metadata
Fully qualified path or URL (HTTP) of bumper
graphics overlay metadata
grfx-bumper-overlay-swf
Fully qualified path of bumper graphics overlay
Flash template
grfx-content-overlay-metadata
Fully qualified path or URL (HTTP) of content
graphics overlay metadata
grfx-content-overlay-swf
Fully qualified path or URL of trailer graphics
overlay metadata
grfx-content-trailer-metadata
Fully qualified path or URL of trailer graphics
overlay metadata
grfx-trailer-overlay-swf
Fully qualified path of trailer graphics overlay
Flash template
bumper-file
Fully qualified path of bumper file
trailer-file
Fully qualified path of trailer file
enable-bumper
If false, disables bumper
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-6
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
Description
enable-trailer
Disables trailer if false.
enable-bumper-overlay
Disables bumper graphics overlay if false.
enable-trailer-overlay
Disables trailer graphics overlay if false.
enable-content-overlay
Disables trailer graphics overlay if false.
enable-watermark
Disables watermark if false.
Example 4-2
<add-subprofile>
<planner-submit>
<add-subprofile>\\myMachine\media\profiles\pp\Test.pp.awp</add-subprofile>
<add-subprofile>\\myMachine\media\profiles\ms\Test.ms.awp</add-subprofile>
</planner-submit>
Audio Input Tags
Planner Submit Audio InputTags
Tag
Description
audio-drift-compensation
Enables audio drift compensation. Values are on
and off.
capture-sample-rate
Audio capture sample rate (Hertz)
Video Input Tags
Tags used to configure and control live jobs.
Planner Submit Video Input Tags
Tag
Description
live-job
Live Job Capture = 1
Default = 0
video-format
Format of the live video signal:
525 59.94Hz
625 50Hz
1080i 59.94Hz
1080i 50Hz
720p 59.94Hz
720p 50Hz
capture-station
Name of the capture station used with a live job
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-7
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
Description
capture-card
ID of the capture card used with a live job:
e.g. 8256
Default = "-1", meaning unknown ID.
Note
When only one capture card is present, the
default is used.
ip-capture-config
Name of IP capture configuration for an IP
capture. This parameter is mutually exclusive
with capture-station and capture-card
start-trigger-type
See start-trigger-type tag values table below.
stop-trigger-type
See stop-trigger-type tag values table below.
start-trigger-timecode
HH:MM:SS:ff where ff is an integer greater than
or equal to 0 and less than 30 specifying an
individual frame
stop-trigger-timecode
Defines when to stop live capture.
start-trigger-date
Valid date in the format of
mm/dd/yyyy
stop-trigger-date
Used to stop live capture.
start-trigger-time
Valid time in the format HH:MM:SS or
HH:MM:SS.sss using a 24-hour clock
stop-trigger-time
Used to stop live capture.
start-trigger-dtmf
A character string containing one or more of the
following characters: 1,2,3,4,5,6,7,8,9,0,*,#.
These symbols correspond to audible DTMF
tones. The string specifies a sequence of tones
that indicates when capturing should start or stop.
A typical trigger string contains three digits
followed by *
stop-trigger-dtmf
Used to stop live capture.
start-ip-port
Indicates the IP port on which the live-capture
worker will listen for the
"<capture-start>0</capture-start>" message.
Valid port numbers are in the range 1 to 65535
stop-ip-port
Indicates the IP port on which the live-capture
worker will listen for the
"<capture-stop>0</capture-stop>" message.
Valid port numbers are in the range 1 to 65535.
capture-stop-duration
Indicates the length of time in HH:MM:SS format
that the live capture should run
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-8
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
start-trigger-type tag values
Tag Value
Description
DTMF
The trigger mechanism is a series of DTMF tones
within the digital signal.
TIME
The trigger is a particular date and time.
NOW
The capture starts immediately, without waiting
for a trigger.
IP
The trigger is XML text communicated over a
socket to a specified port. The expected XML is
"<capture-start>0</capture-start>".
TIMECODE
The trigger is a specific time code on a videotape.
stop-trigger-type tag values
Tag Value
Description
DTMF
The trigger mechanism is a series of DTMF tones
within the digital signal.
TIME
The trigger is a particular date and time.
DURATION
The capture stops after the specified number of
seconds.
IP
The trigger is XML text communicated over a
socket to a specified port. The expected XML is
"<capture-stop>0</capture-stop>".
TIMECODE
The trigger is a specific time code on a videotape
Example 4-3
Tape Capture Job
The following job will start and stop a tape-based capture using the 'capturePrefilter1' capture prefilter.
<planner-submit>
<meta-title>tape based job submission</meta-title>
<profile-dir>c:\program
files\Cisco\MXE\profiles\job\conform.job.awp</profile-dir>
<live-job>1</live-job>
<capture-card>-1</capture-card>
<capture-station>capturePrefilter1</capture-station>
<start-trigger-type>TIMECODE</start-trigger-type>
<stop-trigger-type>TIMECODE</stop-trigger-type>
<start-trigger-timecode>00:01:00:00</start-trigger-timecode>
<stop-trigger-timecode>00:23:30:00</stop-trigger-timecode>
<video-format>525 59.94Hz</video-format>
<output-name>$(basename)_$(profile)_$(uid).$(extension)</output-name>
<output-basename>TapeCapture</output-basename>
<mpeg-output-dir>\\HOST\output</mpeg-output-dir>
</planner-submit>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-9
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Example 4-4
Live Job
The following job will use IP start/stop triggers to capture from a Live HD source using the
capturePrefilter1 capture prefilter. A start trigger command must be sent separately (to the Host running
the capture prefilter and port 5051) once the job has started, in order to initiate the capture.
<planner-submit>
<meta-title>live job submission</meta-title>
<profile-dir>c:\program
files\Cisco\MXE\profiles\job\conform.job.awp</profile-dir>
<live-job>1</live-job>
<capture-card>-1</capture-card>
<capture-station>capturePrefilter1</capture-station>
<start-trigger-type>IP</start-trigger-type>
<start-ip-port>5051</start-ip-port>
<stop-trigger-type>IP</stop-trigger-type>
<stop-ip-port>5051</stop-ip-port>
<video-format>1080i 59.94Hz</video-format>
<output-name>$(basename)_$(profile)_$(uid).$(extension)</output-name>
<output-basename>LiveCapture</output-basename>
<mpeg-output-dir>\\HOST\output</mpeg-output-dir>
</planner-submit>
AN2 Tags
AN2 is used to stitch multiple video segments, audio tracks, and or stills in a single job.
The <an2> definition is used in place of a single video clip (<source-name>) in the MXE workflow. For
more information about .an2 files, see Appendix A, “MXE .an2 File.”
Planner Submit AN2 Tags
Tag
Description
an2
Start of AN2 definition
list
Start of 1 or more clip and still segments
clip
Defines a segment using a video input file, such as
.mov, .avi or .dv
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-10
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
still
Description
Defines a segment using 1 or more images.
<still duration=”ss.sss” frames=”nn”
rate=”ss.sss” repeat=[“true” | “false”]
/still>
•
Duration = segment length in seconds.
Optional attributes
•
Frames = a sequence of still image files
•
Rate = frame/sec
Note
•
video
This is not the output encoder rate; that is
specified in the MXE profile.
Repeat = [true | false]
True specifies the sequence is looped
repeatedly until the segment duration expires.
False specifies the last image in the sequence
is held until the segment duration expires.
Path and filename of input source media used for
clip or still segment.
For still segments, the file format is inferred from
the extension, which may be .jpg or .gif. (Other
formats may be possible.) In the case of a
sequence of still image files, a wildcard character
(*) must be used in the file name, representing
sequential numbers 000, 001, 002 . . ..
audio
Path and filename of audio track used for clip or
still segment
in-point
Starting point for encoding clip segment. The
following formats are supported:
out-point
Example 4-5
•
seconds relative to start of clip
(hh:mm:ss.mmm)
•
non-drop frame timecode (hh:mm:ss:ff)
where ff is frame number
•
drop frame timecode (hh;mm;ss;ff) where ff
is frame number
Ending point for encoding clip segment in
seconds or timecode format
<Planner-Submit> Job Using AN2 Tags
The following job will stitch together a clip with 2 audio tracks and a list of images
(image000[001-059].gif):
<planner-submit>
<meta-title>AN2 job submission</meta-title>
<profile-dir>c:\program files\Cisco\MXE\profiles\job\conform.job.awp</profile-dir>
<an2>
<list>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-11
Chapter 4
Planner-Submit XML
Planner-Submit Tags
<clip>
<video>\\devtestecs\media\bridge.mov</video>
<in-point>00:00:00.000</in-point>
<out-point>00:00:30.000</out-point>
<audio>\\devtestecs\media\audio1.wav</audio>
<audio>\\devtestecs\media\audio2.wav</audio>
</clip>
<still duration="10.0" frames="60" rate="12.0" repeat="true">
<video>\\devtestecs\media\image*.jpg</video>
<audio>\\devtestecs\media\audio3.wav</audio>
</still>
</list>
</an2>
</planner-submit>
Ancillary Media Input Tags
These tags define watermark and bumper/trailer input directories.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-12
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Planner Submit Ancillary Media Input Tags
Tag
Description
watermark-dir
Directory where watermark files are found:
UNC or local file path (c:\)
bumper-dir
Directory where bumper and trailer clips are
found:
UNC or local file path (c:\)
Timed Job Tags
Timed Job tags are used to define timed job parameters.
Planner Submit Timed Job Tags
Tag
Description
timed-job-start
Submission of the job is to the MXE Enterprise
timed-job queue to execute at a future time.
yyyy-mm-dd hh:mm:ss
timed-job-period
To run an Enterprise timed job periodically, set
the number of seconds between each job
submission time.
"0" = the timed job runs only once, at the start
time.
Note
Example 4-6
This tag is not required for timed jobs, but
it cannot be used without
<timed-job-start>.
<Planner-Submit> Job Using Timed Job Tags
<planner-submit>
<source-name>\\myMachine\media\myClip.mpg</source-name>
<profile-dir>\\myMachine\media\profiles\job\bill.job.awp</profile-dir>
<timed-job-start>2002-10-30 15:45:00</timed-job-start>
<timed-job-period>86400</timed-job-period>
<ms-output-dir>\\myMachine\output</ms-output-dir>
<output-basename>myEncode</output-basename>
</planner-submit>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-13
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Output Tags
These tags are used to define output file name formats and locations
Planner Submit Output Name Tags
Tag
Description
output-basename
Specifies the output base name. That name is
available in the Output profile through the
$(basename) variable. All encoded files receive
names derived from this base name
output-name
Specifies format of output filename using
predefined macros. If not specified default is:
"$(basename)_$(profile)_$(uid).$(extension)"
See the Output-name Tag Allowable Macros table
below.
Output-name Tag Allowable Macros
Macro
Description
$(date)
Current date 20000825 (yyyymmdd)
$(time)
Current time 075000 (military hhmmss)
$(day)
Current day, 2 digits (25)
$(month)
Current month, 2 digits (08)
$(year)
Current year, 4 digits (2000)
$(author)
Author field from the submission page
$(title)
Title field from the submission page
$(profile)
Selected profile name
$(subprofile)
Selected subprofile name (i.e. Real [1], etc.)
$(basename)
Output name specified in output-basename.
Default is meta-title
$(format)
ASF, Real, QT, MP3, MPEG1, MPEG2
depending on the type of the output format
$(extension)
.wmv, .rm, .mov, .mpg, .pv, etc. depending on the
type of the file
$(filename)
File name if file based job otherwise Output name
$(target)
The target label. If a SureStream where there are
multiple targets it is undefined which target label
is chosen.
$(uid)
Unique naming scheme (i.e. foo$(UID) will
produce Foo1, Foo2, etc.)
$(udm:xxx)
UDM, where "xxx" is the name of the UDM tag
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-14
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Macro
Description
$(user-data)
user-data specified in task (component) profile
@[date]
Job submission date in yyyy-MM-dd format.
Substituted when task is executed.
@[time]
Job submission time in yyyy-MM-dd-HHmmss
format. Substituted when task is executed.
@[job-id]
Job ID. Substituted when task is executed.
Planner Submit Output Directory Tags
These tags define output directories for various types of MXE output. A complete directory
specification, including machine name or drive letter is expected
Tag
Output Directory for:
flash-output-dir
Flash7 worker
flash8-output-dir
Flash8 worker
h264-output-dir
H.264 worker
index-output-dir
data and thumbnails from indexer
mpeg-output-dir
MPEG worker
mp3-output-dir
Microsoft Windows Media worker
ms-output-dir
Microsoft Windows Media worker
pp-output-dir
Preprocessor worker
qt-output-dir
QuickTime worker
real-output-dir
Real worker
report-dir
Location of file report of job execution (from
HTTP POST notification)
speechtotext-output-dir
Speech-to-text worker
thumb-output-dir
Thumbnail images
wav-output-dir
WAV worker
Planner Submit Intermediate Output Tags
These tags define whether or not to keep intermediate output files for a given worker. Valid values of
"true" or "yes" will turn this option on.
Note
Default is "true" except where noted.
Tag
Description
keep-captionextract
Closed caption extract
keep-dve
DVE
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-15
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Tag
Description
keep-flash
Flash7
keep-flash8
Flash8
keep-h264
H.264
keep-index
Index
keep-mp3
MP3
keep-mpeg
MPEG
keep-ms
Microsoft Windows Media
keep-msmpeg4v2
MSMPEG4v2
keep-pp
Preprocessor.
Note
Default is false.
keep-qt
QuickTime
keep-qtref
QuickTime reference file
keep-real
Real
keep-speechtotext
Speech-to-text
keep-thumb
Thumbnail
keep-wav
WAV
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-16
OL-24031-01
Chapter 4
Planner-Submit XML
Planner-Submit Tags
Email Tags
Planner Submit Email Tags
Tag
Description
admin-email
System administrator e-mail address. This
parameter is used to define the 'Administrator' TO
or FROM e-mail address in an e-mail notification
profile.
user-email
E-mail address of the user submitting a job. This
parameter is used to define the 'Submitter' TO or
FROM e-mail address in an e-mail notification
profile.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
4-17
Chapter 4
Planner-Submit XML
Planner-Submit Tags
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
4-18
OL-24031-01
CH A P T E R
5
MultiPackage XML
Revised: May 4, 2011
This chapter provides an overview of the multipackage XML and includes the following sections:
•
MultiPackage XML Tags, page 5-1
•
Complete multiPackage Example, page 5-10
MultiPackage XML Tags
A separate component of the MXE API is the ability to submit jobs to MXE on a 'package' basis.
Example 5-1 describes the general format of a package.
The general idea behind the multiPackage format is to allow a user to independently specify the input
and the processing. The input file list is used to identify any number of clips to be 'spliced' together to
form the final content. The packages are specifications on how the content should be processed. The
inputFileList tag allows the user to identify the sequence of clips that comprise the final content file. The
sequence can then be processed in a variety of ways corresponding to each package specification in the
multiPackage XML.
Example 5-1
General Format of an MXE multiPackage Job
<multiPackage>
<inputFileList>
<!-- any number of input files -->
<inputFile>
…
</inputFile>
<inputFile>
…
</inputFile>
…
</inputFileList>
<!-- any number of packages -->
<standardPackage>
…
</standardPackage>
<planner-submit>
…
</planner-submit>
<vodPackage>
…
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-1
Chapter 5
MultiPackage XML
MultiPackage XML Tags
</vodPackage>
…
</multiPackage>
Input File Tags
Input File Tag Sets
Description
<inputFileList>
The inputFileList Tag is the outermost wrapper
tag for all the input file tag types. It appears at the
beginning of a multiPackage.
<inputFile>
The inputFile Tags section contains tags that
define an input file. Multiple input file tags are
defined within an inputFileList tag.
<watermark>
The Watermark Tags section contains tags that
describe a watermark. The inputFile tag is the
wrapper around a waterMark tag.
<splicePoint>
The Splice Point Tags section specifies where to
insert an input file within another input file.
<references>
A References Tags section, if used must appear at
the beginning of a <multiPackage>. If used, a
references tag is the wrapper around an
inputFileList tag.
Input file tag sections are nested within one another in the following manner:
Example 5-2
Order of nested input file sections
<multiPackage>
<references>
<inputFileList>
<inputFile ref = “content”>
<watermark>...</watermark>
<splicePoint>...</splicePoint>
</inputFile>
</inputFileList>
</references>
</multiPackage
inputFileList Tag
See Example 5-6 on page 5-10.
inputFile Tags
See Example 5-6 on page 5-10.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-2
OL-24031-01
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Watermark Tags
The input file can, in turn, contain any number of watermark sections. Each watermark section is
identical to the watermark section the Cisco prefilter accepts.
See Example 5-6 on page 5-10.
Splice Point Tags
Another feature of the inputFileList is the ability to identify specific "splice points" into an input file.
These are points in an input clip where you would like to insert another clip (like an advertisement).
Splice points are identified inside an inputFile inside a references section.
To refer to these splice points is similar to the normal inputRef with the addition of a splicePoint =
"splice-point-number" attribute.
The inPoint and outPoint tags are optional in the splicePoint section. If an inPoint is missing the inPoint
is taken as the outPoint of the previous splicePoint. If there is no previous splicePoint then the inPoint
is taken to be the beginning of the clip. If the outPoint is missing it is taken to be the end of the clip.
See Example 5-6 on page 5-10.
References Tags
Reference tags provide a section to define and store input file and watermark reference definitions.
Another feature of the input file list is the ability to build up complete content clips by use of references.
The references section appears at the top level of the input file list.
The references section contains two types of references: inputFile and watermark. InputFile and
watermark elements within a references section include the ref attribute in the form: ref = “ref-id”.
See Example 5-6 on page 5-10.
Tag
Description
Input File List Tag
inputFileList
Defines list of input files to be spliced together
Input File Tags
inputFile
Defines input file. See the Reference Tags section
below to use this tag within a <references> tag.
inputFileName
Full path of input file
inPoint
File in point. The following formats are
supported:
outPoint
•
Time based relative to start of clip
hh:mm:ss.mmm
•
Timecode based
hh;mm;ss;ff
where ff is frame number
File out point (hh:mm:ss.mmm or hh;mm;ss;ff)
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-3
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Tag
Description
disposition
Disposition of clip:
•
MpgTransportManzanita - The input file is
a Manzanita generated transport stream. This
type of file can be spliced with any other
Manzanita generated stream
•
MpgTransportNonManzanita - The input
file is Manzanita but it is not a transport
stream
•
MpgCableLabsCompliant - The input file is
Cable Labs compliant but it is not Manzanita
so we are not able to do any special splicing
•
Other - The input file type is unknown.
profile
Initial profile to use for clip
timecodeBase
Base timecode for clip
hh:mm:ss:ff
timecodeSource
Source of timecode for clip:
•
fixed - From external source
•
embedded - Embedded in source
ccFile
Closed captioning file name
watermark
Watermark specification for clip (may be zero or
more). See the Reference Tags section below to
use this tag within a <references> tag.
Watermark Tags
source-location
Watermark source file
width
Watermark width in pixels
height
Watermark height in pixels
mode
Watermark mode:
•
composite - overlay directly on input clip
•
luminance - Allows for alpha blending
strength
Transparency: 100 - opaque, 0 - invisible
x
X offset relative to x-origin value
y
Y offset relative to y-origin value
x-origin
right or left
y-origin
top or bottom
one-time-on
On time in seconds
one-time-off
Off time in seconds
animate
simple is only supported option
fade-time
Time in seconds to fade the watermark up and
down.
Splice Point Tag
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-4
OL-24031-01
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Tag
Description
splicePoint
Splice point definition.
inPoint
Specified as:
hh:mm:ss.mmm
outPoint
Specified as:
hh:mm:ss.mmm
Reference Tags
references
Defines input file and watermark references
<inputFile ref = “content”>
Ref attribute defines the input file definition to be
referenced. (Used within a <references> tag.)
<waterMark ref = “wm-rating>
Ref attribute defines the waterMark definition to
be referenced. (Used within a <references> tag.)
<inputRef ref = “content” />
An instance of the referenced input file definition.
<inputRef ref = “long-content”
splicePoint = “1” />
An instance of the referenced input file definition,
including a splice point.
<watermarkRef ref = “wm-rating” />
An instance of the referenced waterMark
definition.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-5
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Standard Package
A standard package contains XML tags similar to a planner-submit and is used to encode and generate
a standard MXE package.
Standard Package Tags
Tag
Description
standardPackage
Standard package
title
Job title
description
Job description
author
Job author
baseName
Output base name for package
profileName
Job profile name used for encoding
msOutputDir
Windows media output directory
realOutputDir
Real output directory
qtOutputDir
Quicktime output directory
vodOutputDir
VOD output directory
mpegOutputDir
MPEG output directory
mp3OutputDir
WAV output directory
pvOutputDir
Packet video output directory
flashOutputDir
Flash output directory
Example 5-3
MultiPackage Job Using collection Tags
<standardPackage>
<msOutputDir>ftp://user:password@localhost:21/output</msOutputDir>
<baseName>newLungs</baseName>
<title>Test Title</title>
<author>Test Author</author>
<profileName>myprofile.job.awp</profileName>
</standardPackage>
Planner-submit Package
A planner-submit package is used to encode and generate a standard MXE package. This package format
replaces the <standardPackage> that provides only a subset of the <planner-submit> functionality.
See Chapter 5, Planner-Submit XML for a complete list of <planner-submit> parameters.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-6
OL-24031-01
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Planner-submit Tag
Tag
Description
planner-submit
Planner-submit package
Example 5-4
MultiPackage Job Using collection Tags
<planner-submit>
<meta-title>Test Title</meta-title>
<meta-author>Test Author</meta-author>
<profile>myprofile.job.awp</profile>
<job-priority>1</job-priority>
<ms-output-dir>\\myMachine\output\ms</ms-output-dir>
<output-basename>myEncode</output-basename>
</planner-submit>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-7
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Video on Demand (VOD) Package
A VOD package is a shorthand way of specifying the various options that go into producing a Cable
Labs-compliant VOD package.
VOD Package Tag
Tag
Description
adiPackage
VOD package
title
Job title
description
Job description
author
Job author
packageOptions
See packageOptions tag values below.
outputDirectory
Directory where ADI package will be placed
proxyOutputDirectory
Directory where proxy will be placed
contentFileName
Name of content file
profileName
Profile to be used for encoding
adiProfileName
ADI profile to use for ADI worker
adiFileName
Full pathname of ADI.XML file
preXsltFileName
Full pathname of pre processing XSL file
postXsltFileName
Full pathname of post processing XSL file
tarFileName
Name of tar file
ftpDistributionList
FTP distributions for package (not currently
available in XML)
copyDistributionList
Copy distributions for package (not currently
available in XML)
previewFileName
Full pathname of preview file
previewCompliant
Indicates if preview file is compliant (true/false)
userData
Job user data
vchipEnabled
Indicates whether or not to include VCHIP meta
data in output media (true/false)
vchipType
See vchipType tag values below.
vchipFlag
See vchipFlag tag values below.
vchipRating
See vchipRating tag values below.
distributeDtd
Indicates whether or not to distribute DTD file as
part of VOD package (true/false)
packageOptions tag values
Tag Value
Description
Package
Build a VOD package
Proxy
Build a proxy
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-8
OL-24031-01
Chapter 5
MultiPackage XML
MultiPackage XML Tags
Tag Value
Description
Tar
Build a tar file of the output directory
Pitch
Pitch (ftp or copy) the output
vchipType tag values
Tag Value
Description
UNKNOWN
Do not know type
MPA
Motion Picture Association
USTVPG
US TV ratings
CELR
Canadian English Language Ratings.
CFLR
Canadian French Language Ratings.
vchipFlag tag values
Tag Value
Description
NONE
Rating stands as is
FV
Fantasy violence
V
Violence
S
Sex
L
Language
D
Drugs or substance abuse
vchipRating tag values
Tag Value
Description
USTVPG
TV-Y
All children
TV-Y7
Directed to children 7 and above
TV-G
General audience
TV-PG
Parental guidance suggested
TV-14
Parents strongly cautioned
TV-MA
Mature audiences only
CELR
E
Exempt
C
Children
C8+
Children eight years and older
G
General programming, suitable for all audiences
PG
Parental guidance
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-9
Chapter 5
MultiPackage XML
Complete multiPackage Example
Tag Value
Description
14+
Viewers 14 years and older
18+
Adult programming
CFLR
E
Exempt
G
General
8 ans +
Viewers 8 years and older
13 ans +
Viewers 13 years and older
16 ans +
Viewers 16 years and older
18 ans +
Adult programming
Example 5-5
MultiPackage Job Using collection Tags
<adiPackage>
<packageOptions>Package</packageOptions>
<outputDirectory>c:\media\packages</outputDirectory>
<proxyOutputDirectory>c:\media\proxy</proxyOutputDirectory>
<contentFileName>packageNew.mpg</contentFileName>
<profileName>c:\media\profiles\job\package.job.awp</profileName>
<adiProfileName>c:\media\profiles\adi\test.adi.awp</adiProfileName>
<adiFileName>c:/Media/adi.xml</adiFileName>
<previewCompliant>false</previewCompliant>
<vchipEnabled>false</vchipEnabled>
<vchipType>UNKNOWN</vchipType>
</adiPackage>
Complete multiPackage Example
A complete example illustrating references, watermarks, and multiple packing of the stitched content.
Example 5-6
Complete multiPackage
<?xml version="1.0" encoding="Windows-1252"?>
<multiPackage xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<inputFileList>
<!-- Begin the references section. The file clips and the
watermarks in this section are not actually processed unless
referenced somewhere externally to this section. These are only
references -->
<references>
<!-- ads -->
<inputFile ref="ad1">
<inputFileName>c:\media\clips\bronto.mpg</inputFileName>
</inputFile>
<inputFile ref="ad2">
<inputFileName>c:\media\clips\subdivision.mpg</inputFileName>
</inputFile>
<!-- watermarks -->
<watermark ref="wm-rating-small">
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-10
OL-24031-01
Chapter 5
MultiPackage XML
Complete multiPackage Example
<source-location>c:\media\watermarks\tv-ma.psd</source-location>
<width>68</width>
<height>62</height>
<mode>composite</mode>
<strength>100</strength>
<x>0</x>
<y>0</y>
<x-origin>left</x-origin>
<y-origin>top</y-origin>
<one-time-on>5</one-time-on>
<one-time-off>20</one-time-off>
<animate>simple</animate>
<fade-time>0.8</fade-time>
</watermark>
<watermark ref="wm-rating-large">
<source-location>c:\media\watermarks\tv-ma.psd</source-location>
<width>116</width>
<height>106</height>
<mode>composite</mode>
<strength>100</strength>
<x>0</x>
<y>0</y>
<x-origin>left</x-origin>
<y-origin>top</y-origin>
<one-time-on>5</one-time-on>
<one-time-off>20</one-time-off>
<animate>simple</animate>
<fade-time>0.8</fade-time>
</watermark>
<watermark ref="bug">
<source-location>c:\media\watermarks\my-bug.psd</source-location>
<width>40</width>
<height>30</height>
<mode>composite</mode>
<strength>100</strength>
<x>0</x>
<y>0</y>
<x-origin>right</x-origin>
<y-origin>bottom</y-origin>
<animate>simple</animate>
<fade-time>0.8</fade-time>
</watermark>
<watermark ref="station-id">
<source-location>
c:\media\watermarks\station-id.psd
</source-location>
<width>40</width>
<height>30</height>
<mode>composite</mode>
<strength>100</strength>
<x>0</x>
<y>0</y>
<x-origin>left</x-origin>
<y-origin>bottom</y-origin>
<animate>simple</animate>
<fade-time>0.8</fade-time>
</watermark>
<!-- content files -->
<inputFile ref="credits">
<inputFileName>c:\media\clips\credits.mpg</inputFileName>
<disposition>Other</disposition>
<watermarkRef ref="wm-rating-large"/>
<watermarkRef ref="bug"/>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-11
Chapter 5
MultiPackage XML
Complete multiPackage Example
</inputFile>
<!-- this content file has 3 separate sections that can be
referenced independently (see references below) -->
<inputFile ref="inside">
<inputFileName>c:\media\clips\inside.mpg</inputFileName>
<disposition>Other</disposition>
<watermarkRef ref="wm-rating-small"/>
<watermarkRef ref="bug"/>
<splicePoint>
<outPoint>00:00:10.0</outPoint>
</splicePoint>
<splicePoint>
<outPoint>00:00:20.0</outPoint>
<!-- The watermarks from the top level inputFile and the splicePoint are combined in the
final output -->
<watermarkRef ref="station-id"/>
</splicePoint>
<!-- This last splice point picks up at 00:00:20.0
and goes on to the end of the clip -->
<splicePoint/>
</inputFile>
<inputFile ref="trailer">
<inputFileName>c:\media\clips\trailer.mpg</inputFileName>
<ccFile>c:\media\cc\trailer.txt</ccFile>
<disposition>Other</disposition>
<splicePoint>
<outPoint>00:00:10.0</outPoint>
</splicePoint>
<splicePoint>
<outPoint>00:00:20.0</outPoint>
</splicePoint>
<splicePoint/>
</inputFile>
</references>
<!-- Begin piecing together of the clips.
order and processing of the clips. -->
These define the actual
<inputRef ref="ad2"/>
<inputRef ref="credits"/>
<inputRef ref="inside" splicePoint="1"/>
<inputRef ref="ad1"/>
<inputRef ref="inside" splicePoint="2"/>
<inputRef ref="ad2"/>
<inputRef ref="inside" splicePoint="3"/>
<inputRef ref="ad1"/>
<inputRef ref="ad2"/>
<inputRef ref="trailer"/>
</inputFileList>
<adiPackage>
<packageOptions>Package</packageOptions>
<outputDirectory>c:\media\packages</outputDirectory>
<proxyOutputDirectory>c:\media\proxy</proxyOutputDirectory>
<contentFileName>packageNew.mpg</contentFileName>
<profileName>c:\media\profiles\job\package.job.awp</profileName>
<adiProfileName>c:\media\profiles\adi\test.adi.awp</adiProfileName>
<adiFileName>c:/Media/adi.xml</adiFileName>
<ftpDistributionList />
<copyDistributionList />
<previewCompliant>false</previewCompliant>
<vchipEnabled>false</vchipEnabled>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-12
OL-24031-01
Chapter 5
MultiPackage XML
Complete multiPackage Example
<vchipType>UNKNOWN</vchipType>
</adiPackage>
<planner-submit>
<meta-title>Test Title</meta-title>
<meta-author>Test Author</meta-author>
<profile>myprofile.job.awp</profile>
<ms-output-dir>ftp://user:password@localhost:21/output </ms-output-dir>
<output-basename>newLungs</output-basename>
</planner-submit>
</multiPackage>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
5-13
Chapter 5
MultiPackage XML
Complete multiPackage Example
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
5-14
OL-24031-01
CH A P T E R
6
JobPackage XML
Revised: November 19, 2012
This chapter provides an overview of the jobPackage XML and includes the following sections:
•
jobPackage XML Overview, page 6-1
•
jobPackage Tags, page 6-2
jobPackage XML Overview
jobPackage XML allows for plan XML in various formats to be bundled with parameter XML so the two
can be submitted as a single XML document. This is helpful in the REST API, which only allows for a
single input XML document.
The jobPackage also allows a single job translation or submission to submit multiple jobs. Although the
jobs run independently, they are submitted in one request sharing a common set of parameter XML.
jobPackage specifications may be nested as jobs within the jobPackage. This feature means transforms
and customer planners can take advantage of the jobPackage capability to introduce new parameter XML
for additional transforms and planners. Parameter XML within a jobPackage incrementally changes
previous parameter XML as the job packages are nested.
Each sub-node of the jobList is treated as a separate job and undergoes the normal transformation
process. Jobs listed in the jobList may use different plan XML formats. To be submitted, all of the jobs
in the list must get translated into either job XML or jobPackage XML. If the job tag of the job XML or
jobPackage has a name attribute, that name is returned with the jobSubmitStatus returned by the Submit
request.
There is an attribute named canSubmit that is added to the jobPackage node once the document has all
of its job list translated into jobs. This allows for the creation of XSL transforms and planners that can
manipulate the jobPackage prior to it being submitted. Adding canSubmit='true' to a jobPackage disables
the translation of the jobList.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
6-1
Chapter 6
JobPackage XML
jobPackage Tags
jobPackage Tags
Tag
Description
Root Tag
jobPackage
Root tag
Attribute cansubmit - if true, disables translation
of jobList
General Tags
submitParameterList
Section for defining variables, setting, udm
overrides
jobList
Contains 1 or more plan XML documents
submitParameterList Tags
variable
Variable definition. Value is substituted wherever
@{name} is defined in plan XML documents.
Attribute name defines the variable name
setting
System setting to override
Attribute name defines the setting name
udm-item
User defined meta data item to override.
Attribute name defines the udm name
jobData
Defines specific XML that is carried along in job
for matching XSLT transforms
jobList Tags
planner-submit
planner-submit plan XML
multiPackage
multiPackage plan XML
job
job XML
jobPackage
nested jobPackage plan XML
[custom]
custom XML that can be translated to job XML
Example 6-1
jobPackage XML
<jobPackage>
<submitParameterList>
</submitParameterList>
<jobList>
<planner-submit>
.
.
.
</planner-submit>
<job name="secondJob">
</job>
</jobList>
</jobPackage>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
6-2
OL-24031-01
CH A P T E R
7
Notifications
Revised: May 4, 2011
This chapter provides an overview of notifications and includes the following sections:
•
Notifications Overview, page 7-1
•
Configuring and Receiving the HTTP Post, page 7-1
•
Content of the HTTP Post Message, page 7-1
•
Creating a File Report, page 7-7
Notifications Overview
HTTP POST notifications can be used as a callback mechanism for the MXE to notify an external
process via HTTP that a job completed. Detailed job status XML will be sent via the HTTP POST
indicating if the job succeeded or failed. The XML will contain details for each task that was processed
including the locations of any output files that were generated and any errors if the task failed.
Configuring and Receiving the HTTP Post
HTTP Post is specified in the notification. Messages are sent on completion of the job.
Check HTTP Post to enable/disable.
Server Name: This is the destination server to which HTTP notification messages will be posted
Port Number: This is the port on the destination server, for example, 8050.
CGI Path: Designates the path and file name for the CGI script or web page that recieves the HTTP post.
The post may be received by web page on the destination server and port named above. Or, a custom
listening program may establish a socket connection on the port.
A sample C++ program for listening to the HTTP messages, called listen, is provided in the API.
Content of the HTTP Post Message
An MXE job with notification generates one HTTP Post message. The message contains an XML
<job-status> document. The <job-status> document contains information about
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
7-1
Chapter 7
Notifications
Content of the HTTP Post Message
•
The general status and disposition of the MXE job
•
Metadata items relating to the content
•
Job and user-supplied metadata
•
Status reports from all the tasks that ran as part of the MXE job
Details of the HTTP Post Format
A typical header is shown below. It contains lines, followed by a blank line. The <job-status> document
follows the header.
Typically, the ASP page receiving the post will not display the header.
The end of the HTTP Post transmission is indicated by a termination signal consisting of two consecutive
blank lines. Specifically, detection of the 4-character sequence "\n\r\n\r" is sufficient to indicate the end
of the transmission.
Example 7-1
HTTP Post Format
POST ///myMachine HTTP/1.0
Host: myMachine:8050
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Content-type: text/plain; charset=UTF-8
Content-length: 11525
<job-status> . . . </job-status>
General Status Tags
These tags relate the status and other properties of the MXE Job.
General Status Tags
Description
<id>
Job ID.
<status>
Job status.
Completed
Failed
<priority>
Job priority
<submit-time>
2003-06-06 15:56:40
<complete-time>
2003-06-06 16:04:25
Content Metadata Tags
These tags relay the metadata items specified with the submission of an MXE Job. (These can be set
on the Tape Job or File Job tabs in the Workgroup Client UI, or on one of the "Submit" pages in the
Enterprise UI).
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
7-2
OL-24031-01
Chapter 7
Notifications
Content of the HTTP Post Message
Content Metadata Tags
Description
<author>
Job author.
<title>
Job title.
<copyright>
Job copyright.
<description>
Job description.
<keywords>
Job keywords.
<rating>
Job rating.
Job Metadata Tags
The oddly-named <user-data-job> document holds XML items used by the MXE User Interface. More
specifically, they are mostly items generated in the GUI for display in the job status monitor.
Job Metadata Tags
Description
<user-data-job>
submit-machine
Name of machine (node)
job-profile
Name of job profile
source-clip
Path and file name of clip
start-timecode
HH:MM:SS:ms
stop-timecode
HH:MM:SS:ms
description
Description of clip
keywords
Keywords associated with clip
audience-rating
Rating of the clip
basename
Base name for output files
metadata
Contains User-defined metadata
User Metadata
User defined metadata are name value pairs submitted with the job.
The <user-data-job><metadata> document may hold one or more user metadata items. These items
appear as parameters of the child tag <udm-item>.
<udm-item name="MyUDMNameString" value="DataTest"></udm-item>
Task Status Tags
The <job-status> document concludes with a sequence of child <task-status> documents, one from each
separate task in the job. They contain the following tags.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
7-3
Chapter 7
Notifications
Content of the HTTP Post Message
Task Status Tags
Description
<task-status>
id
Task id (integer)
job-id
Job id (integer)
user-data-task
Parent for the user-data items
status
Dependent
Pending
Provisioned
Running
StopRequest
Succeeded
Failed
type
Type of worker, e.g., "real"
percent
Percent of task completed (integer)
elapsed-seconds
Time elapsed while running task (integer)
start-time
YYYY-MM-DD HH:MM:SS
stop-time
YYYY-MM-DD HH:MM:SS
fail-message
Any error string provided by worker
accounting
Parent for the accounting data items
Task Metadata Tags
The <task-status><user-data-task> document holds data items related to task. This ususally includes the
following:
Task Metadata Tags
Description
display-name
Name of this worker for display
clip-location
Location of the output clip
task-profile
Name of sub-profile used by this worker
Accounting Tags
The <task-status><accounting> document holds accounting items returned by the workers to the MXE
Database and to HTTP Post. The accounting information may include data characterizing the work done
by the task. For example, encoder tasks usually provide information about the image size, frame rate
and encoded bitrate. Different workers supply different accounting tags.
These are documented in the MXE Accounting Data section of this guide.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
7-4
OL-24031-01
Chapter 7
Notifications
Content of the HTTP Post Message
Accounting Tags
Description
General Tags
worker-type
Note
Refer to Worker-Types table below for a
list of values.
Input-related Tags
input-type
Type of input. For example, tape, live, or file.
input-file-name
Source file name, including path.
start-timecode
Start time for file and tape jobs.
stop-timecode
Stop time for tape jobs only.
source-duration
Job duration in seconds.
decoder-type
Decompression pipeline used.
video-format
Video format of the source clip.
audio-format
Audio format of the source clip.
source-width
Width of the input clip.
source-height
Height of the input clip.
source-fps
Frame rate of the input clip.
source-sample-rate
Audio sample rate of the input clip.
source-num-audio-channels
Number of audio channels in the input clip.
capture-start-time
Time of day the capture started.
capture-stop-time
Time of day the capture stopped.
Output-related Tags
generated-file
This is the name of the intermediate output file
produced by the prefilter. This tag will only be
present when the worker type is the prefilter.
max-fps
Maximum frames per second of the output file.
max-width
Maximum width of the output file.
max-height
Maximum height of the output file.
duration
Duration of the output file.
max-video-bitrate
Maximum bitrate of the output file.
max-audio-bitrate
Maximum audio bitrate of the output file.
video-codec
Video codec used in the output file.
audio-codec
Audio codec used in the output file.
image-codec
Miage codec used in the output file.
output-file-name
Primary output file(s)
output-file-size
Size of the output file.
output-stream-name
Name of the stream.
output-stream-port
Port of the stream.
user-data
Codec-specific data.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
7-5
Chapter 7
Notifications
Content of the HTTP Post Message
Worker-Types
Worker-Types
Description
Prefilter
Values may be:
prefilter-video
prefilter-audio
Microsoft
Values may be:
wm video
wm audio
wm both
Real
Values may be:
realStream
realAudioStream
real
Enviro
Values may be:
enviro video
enviro audio
anviro both
Mpeg
Value may be:
MPEG video
MPEG audio
MPEG both
Main Concept
Values may be:
MPEG video
MPEG audio
MPEG both
Quicktime
Values may be:
quicktime video
quicktime audio
quicktime
Here is an example accounting block returned by the preprocessor worker:
XML Response
<accounting>
<output-file-name>\\MA-BFARMER\media\preprocess\IndyRacing_pp.avi</output-file-name>
<generated-file>D:\Media\preprocess\IndyRacing_pp.audio</generated-file>
<input-type>file</input-type>
<decoder-type>quicktime</decoder-type>
<source-duration>13.914</source-duration>
<source-sample-rate>44100</source-sample-rate>
<source-num-audio-channels>1</source-num-audio-channels>
<source-width>640</source-width>
<source-height>480</source-height>
<source-fps>29.970</source-fps>
</accounting>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
7-6
OL-24031-01
Chapter 7
Notifications
Creating a File Report
Creating a File Report
The same HTTP message can be directed to a file:
The notification profile should be set just as for HTTP Post, with the HTTP Post box checked. If you
don't need the HTTP Post, it can be directed to a non-existent port.
To define the location of the report, you need to put a <report-dir> document, containing the machine
and directory, in the job XML or planner-submit XML.
In planner-submit XML:
<planner-submit>
. . .
<output-basename>MyBasename</output-basename>
<report-dir>\\MyMachine\output\reports</report-dir>
. . .
</planner-submit
In job XML it goes in the <user-data-job> document:
<job>
<user-data-job>
. . .
<basename>MyBasename</basename>
<report-dir>\\MyMachine\output\reports</report-dir>
. . .
</user-data-job>
Report Name
The report filename will be the job basename, with .xml appended. If there is no basename, the report
is named report.xml.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
7-7
Chapter 7
Notifications
Creating a File Report
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
7-8
OL-24031-01
A P P E N D I X
A
MXE .an2 File
Revised: May 4, 2011
This chapter provides an overview of the .an2 file and includes the following sections:
•
About an .an2 File, page A-1
•
About Segment Timing and Concatenation, page A-3
•
About Audio/Video Combination Rules, page A-4
•
Adding Multiple Audio Tracks, page A-4
•
Examples, page A-4
About an .an2 File
Each segment in the .any file is defined by a <clip> or a <still> XML block.
The .an2 file is used in place of a single video clip in the MXE workflow.
Here is an example .an2 file:
<list>
<still duration="5.0">
<video>image1.jpg</video>
<audio>audio1.wav</audio>
</still>
<still duration="5.0">
<video>image2.gif</video>
<audio>audio2.wav</audio>
</still>
<still duration="10.0" frames="60" rate="12.0" repeat="true">
<video>image3*.jpg</video>
<audio>audio3.wav</audio>
</still>
<clip in-point="1.0" out-point="6.0">
<video>video4.mov</video>
<audio>video4.mov</audio>
</clip>
<!--Optional Duration Format-->
<clip>
<video>video5.mov</video>
<audio>video5.mov</audio>
<in-point>1.0</in-point>
<out-point>6.0</out-point>
</clip>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
A-1
Appendix A
MXE .an2 File
About an .an2 File
<still duration="5.0">
<video>image6.jpg</video>
</still>
</list>
<Clip> Block Attributes
The <clip> block defines a segment using a video input file, such as .mov, .avi or .dv.
Optional Attributes
Optional <Clip> Block Attributes
Description
in-point
data-type float, defines the in point in seconds
out-point
data-type float, defines the out point in seconds
<Clip> Child Tags
Description
<video>
The <video> tag gives the file name of the video
input file. The file format is inferred from the
extension, which may be .mov, .avi, .dv or other
format. A full file path may be given, or the
current default directory is used.
<audio>
The <audio> tag gives the file name of the audio
.wav file to use. If no <audio> tag is present the
audio will be silent. A video file with audio can
be used as the audio source.
Child Tags
Note
The optional attributes in-point and out-point can be replaced with a <in-point> and <out-point> tag.
<Still> Block Attributes
The <still> block defines a segment using one or more still images, such as .jpg or .gif.
Required Attributes
Required <Still> Block Attributes
Description
duration
The duration attribute defines the segment length
in seconds.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
A-2
OL-24031-01
Appendix A
MXE .an2 File
About Segment Timing and Concatenation
Optional Attributes
Optional <Still> Block Attributes
Description
frames
The frames attribute indicates that this is a
sequence of still images, and specifies how many
image files to use in the sequence.
rate
The rate attribute specifies the frame rate
(frame/sec) at which the stills will be advanced.
(This is not the output encoder rate; that is
specified in the MXE profile).
repeat
The repeat attribute, if true, specifies that the
sequence will be looped repeatedly until the
segment duration expires. If false, the last image
in the sequence will be held until the segment
duration expires.
<Still> Block Child Tags
Description
video
The <video> tag gives the file name of the still
image to use. The file format is inferred from the
extension, which may be .jpg or .gif. (Other
formats may be possible.) A full file path may be
given, or the current default directory is used. In
the case of a sequence of still image files, a
wildcard character '*' must be used in the file
name, representing sequential numbers 000, 001,
002… etc.
audio
The <audio> tag gives the file name of the audio
wav file to use.
Child Tags
About Segment Timing and Concatenation
The preprocessor will produce a section of video (with audio) for every <still> or <clip> segment in the
.any file. Each section has the duration given in the duration attribute. These sections are concatenated
in the sequence shown in the .any file to form a single audio/video clip. This is the "intermediate" or
"preprocessed" clip used by the encoders.
The intermediate clip has duration equal to the sum of the segment durations given in the .any file.
If any supplied video input is shorter than the segment duration, it is aligned with the start of the
segment, and padded at the end with black. If the supplied media duration exceeds the segment duration,
it is truncated.
A still image is always extended to fill the duration of its segment.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
A-3
Appendix A
MXE .an2 File
About Audio/Video Combination Rules
A sequence of images is always extended to fill the duration of its segment, either by cycling through
the sequence repeatedly, or by extending the final image in the sequence to fill the remaining time. The
sequence may be advanced at any desired frame rate, specified by the rate attribute of <still>.
About Audio/Video Combination Rules
Every <clip> or <still> contains a <video> tag.
Every <clip> or <still> may optionally contain an <audio> tag. This specifies a .wav file providing audio
to go with the video. If there is no <audio> tag in a <clip> then the audio will be silent. If there is an
"empty" audio tag, <audio></audio>, then silence will be used.
If any supplied audio input is shorter than the segment duration, it is aligned with the start of the
segment, and padded at the end with silence. If the supplied audio duration exceeds the segment
duration, it is truncated.
Adding Multiple Audio Tracks
You can add multiple <audio> tags in a <clip> block.
Example A-1
Multiple Audio Tags in a <clip> Block
<clip>
<video>video.mpg</video>
<audio>audio1.wav</audio>
<audio>audio2.wav</audio>
<audio>audio3.wav</audio>
</clip>
MXE will read this as input with 4 audio tracks.
•
track 1 is track 1 from audio1.wav
•
track 2 is track 2 from audio1.wav
•
track 3 is track 1 from audio2.wav
•
track 4 is track 1 from audio3.wav
You can then use the track picker on the format tabs (i.e. WindowsMedia) to select the tracks to put in
the output file.
Examples
All Formats Example
Example A-2
All Formats
<list>
<!--First Image with Audio -->
<still duration="5.0">
<video>image1.jpg</video>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
A-4
OL-24031-01
Appendix A
MXE .an2 File
Examples
<audio>audio1.wav</audio>
</still>
<!--Second Image with Audio-->
<still duration="5.0">
<video>image2.gif</video>
<audio>audio2.wav</audio>
</still>
<!--List of Images to be stiched together with audio-->
<still duration="10.0" frames="60" rate="12.0" repeat="true">
<video>image3*.jpg</video>
<audio>audio3.wav</audio>
</still>
<!--Video with optional out point-->
<clip in-point="0.0" out-point="60.0">
<video>video4.mov</video>
<audio>video4.mov</audio>
</clip>
<!--Video with Different Audio Track-->
<clip>
<video>\\hostname\sharename\ad_content.mpg</video>
<audio>\\hostname\sharename\ad_content.wav</audio>
</clip>
<!--Video with Optional Duration Format-->
<clip>
<video>video5.mov</video>
<audio>video5.mov</audio>
<in-point>60.0</in-point>
<out-point>120.0</out-point>
</clip>
<!--Third Image without Audio-->
<still duration="5.0">
<video>image6.jpg</video>
</still>
</list>
Stills Creation Example
Example A-3
Stills Creation
<list>
<!--First Image with Audio -->
<still duration="5.0">
<video>image1.jpg</video>
<audio>audio1.wav</audio>
</still>
<!--Second Image with Audio-->
<still duration="5.0">
<video>image2.gif</video>
<audio>audio2.wav</audio>
</still>
<!--List of Images to be stiched together with audio-->
<still duration="10.0" frames="60" rate="12.0" repeat="true">
<video>image3*.jpg</video>
<audio>audio3.wav</audio>
</still>
<!--First Video-->
<clip>
<video>video4.mov</video>
<audio>video4.mov</audio>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
OL-24031-01
A-5
Appendix A
MXE .an2 File
Examples
</clip>
<!--Second Video-->
<clip>
<video>video5.mov</video>
<audio>video5.mov</audio>
</clip>
<!--Third Image without Audio-->
<still duration="5.0">
<video>image6.jpg</video>
</still>
</list>
Ad Insertion Example
Example A-4
Ad Insertion
<list>
<!-- Of Value Content Part One -->
<clip>
<video>\\hostname\sharename\of_value_content.mpg</video>
<audio>\\hostname\sharename\of_value_content.mpg</audio>
<!-- Duration in seconds -->
<in-point>0.0</in-point>
<out-point>600.0</out-point>
</clip>
<!-- Advertising content -->
<clip>
<video>\\hostname\sharename\ad_content.mpg</video>
<audio>\\hostname\sharename\ad_content.mpg</audio>
</clip>
<!-- Of Value Content Part Two -->
<clip>
<video>\\hostname\sharename\of_value_content.mpg</video>
<audio>\\hostname\sharename\of_value_content.mpg</audio>
<!-- Duration in seconds -->
<in-point>600.0</in-point>
<out-point>1200.0</out-point>
</clip>
</list>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2
A-6
OL-24031-01
CH A P T E R
8
Pulse Video Analytics APIs
Revised: March, 2012
Note
Pulse Video Analytics APIs are available in Release 3.3.
This chapter describes the Pulse video analytics APIs, and contains the following information:
•
Job Submission, page 8-1
•
Job cancelation, page 8-2
•
Get Analytics, page 8-3
•
Get status, page 8-5
•
Speaker Mapping Update, page 8-6
Job Submission
Use this API to submit a job to Pulse video analytics.
URL Template
http://hostname/analytics/submit?docType=ANA&filepath=location_of_the_file_with_file_name
HTTP Method
POST
Example
http://hostname/analytics/submit?docType=ANA&filepath=/absolute/path/to/the/file/video.flv
Response Example
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<job>
<ncpDocId>f64c4bb318a36271c93cc52708322d5a</ncpDocId>
<statusCode>1000<statusCode><message> Job submitted for processing</message>
</job>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
OL-24031-01
8-1
Chapter 8
Pulse Video Analytics APIs
Job cancelation
Parameters
Request Fields
Description
docType
Type of document.
filepath
Location of the file with the file name.
Response Fields Description
ncpDocId
Document ID generated by the system.
statusCode
The following status codes may be returned:
message
•
1000—The job was submitted successfully.
•
1001—The job submission failed.
The following status messages may be returned:
•
Job submitted for processing.
•
Job submission failed.
HTTP Response Codes
HTTP Response 200 – Successful update
HTTP Response 400 – Missing/invalid parameters
Job cancelation
Use this API to cancel a job in Pulse video analytics.
URL Template
http://hostname:port/analytics/cancel?docID=document_ID
HTTP Method
POST
Example
http://hostname:port/analytics/cancel?docID= f64c4bb318a36271c93cc52708322d5a
Response Example
<?xml version=”1.0 encoding=”UTF-8”
standalone=”no”?><job><responseCode>2000</responseCode></job>
Parameters
Request Fields
Description
docID
Document ID generated by the system when the
document is submitted.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
8-2
OL-24031-01
Chapter 8
Pulse Video Analytics APIs
Get Analytics
Response Fields Description
responseCode
The following response codes may be returned:
•
2000—The job was cancelled successfully.
•
2001—Failed to cancel the job.
•
2002—The job was not found.
HTTP response Codes
HTTP Response 200—Successful update
HTTP Response 400—Missing/invalid parameters
Get Analytics
Use this API to get the analytics data for a given video ID.
URL Template
http://hostname/analytics/search?qtype=video&docID=ncpDocID
HTTP Method
GET
Example
http://hostname/analytics/search?qtype=video&docID= f64c4bb318a36271c93cc52708322d5a
Response Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<feed xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns="http://www.w3.org/2005/Atom" xmlns:pulse="http://www.cisco.com/nc/pulse">
<id>05730d81-2372-4008-9968-33e0155af639</id>
<title>Cisco Pulse video match for: [governments]</title>
.....
<pulse:videoTags>
<pulse:videoTag>
<pulse:tag>agency</pulse:tag>
<pulse:occurrenceCount>3</pulse:occurrenceCount>
<pulse:occurrence>
<pulse:time>4064</pulse:time>
<pulse:confidence>1.0</pulse:confidence>
</pulse:occurrence>
<pulse:occurrence>
<pulse:time>4457</pulse:time>
<pulse:confidence>1.0</pulse:confidence>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
OL-24031-01
8-3
Chapter 8
Pulse Video Analytics APIs
Get Analytics
</pulse:occurrence>
<pulse:occurrence>
<pulse:time>5430</pulse:time>
<pulse:confidence>1.0</pulse:confidence>
</pulse:occurrence>
</pulse:videoTag>
...
<pulse:speakerSeg>
<pulse:startTime>51</pulse:startTime>
<pulse:endTime>259</pulse:endTime>
<pulse:speakerId>100048</pulse:speakerId>
<pulse:confidence>1.14498</pulse:confidence>
</pulse:speakerSeg>
<pulse:speakerSeg>
<pulse:startTime>259</pulse:startTime>
<pulse:endTime>261</pulse:endTime>
<pulse:speakerId>0</pulse:speakerId>
<pulse:confidence>0.0</pulse:confidence>
</pulse:speakerSeg>
...
<pulse:speakerIDMap>
<pulse:speakerID>100048</pulse:speakerID>
<pulse:speakerName>michel</pulse:speakerName>
</pulse:speakerIDMap>
...
</feed>
Parameters
Request Fields
Description
qtype
This is always video.
docID
Document ID generated by the system when the
document is submitted.
Response Fields
Description
pulse:videoTag
Identifies the keywords in a video. A video may contain multiple keywords. Each
keyword may occur multiple times.
pulse:tag
Identifies the tagged keyword.
pulse:occurrenceCount
Number of times the the keyword was spoken.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
8-4
OL-24031-01
Chapter 8
Pulse Video Analytics APIs
Get status
pulse:time
Time when the keyword occurred.
pulse:confidence
This field is currently not used.
pulse:speakerSeg
Identifies the speech segments in the video. A video may have multiple speakers.
Each speaker may speak multiple times at different time intervals. Each speaker is
identified by a unique number.
pulse:startTime
Time in the video when the speaker started speaking.
pulse:endTime
Time in the video when the speaker stopped speaking.
pulse:speakerId
Unique speaker ID (number) generated by the system.
pulse:confidence
This field is currently not used.
pulse:speakerIDMap
Identifies the speech segments in the video. A video may have multiple speakers.
Each speaker may speak multiple times at different time intervals. Each speaker is
identified by a unique number. This is used to automatically map a name to a speaker
in the video.
pulse:speakerID
Unique speaker ID (number) generated by the system.
pulse:speakerName
Speaker name provided by the user.
HTTP response Codes
HTTP Response 200—Successful update
HTTP Response 400—Missing/invalid parameters
Get status
Use this API to get a status for the submitted Job in Pulse video analytics.
URL Template
http://hostname/analytics/status?docID= ncpDocID
HTTP Method
POST
Example
http://hostname/analytics/status?docID= f64c4bb318a36271c93cc52708322d5a
Response Example
<?xml version=”1.0 encoding=”UTF-8” standalone=”no”?><job><statusCode>1001</statusCode>
<message>Processing the media analytics </message></job>
Parameters
Request Fields
Description
docID
Document ID generated by the system when the document is submitted.
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
OL-24031-01
8-5
Chapter 8
Pulse Video Analytics APIs
Speaker Mapping Update
Response Fields Description
statusCode
message
The following status codes may be returned:
•
1000—The job was submitted successfully.
•
1100—The job is processing.
•
1200—The job was completed successfully.
•
1300—The job failed.
The following status messages may be returned:
•
Processing the media analytics.
HTTP Response Codes
HTTP Response 200—Successful update
HTTP Response 400—Missing/invalid parameters
Speaker Mapping Update
Use this API to update all videos to map the speaker ID to the speaker name.
URL Template
http://hostname/analytics/mapSpeaker
HTTP Method
PUT
PUT Data
The PUT data is text using the following XML schema:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name=”speakerMappings” minOccurs=”1” maxOccurs=”1”>
<xs:complexType>
<xs:sequence>
<xs:element name=”speakerMapping” minOccurs=”0” maxOccurs=”unbounded”>
<xs:complexType>
<xs:sequence>
<xs:element name=”speakerId” type=”xs:string” minOccurs=”1” maxOccurs=”1”/>
<xs:element name=”givenName” type=”xs:string” minOccurs=”1” maxOccurs=”1”/>
<xs:element name=”lastName” type=”xs:string” minOccurs=”0” maxOccurs=”1”/>
<xs:element name=”nickname” type=”xs:string” minOccurs=”0” maxOccurs=”1”/>
<xs:element name=”email” type=”xs:string” minOccurs=”0” maxOccurs=”1”/>
</xs:sequence>
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
8-6
OL-24031-01
Chapter 8
Pulse Video Analytics APIs
Speaker Mapping Update
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Example
The following is sample PUT data:
<speakerMappings>
<speakerMapping>
<speakerId>1</speakerId>
<givenName>John</givenName>
<lastName>Doe</lastName>
<nickname>Johnny</nickname>
<email>[email protected]</email>
</speakerMapping>
<speakerMapping>
<speakerId>5</speakerId>
<givenName>Jane Doe</givenName>
</speakerMapping>
</speakerMappings>
Parameters
Request Fields
Description
speakerId
Speaker ID generated by the system.
givenName
Name provided by the user.
lastName
Name provided by the user.
nickname
Name provided by the user.
email
Email address provided by the user.
HTTP Response Codes
HTTP Response 200—Successful update
HTTP Response 400—Missing/invalid parameters
HTTP Response 401—Unauthorized
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
OL-24031-01
8-7
Chapter 8
Pulse Video Analytics APIs
Speaker Mapping Update
API Reference Guide for Cisco Media Experience Engine 3500 Release 3.2 and 3.3
8-8
OL-24031-01
© Copyright 2026 Paperzz