User s Guide. Xenio TM Designer. Product Version /28/2014

Similar documents
User's Guide. Zenium Designer. Product Version

Publication Information. Trademarks. Contact Information. Support Contact Information Imagine Communications Corp. Proprietary and Confidential.

Get Started. Estimating Explorer

WorldNow Producer. Encoding Video

SelenioFlex Live 1.3.0

User Guide. BlackBerry Workspaces for Windows. Version 5.5

SelenioFlex Live 1.4.0

Matrox MuraControl for Windows

Creating Interactive PDF Forms

Kendo UI. Builder by Progress : Using Kendo UI Designer

User Guide. Infocaster SE /18/

HOW TO Use Microsoft Expression Encoder

Understanding Acrobat Form Tools

Navigator Software User s Manual. User Manual. Navigator Software. Monarch Instrument Rev 0.98 May Page 1 of 17

OpenForms360 Validation User Guide Notable Solutions Inc.

Versio EAS Setup. v.2.0

AudioTools AWE. User Manual

File: SiteExecutive 2013 Core Modules User Guide.docx Printed September 30, 2013

Nexio G-Scribe Data Source Wizard

PresenterPLUS Quick Start

Nexio IconStation Data Source Wizard

AWS Elemental MediaLive. User Guide

Using Jive and SharePoint Together

Avigilon Control Center Standard Web Client User Guide. Version 5.4

WebStudio User Guide. OpenL Tablets BRMS Release 5.18

Imagine. Create. Discover. User Manual. TopLine Results Corporation

Contents. Common Site Operations. Home actions. Using SharePoint

End-User Reference Guide Troy University OU Campus Version 10

Coolux Pandoras Box v5.5 Dear Pandoras Box users,

MagicInfo VideoWall Author

ECDL Module 6 REFERENCE MANUAL

Info Input Express Network Edition

Using Sitecore 5.3.1

User Guide. Data Gatherer 1.1 6/20/2014. Edition: A

Adlib PDF FileNet Connector Guide PRODUCT VERSION: 5.1

Using Jive and SharePoint Together

Report Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static

Business Insight Authoring

OPERATION MANUAL. MV-410HS Layout Editor. Version higher. Command

Technical Issues: Please Contact (Teresa Saljanin)

Avigilon Control Center Web Client User Guide

Forms/Distribution Acrobat X Professional. Using the Forms Wizard

Bonita Workflow. Development Guide BONITA WORKFLOW

OnPoint s Guide to MimioStudio 9

Page Gentics Software GmbH Enterprise Portals and Content Management Systems

Adobe Acrobat Pro DC for Windows

Editing and Finishing in DaVinci Resolve 12

OBS STUDIO TO AWS ELEMENTAL MEDIALIVE TO AWS ELEMENTAL MEDIAPACKAGE

Release Notes. Infocaster Manager /12/2014. Edition: A

SPARK. User Manual Ver ITLAQ Technologies

While editing a page, a menu bar will appear at the top with the following options:

Policy Commander Console Guide - Published February, 2012

Episerver CMS. Editor User Guide

Episode Engine & Final Cut Server

ROES EVENTS SYSTEM TUTORIAL

Working with Mailbox Manager

Importing and processing a DGGE gel image

PowerPoint 2016 Building a Presentation

The walkthrough is available at /

Installation and Configuration Manual

Kaltura Video Package for Moodle 2.x Quick Start Guide. Version: 3.1 for Moodle

Content Matrix. Evaluation Guide. February 12,

AutoCAD 2009 User InterfaceChapter1:

Matrox MuraControl for Windows

How to create interactive documents

DepoView User s Guide

Decoder Plug-In USER MANUAL

TraceFinder Analysis Quick Reference Guide

Vizit Essential for SharePoint 2013 Version 6.x User Manual

The CAP Panel Builder technology is designed to construct and manage configurations of stack panel products.

Sage Construction Central Setup Guide (Version 18.1)

Reference. ADC LinkList. 20-January Revision: Release

Web Client User Guide

Importing the Source Models. Placing a 3D Model in the Workspace. Modified by on 25-Jul-2014

Topaz Workbench Data Visualizer User Guide

CS-Studio Display Builder

Overview of Adobe Fireworks

Adobe Flash CS4 Part 1: Introduction to Flash

Outlook Quick Start Guide

CAMBRIA FTC CAMBRIA FTC: TECHNICAL SPECIFICATIONS. Version.9 12/6/2017. Page 1

Info Input Express Network Edition

VMp Technical Support Phone: Online request:

IBM DB2 Web Query for IBM i. Version 2 Release 2

DVS-200 Configuration Guide

A Guide to Automation Services 8.5.1

Transcode Manager 2.1

Table of Contents. VMware AirWatch: Technology Partner Integration

MapInfo Stratus. Version 41. MapInfo Stratus Administration Guide

VMware AirWatch: Directory and Certificate Authority

Editing & Color Grading 101 in DaVinci Resolve 15

Word 2013 Quick Start Guide

How to lay out a web page with CSS

Legal Notes. Regarding Trademarks KYOCERA MITA Corporation

Camtasia Studio 5.0 PART I. The Basics

2 The Stata user interface

Password Memory 7 User s Guide

Editing in Premiere Pro CC 2015

Adlib PDF FileNet Connector Guide PRODUCT VERSION: 5.3

SAS Factory Miner 14.2: User s Guide

The Connector Version 2.0 Microsoft Project to Atlassian JIRA Connectivity

Transcription:

User s Guide Xenio TM Designer Product Version 1.0.5 05/28/2014

---------- Publication Information 2014 Imagine Communications. Proprietary and Confidential. Imagine Communications considers this document and its contents to be proprietary and confidential. Except for making a reasonable number of copies for your own internal use, you may not reproduce this publication, or any part thereof, in any form, by any method, for any purpose, or in any language other than English without the written consent of Imagine Communications. All others uses are illegal. This publication is designed to assist in the use of the product as it exists on the date of publication of this manual, and may not reflect the product at the current time or an unknown time in the future. This publication does not in any way warrant description accuracy or guarantee the use for the product to which it refers. Imagine Communications reserves the right, without notice to make such changes in equipment, design, specifications, components, or documentation as progress may warrant to improve the performance of the product. Trademarks Xenio, Xenio Designer and SelenioFlex File are trademarks or trade names of Imagine Communications or its subsidiaries. Microsoft and Windows are registered trademarks of Microsoft Corporation. All other trademarks and trade names are the property of their respective companies. Contact Information Imagine Communications has office locations around the world. For domestic and international location and contact information, visit our Contact page: http://www.imaginecommunications.com/company/contact-us.aspx Support Contact Information To create a Technical Support case for Xenio please use the following link: http://www.digitalrapids.com/en/support/supportticket.aspx Technical Support is available during regular business days from 10am to 6pm based on the time zone of the following regional Imagine Communications Support Offices. North and South America 25 Dyas Road North York, Ontario Canada M3B 1V7 t: 416-443-3146 Europe, Africa, Middle East Passfield Business Centre Lynchborough Road Passfield, Hampshire GU30 7SB UK t: +44-1428-751-012 Asia Pacific Unit 7, 23 rd Floor, Prosperity Center No. 25 Chong Yip Street Kowloon Hong Kong t: +852-2951-0250 2

Table of Contents What is Xenio... 5 Key Benefits of Xenio... 6 Xenio Designer... 7 Xenio Based Applications... 7 Xenio Components... 8 Adding a Component to a Blueprint... 8 Core and Compound Components... 8 Component Pins... 9 Data Types...10 Warnings and Errors...11 Components in Plugins and Blueprints...11 Component Properties (Settings)... 12 Examples...14 Example: How to set output file name to use the source file base name...14 Example: Using Expressions in SelenioFlex File Blueprints...16 Xenio Blueprints... 18 Xenio Graphs... 18 Creating Graphs...18 Groups...21 Templates...21 Designing a Blueprint... 22 Input Components... 22 Media File Input...22 Clip List Source...22 Processing Components... 24 Working with Encoder Components...24 Packed vs. Planar... 24 Frame Size... 24 Frame Rate and Interlace/Deinterlace... 25 3

---------- Video Data Type Updater... 25 Channel Mapping for Audio Encoders... 25 Audio Stream Interleaver... 25 Logic Branches...25 Taps and Previews...26 Output Components... 26 File Output... 26 Xenio Repository (Repo)... 28 Xenio Engines in SelenioFlex File... 30 Xenio Agent System... 31 Number of Xenio Resources per Agent System...31 Xenio Engine... 31 Xenio Licensing... 32 Licensed Features... 33 Xenio SDK Basics... 34 4

What is Xenio Xenio is a flexible platform for workflow design, deployment & management. Xenio consists of: Xenio Designer: A graphical tool used to design and test graphs and blueprints. Xenio Framework: The core Xenio graph execution libraries. That is, the underlying application that is used to connect and manage components, and to run graphs and blueprints. Xenio Repository: A centralized pool of component technologies and workflow blueprints which acts as both the warehouse and supply chain. Repos can be synced with upstream/downstream repositories. License Server: The service which controls the authorization of component technologies; also used to authorize Imagine Communications applications. Xenio Agent: Used for distributed network deployments such as Imagine Communications SelenioFlex File and Imagine Communications Broadcast Manager. The Xenio Agent includes the Xenio Server service and the Agent Communication service. These services can communicate with the Xenio Repository to acquire Xenio Plugin Packages (including the Xenio Framework and Xenio Designer), and they can communicate with the management applications. 5

---------- Key Benefits of Xenio Benefits provided by the Xenio Designer and Xenio Blueprints and Graphs Frame by frame or audio sample by audio sample processing and decisions Logic branches provide a way to make decisions on the data processing based on userdefined conditions Data branches run independently from each other. That means that an error in one branch will not cause the data processing in another branch to fail. Multiple input files can be used by a blueprint to meet the needs of the workflow. Multiple output files can be created by a blueprint. Full visibility into exactly what the workflow is doing at every stage. Data can be previewed at any point in the workflow using data taps, and preview windows can be attached to any component in the workflow. Benefits provided by the Xenio Repo/Catalog One catalog of technologies can be updated with the latest components, and all Xenio applications can then pull the new components from that central repository. The Repository can store more than one version of a component, making it possible to continue to use different versions for different graphs, for example, using one version in production while using a new version in a test environment prior to roll-out. Additional benefits of Xenio Bottlenecks due to limits in purchased licenses can be easily identified Xenio s open ecosystem and rich third-party support allows third party technologies to be easily integrated into a workflow as a Xenio component 6

Xenio Designer The Xenio Designer is the graphical interface that can be used to create and to run blueprints and graphs. The blueprint is the master file that contains all of the information about the Xenio workflow. A blueprint can contain one or more graphs and/or links to external data required by the workflow. A graph is a set of connected Xenio components. A graph can be an entire workflow solution or it may be a specific sub-set of a solution, intended to be used in a blueprint along with other graphs. A graph can also be embedded within another graph as part of a more complex workflow. Components are the data processing elements. Components have pins which are used to pass data between components (inputs and outputs), to expose properties and events, and to trigger commands. Components also expose properties in the panel to the right of the interface. These properties allow the user to set some of the parameters which define what happens to the data when it is processed by the component. Some component properties are only shown when the Advanced option is enabled and some properties are read-only. Xenio Based Applications A Xenio-based application runs Xenio blueprints and graphs. The application can provide direct access to the Xenio Designer, with the user choosing and connecting the components in the graph (e.g., SelenioFlex File 2). Alternatively the application may present users with the parameters needed for their specific implementation, and based on these settings the graph is created programmatically, and the actual graph is not displayed to the user (e.g., StreamZ Live EX). At a minimum a Xenio based application will normally provide a way to select the data inputs (e.g., source files or live inputs), to set the outputs (e.g., archive files or live output streams), to set some processing options, and to monitor the progress as the data is processed. 7

---------- Xenio Components Adding a Component to a Blueprint When you launch the Xenio Designer it will open with a new blueprint. To the left there are two panels: User Files and Repository. The Repository panel is a tree view of all of the components that are available. Expand the tree to find the component that you want to add to the blueprint. Select the component and drag it onto the blueprint. Note that the field next to the Repository label is a search function. Entering text in the field will search for the matching text in blueprints', templates' and components' names and descriptions. Core and Compound Components Components are individual technology implementations, intended to do a specific thing. For example, to encode an MP4 file which contains AVC video and AAC audio you would need an AVC Video Encoder, an AAC Audio Encoder, and an MP4 File Muxer. Some components are self-contained core components. Components can also include other components, as compound components. Compound components are presented in the graph as one component with an additional green S button in their title bar. When the "S" button is clicked the individual components being used internally by the compound component will be shown. For example, the WAVE Encoder component is shown in the graph as a simple box with a green S button in the title bar. Clicking on the green S button shows the internal components used by this compound component. The internal components may also be compound components, as in this example, and can also be expanded. 8

Expanded compound components will show a lock icon next to the name of the component. The lock indicates that the contents of the compound component are read-only. That is, you cannot add or delete an internal component, or make a connection to any of the pins of the internal components. If you want to modify the internal components of a compound component, for example for troubleshooting purposes, then select all of the internal components, right click on one of the selected components and select copy. Then right click on the black background of the blueprint and select paste. You can also want to right click on the pasted components and select Group, to keep the newly pasted components together to make it easier manage in the blueprint. Compound components are designed to bring together all of the individual components that are normally required to do one specific type of data processing. These components may be static, where the same interior components are always present each time the component is used, or they may be dynamic, where the interior components are determined programmatically, depending on the detected input. One commonly used dynamic compound component is the Media File Input component. This component will include different internal components depending on which type of input file has been selected. The component will include the appropriate demultiplexer, video decoder, audio decoder, and/or any other components required to extract data from the file. In the WAVE Encoder component shown in this section, the compound component includes an Audio Format Converter. The Audio Format Converter will modify the input data before passing it on to the WAVE Encoder Core if the WAVE Encoder Core cannot use the unprocessed input data. It is possible to add both of these components to the graph manually, instead of using the compound component, but in most situations it is simpler to use the compound component. Component Pins Components have input pins and/or output pins. Some pins will be shown by default when the component is added to the workspace. Depending on which properties are detected by the component additional pins can be created automatically by the component. For example, the 2 Media File Input components shown below have two different types of files loaded. More output pins have been automatically created for the file on the right to give access to the types of data that can be extracted from the selected input file. 9

---------- Data Types Double clicking on a pin will open a dialog which shows you the data types that are used by that pin, along with any values that have been detected. In the example below the data types are shown for the Uncompressed Video output pin. The section at the top shows the all of data types that are present for this pin, and the section at the bottom shows all of the Name/Value pairs that are used by all of the data types. If a single data type is selected in the top section, then just the Name/Value pairs for that data type will be shown in the bottom section. Output pins can be connected to input pins by clicking an output pin and dragging to an input pin. If you want to delete a connection, click on the connection and it will turn blue. You can then press delete on your keyboard to remove the connection. 10

Warnings and Errors If a pin shows an orange glow, then a problem has been detected. This may be a mismatch between a data type used by the output pin and a data type that can be used by the input pin. A problem may also be detected because some required metadata is missing. Double clicking on the pin will give you more information about the detected problem. If a component has a configuration issue, for example, because of a missing input which is required to configure the component or because the settings within the component are incompatible, then a configuration warning button will be shown. Hovering over the orange "C" button will display a tooltip with the detected warning. When you run a blueprint if a component cannot run due to a detected error a red "E" button will be shown and the border of the component will turn red. Hovering over the "E" button will display a tooltip with the detected error. Clicking on the red "E" button will open a dialog that shows the error along with any other errors detected in the blueprint. Components in Plugins and Blueprints Components are stored in Plugin Packages which can be stored in a Plugin folder or in the Xenio Repository. When you save a blueprint or a graph it includes the information needed to retrieve the component, and any settings that were entered by the user, but not the component itself. Components are "linked" to the blueprint or graph rather than "embedded". If the component is updated in the Plugins folder or Repository, then the next time that component is opened in a blueprint or graph it will load the updated component. 11

---------- Component Properties (Settings) When a component is selected the component s background color will change from gray to blue, and the properties for the component will also be shown in the right hand panel. At the top of the panel there is an option to show or hide the Advanced properties. You can also double click on a component to open the properties dialog, which is useful if you need to open more than one component's properties at the same time to compare settings. When you save a graph the settings for each component are saved with the graph. To the right of each settings field there is a button with a small square. Clicking on this button gives you a list of options. Edit: An advanced dialog that allows you to define the value that will be used. Clear: Clears the value that is being used (sets the property to null). Reset: Resets the value back to its default setting. Key Frame: This dialog allows you to set property values that change over time. For example, to use an Audio Level Adjuster component to set the audio volume to increase during the first 3 seconds of the clip, and then remain constant, fading out during the last 3 seconds of the clip (for a 22 second clip): 12

Expression: This dialog allows you to set the property value by evaluating a set of "expressions" when the blueprint is run. The available expressions will be shown as a list when you enter a "$" in the expression field. Expressions which start with "ROOT" will derive the value from the root of the blueprint. Expressions which do not start with "ROOT" will derive their value from the current component. In the following example, the ROOT properties shown are the properties that are available when using a Transcode Blueprint. Expressions are commonly used by the File Output component to create the output file name. Script: Property values can be defined using a script. The default scripting language is groovy. If another language is used it can be specified as the first line of the script, for example for JavaScript the first line would need to be: $script_engine_name = javascript Delete: Remove the property from the component. Use this with caution, as it is not simple to add a property back once it has been deleted. View Definition: A dialog that shows a complete definition of the property. Publish: A component's property can be made accessible from the root graph using the Publish function. This can be useful if you would like to make just a few key settings available from the root graph, intending to leave the remaining properties set to their default values. 13

---------- Publish Group: Component properties are often shown in groups, so that related settings can be shown together. The Publish Group option allows the entire group to be published by just using the Publish Group option for one of the properties in the group. Note that sub-groups included in the group will not be published using this option; sub-groups must be published independently. Examples The following examples show how to use Publish, Script and Expressions. Example: How to set output file name to use the source file base name This example shows how to set output file name to use the source file base name (that is, the source file name, excluding the source file's path and file extension) in a standard blueprint. (See the following example for achieving the same thing using a SelenioFlex File blueprint.) Step 1: Add a new property to the Media File Input component for the "File Base Name". Add the Media File Input component to a blueprint. Right click on the component and select Add Property. Enter a Property, a Display Name, select STRING as the Value type, and click Save. In the right hand properties panel you will see your new property has been added. Click on the button to the right of the File Base Name property and select Script. 14

At the top of this dialog select New. In this case the source file name displayed in the Media File Input component's File property will be used. Move your mouse pointer over the File text label, and you will see a tool tip that shows "File (filename)". The value within the brackets is the property. Enter that in the Property path, Script variable, and set Type to STRING. Click Save. In the lower panel enter the script to use. In this case, use the following groovy script: if (filename!= null) { filename = new File(filename).getName() int x = filename.lastindexof('.') if (x>0) return filename.substring(0,x) return filename } return "" When you click Save your script will run, and you will see the value returned in the field in the Media File Input component. Step 2: Publish the "File Base Name" property to the root of the graph Click on the button to the right of the File Base Name property and select Publish. 15

---------- Click the Publish button and the property will be shown as a property on the root blueprint. To see this property click the blueprint background, then look at the property panel shown to the right. Step 3: Using the File Base Name in the File Output component Select the File Output component, click on the button to the right of the File property and select Expression. Enter the file path you want to use for your output file. Enter a $ to show all the possible expressions that can be used by this component, scroll to the bottom of the list, and you will see an expression for your new property. Enter a file extension and click Ok. Your output files will now use the same base file name as your input files. Example: Using Expressions in SelenioFlex File Blueprints A SelenioFlex File blueprint has been pre-configured to allow it to work with the SelenioFlex File application's watch folders. Additional root blueprint properties are available that can be used in expressions. Note that SelenioFlex File blueprints can also be used outside of SelenioFlex File, to run independent jobs, allowing you to take advantage of these additional root blueprint properties. When you are running a SelenioFlex File blueprint as an independent job, simply do not hook up the "Primary Source File", "Clip List XML" or "Output File/Asset" components that are present in all SelenioFlex File blueprints. This example shows how to set output file name to use the source file base name (that is, the source file name, excluding the source file's path and file extension) in a SelenioFlex File blueprint. (See the previous example for achieving the same thing using a standard blueprint.) Step 1: Open a Transcode Blueprint, add a Primary Source File From the main menu select File > New Workspace > Transcode Blueprint. Click anywhere on the background of the blueprint. To the right is the properties panel for the root Transcode Blueprint. Near the top of this panel is the "User Input" group of settings. Find the Primary Source File property, click the browse button and browse to your source file. 16

Note that in the Auto-Populated group on the properties panel the values that are derived from the source file will be filled in as soon as a Primary Source File has been selected. These properties can be used in expressions. Step 2: Create your blueprint, including at least one Media File Input and one File Output component. Select the Media File Input component, click the button at the end of the File property, and select Expression. Enter a $ sign, pick "ROOT_primarySourceFile" and click Ok. This will cause the File property to use the same value as the root blueprint's Primary Source File. Step 3: Select the File Output component, click the button at the end of the File property, and select Expression. Enter a $ sign to see the possible options for the file output name. For a transcoded file the output directory and/or the output extension is often different than the source file, but it is often useful to use the source file's base file name, along with some additional data, like the date and time of the transcode. To achieve this, enter the path for the output file, and for the file name enter a $ and use the following expressions (all on one line in the Expression Editor): ${ROOT_sourceFileBaseName} ${ROOT_blueprintStartDateYYYYMMDD} ${ROOT_blueprintStartTimeFilenameSafe} Do not forget to also include the file extension for your output file name. The next time you run the blueprint with a new source file you will just have to select the Primary Source File on the root of the blueprint, and the Media File Input and the File Output file names will be set automatically using the expressions. 17

---------- Xenio Blueprints The Blueprint is the master file that contains all of the information about the Xenio workflow. A Blueprint can contain multiple components and/or graphs and/or associated data required by the workflow. To create a new Blueprint in the Xenio Designer select File > New Workspace > New Blueprint. When you save a blueprint it will be saved as a.xenio file. To create a new SelenioFlex File blueprint in the Xenio Designer select File > New Workspace > Transcode Blueprint. SelenioFlex File blueprints can be associated with watch folders in the SelenioFlex File application. Xenio Graphs A graph is a set of connected Xenio components. A graph can be an entire workflow solution or it may be a specific sub-set of a solution, intended to be used in a Blueprint along with other graphs. A graph can also be embedded within another graph as part of a more complex workflow. A typical graph contains multiple branches. For example, a media processing graph would normally contain a branch for processing video, and another branch for processing audio. Each branch may also contain logic branches for handling different types of data, for example a video branch which includes a logic branch to handle interlaced and progressive video differently. A saved graph file contains the names of the components used, the way that they are connected, and the settings for each component. It can also include information about the pins that were last exposed on the dynamic components. For example, if a Media File Input component had loaded an MP4 file which included closed captions and the graph was saved while that file was loaded, then the next time that graph was opened the same closed caption pin would be exposed, even if the source file was no longer available. Creating Graphs You can create and export (save) your own graphs intended to be embedded within blueprints or larger graphs while you are creating a workflow. It may be useful to create a graph if you want to create a re-useable unit which can be available to use in other graphs. Graphs also provide a way to promote (publish) selected properties of the internal components on the root of the graph, allowing you to present a few important settings on the root graph, reducing the complexity of the settings. To create a graph, open a blueprint, add the components that you want to include and connect them together. Multi-select the components by dragging a box around all of the components you want to include. This will cause all of the components to be highlighted in blue. Right click on one of the highlighted components and select Group in > Xenio Graph. This will create a graph within your blueprint. You can give your new graph a name by clicking the title bar of the graph and changing the Name setting in the right hand properties panel. 18

Input pins and output pins will be created automatically based on the connections that were present before the graph was created. To create additional input and/or output pins based on the pins that are present on the internal components, right click on a pin and select Expose Pin in Parent Graph. You can also create new input pins by selecting the group, right clicking on it, selecting Add Pin > Input (IO) and then connecting the input pin of one of the components in the group to the group s input pin. You can create new output pins in a similar manner using the "Add Pin > Output (IO)" right click option. To expose settings that are in the interior components as settings for the root graph select a component in the graph, find the property you want to expose, and click the button next to that property. Select Publish. This will open a Publish Property dialog. In the Publish to field select the graph (by name). The Published name shown will be the name used by the current property; it must be modified to make it unique before it can be published (in the example above a 2 was appended). The Display name that will be used by the published property can be edited. The Group is the sub-section that will be used to display the property. You can select one with the drop-down or you can edit the text in this field. Click the Publish button to expose the setting as a setting for this graph, rather than just as a setting for the interior component. The following example shows the properties for a newly created graph that includes an AVC and an AAC encoder component. The Video and Audio Bitrate properties have been published to the new graph into a newly created "Rate Control" group. 19

---------- Graphs can be expanded and collapsed using the green "S" button in the title bar of the graph. This is similar to compound components, however, graphs are never locked, that is, the contents of the graph can be modified. To save a graph independent of the Blueprint or parent graph, right click on the graph and select Export Graph (or Save "graph name" if it was previously saved as a graph). Note that the name that you are exporting it to is the file name, and does not have to match the name that will be displayed in the title bar of the sub-graph. Your saved graphs will be shown in the User Files panel to the left of the Xenio Designer (as long as it is saved to a saved graphs directory currently in use). By default the saved graphs directory is the C:\Users\<user.name>\Documents folder. To add more folders right click on the "Saved" folder and select "Add Folder". You can use any exported graph in a Blueprint or a larger graph by finding it in the User Files list in the upper left hand panel and clicking and dragging it into a currently opened Blueprint or graph. You can also right click in the Blueprint or graph and select "Import Graph". This "embeds" the selected sub-graph in the current Blueprint or graph. That is, when you save the Blueprint or graph it will include its own information about the components that are used by the sub-graph without referring to the original saved graph. 20

Groups Blueprints can also contain components which are contained in a Group. A group is simply a convenient way of tying together components so that they can be moved together, and so that they can be visually contained in their own rectangle for organizational purposes. Templates Templates are pre-created graphs that can be used to help you to build your own graphs or blueprints. They are distributed in plugins, and will be shown in the Repo section of the Xenio Designer, above the Components. You will also see Blueprints in the Repo section, above Templates. The blueprints in this section are pre-created workflows that can be used to help you to build your own blueprints, and they are distributed in plugins. 21

---------- Designing a Blueprint A basic blueprint will normally consist of: Input components media file inputs, clip lists Processing components encoders, muxers, metadata, video and audio processing, etc. Output components file outputs, FTP delivery, HTTP delivery, etc. Input Components When you expand the "Inputs" category a number of sub-categories are shown along with 3 input components. One of these is the Media File Input component, and it is the one that is normally used in a standard blueprint. Another is the Clip List Source, which is used in Transcode Blueprints when clip list files are being submitted for processing in SelenioFlex File. Media File Input When you add a Media File Input component to a blueprint it will initially have no output pins. Select the component (it will turn a solid blue color when selected) and the right hand properties panel will show the settings for the selected component. At the end of the File property there is a browse button. Click this button to select the source media. The component inspects the selected file, and then programmatically adds the internal components it needs to extract as much data as possible from the file. An output pin will be automatically created for each data type it can extract. If you have more than one source component to process in your graph, for example, if you have separate video and audio files, then you can add more than one Media File Input component to the blueprint. The component also has an option to use DirectShow for decoding instead. When this is enabled any DirectShow filters installed on the system can be used to attempt to decode the file. This may be especially useful if the system has a DirectShow filter installed for a format that is not supported directly with a Xenio decoding component. Clip List Source The Clip List Source component can only be used when you are creating a Transcode Blueprint. A Transcode Blueprint has a special pre-configured pin exposed, the Clip List XML pin, which needs to be connected to the Clip List Source component. 22

As with the Media File Input component, this component will initially have no output pins. Select the root of the Transcode Blueprint by clicking anywhere on the background. This will cause the right hand properties panel to show the settings for the blueprint. For a Transcode Blueprint one of those properties is the "Primary Source File". Choose a file that you plan to submit using the clip list. This will cause a basic Clip List XML file to be generated using that file (as shown in the field under the Primary Source File property) and the Clip List Source component then programmatically adds the internal components it needs to extract as much data as possible from the file. An output pin will be automatically created for each data type it can extract. If your file includes both audio and video you will see pins created for both types of output data. If you plan to add separate video and audio files in your clip list, then you will need to modify the Clip List XML property to indicate typical files that will be used in order to expose the output pins. Click the button at the end of the Clip List XML property and select Edit. Change the "audiosource" file line to use the audio source file needed to populate your output pins, for example: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <cliplist> <clip> <videosource> <mediafile> <file>c:\users\shari.beck\documents\media\myvideo.mpg</file> </mediafile> </videosource> <audiosource> <mediafile> <file>c:\users\shari.beck\documents\media\myaudio.wav</file> </mediafile> </audiosource> </clip> <primaryclipindex>0</primaryclipindex> </cliplist> For more information about Clip List creation and use with SelenioFlex File please refer to the SelenioFlex File User's Guide. 23

---------- Processing Components The majority of the components in your blueprint will normally be processing components. Processing components include specialized components for handling such things as: Encoders, video and audio Multipexers Closed captioning, subtitles, timed text Timecode Encryption Logic and control Audio pre-processing (e.g., level control, downmix, speed up/slow down, etc.) Video pre-processing (e.g., color space converter, crop, proc amp, scaling, overlay, etc.) Metadata manipulation Audio/Video preview Working with Encoder Components Each encoder component has a compound component which can be found in the Encoders category. These compound components include various format converters so that inputs which are connected to them can be converted to a form which can be used by the core encoder. Normally you should only use the encoder compound components. However, if you want to use the core encoder component outside of the compound component, then you will first have to set your Xenio Designer Visibility from Normal to Advanced. This can be done using the File > Preferences menu. If you are using the core encoder component you will have to be aware of the exact input requirements or the component will generate an error when the blueprint is run. Check the help file by clicking the "?" icon on the component for information on each component. The following is a description of some of the data that is typically handled by the internal conversion done by the encoder compound components. Packed vs. Planar Uncompressed video can store the exact same data using two different data storage methods, packed (where the bits for the Y, U and V components are stored in a single array) and planar (where the bits for the Y, U and V components are stored in 3 separate arrays which are carried separately and must be combined to form the image). When converting to/from packed from/to planar no data is lost, it is just rearranged. Some Xenio components require the data to be carried in one format and some in another. To convert from one format to the other a Color Space Converter Intel component is used. The Sample Layout Strategy property is set to packed or planar, as needed. Frame Size The frame size (height and width) will normally be part of the metadata carried with the video data. When you are using the encoder compound component you will see Output Width and Output Height fields. If the width and height entered here do not match the input width and height then the video will automatically be scaled. 24

Frame Rate and Interlace/Deinterlace The frame rate will normally be part of the metadata carried with the video data, however, some source files may not carry this information. If you are using the encoder compound component and your source does not include the frame rate in the metadata, then you use the Frame Rate property to select the frame rate. If the frame rate you select does not match the frame rate of the input, then the component will frame rate convert the video before it is encoded. The Frame Rate property also allows you to select if the output will be interlaced or progressive. The component will deinterlace or interlace the video as needed. Video Data Type Updater Some video sources will not carry the video data (metadata) required by the downstream components. This data can be manually added by adding a Video Data Type Updater component. Note that this component only adds metadata, it does not process the video in any way. If the Video Data Type Updater has properties for the most common data types in useyou re your workflow requires another type, then you can use the more generic Data Type Merger component. Channel Mapping for Audio Encoders Audio encoders normally have a required channel order. For example most audio encoders require stereo inputs be delivered as Channel 1 = Left and Channel 2 = Right (that is L, R and not R, L). Many source files include the channel mapping as part of their metadata. If the source file does not include the metadata for each audio channel indicating which channel is mapped to which speaker position, then you can use a Speaker Position Assigner component to add that metadata to the source. Use the Encoder Preset Filter to select the audio encoder type that was used by the source media (AAC, Dolby Digital, DTS, WAV, or Custom). Once this has been changed from Pass-through then additional properties will be shown. The Channel Preset drop-down will be populated with channel mappings that are valid for your selected encoder format. Select the appropriate preset for your source media. If you are transcoding to another format which uses a different speaker mapping, then you will also need to remap the audio to the new speaker mapping used by the encoder. The compound audio encoder components include an Audio Format Converter component which includes a Channel Remapper for this purpose. In the encoder's Audio Format Converter section there will be a Channel Preset drop-down menu. Select the appropriate preset for your encoded media, and the audio will use the speaker position metadata to remap the audio. Audio Stream Interleaver You can use this component if you want to process multiple mono input files into one audio stream. For example, if you have 6 mono audio files and you want to make one 5.1 surround audio stream for further processing, then you can use the Audio Stream Interleaver to input the 6 mono streams, followed by a Speaker Position Assigner component to label the numbered inputs with their audio speaker name (e.g., Left, Right, Center, Low Frequency, Left Surround, Right Surround, etc.). Logic Branches A Logic Branch component may be used to route data to a different branch in your graph based on metadata that has been detected on the input. For example, you may have a variety of input files, some with interlaced video and some with progressive video, and you want all of your output video to be progressive. If you set the logic branch to detect whether the video is progressive, then the "yes" output pin will pass on the data if it is progressive, and the "no" output pin can pass the data on to a deinterlacer component. 25

---------- Taps and Previews While your graph is running it can be quite helpful to see a visual preview or to monitor the data at various points in your workflow. Connect an Audio Video Preview component to an output pin and it will display the video in a preview window on screen, and play out the audio on the system speakers. Connect a VU Meter component to an output and it will create an audio VU meter which visually shows the audio output level for each of the channels detected in the input. A Tap component can be connected to any output pin in the graph. There are no settings for a Tap, it is simply a data collection component. A Probe component can then monitor any Data Property that is available to that Tap, displaying the data detected as either a graph or as a value. Note that the Probe is not connected to the output pin or to the Tap component. The Probe component has a setting that allows you to choose which Tap to monitor. The Audio Video Preview can also monitor a Tap instead of being connected directly to an output pin. This can be very convenient if you want to use one Preview component to step through many output pins. Instead of reconnecting the Preview to the associated output each time, you can use a drop down list in the Preview component to select which Tap you want to monitor. Output Components There are different output components available, from the basic single file File Output component to the more specialized HLS and Smooth Streaming output components. The output component needed for each blueprint will depend on the type of processing intended for that blueprint. File Output The File Output component can be used to output a single file. The Write input pin accepts data that can be written directly to a single file, for example, the output from a Multiplexer component. By default the Manual Input property is enabled. When this is enabled the output filename will be entered as the File property setting. There is a browse button at the end of this field to help to define the path for the output file. It is common to use Expressions to define your output file name. Click the button at the end of the File properties field and select Expression. 26

Type a $ in the Expression Editor to see the available expressions. If this is a Transcode Blueprint then you will see expressions for Start Date and Start Time. By adding these expressions to your output filename you will ensure that each time the blueprint is run the output filename generated will be unique. Note that if you are using a Standard blueprint you will not be able to use the ${ROOT_graphStartDateTime} or ${ROOT_graphFinishedDateTime} expressions in your file name, as these expressions use colons, e.g., Mon Mar 17 14:53:36 EST 2014, and colons cannot be used in file names. For two examples which detail how to use the source file name as the output file name see: Example: How to set output file name to use the source file base name, page 14 Example: Using Expressions in SelenioFlex File Blueprints, page 16 27

---------- Xenio Repository (Repo) A Xenio Repository is a collection of Xenio Plugin Packages. The SelenioFlex File 2 installer includes the Xenio Repository. The Xenio Agents used by SelenioFlex File communicates with this Repo in order to acquire new or updated Plugins when running transcode jobs. The Xenio Repository may also be installed as a separate application. This application can be used to sync to the Imagine Communications public repository, to allow updated plugins to be downloaded. A Plugin is a container for a component or a group of related components that includes all of the libraries necessary to run each individual component. The Xenio Repo can store multiple versions of the same Plugin in different repo partitions, making different versions of the same component available when running a job. To open the Xenio Repo Browser from SelenioFlex File launch the SelenioFlex File Console application then select Server > Xenio Repo Browser from the main menu. You may have imported plugins during the SelenioFlex File 2 installation. If not, when you initially open the Xenio Repo Browser it will be blank. From the menu select Plugin > Add Plugins to open a browser window which allows you to select the folder that contains your Plugin folders. You can Delete a plugin, but only after you disable the "Read Only" option in the upper right hand side of the Repo Browser (to prevent you from accidentally deleting plugins). You can add Tags (searchable key words) to each plugin. This may be helpful if you need to sort through the plugins looking for the ones required for a specific reason, for example, for a specific customer's workflow, or for audio encoders only, etc. Select the plugin you want to add a tag to, then click the "Add Tags" button and add the words you want to use. If you decide to remove one or all of the words in the tag you can use the "Delete Tags" button. To use the tags to filter the list, click the blue "Tags " link found in the top right hand corner. 28

A Repo can access other Repos in order to acquire new and/or updated Plugins using the Synchronize function. To acquire a list of Plugins from another Repo disable the Read Only option and then click the Synchronize button. On the Synchronize window enter the URL for the remote Repo's web services server (normally http://<hostname>:42100). If the Repo has more than one Partition, then select which one you want to use. You can multiselect all the updated plugins, or just the ones you want to update. If you are updating an individual plugin, you should also right click on that plugin and click "Select Dependencies". This will highlight all the other plugins that are required by the selected plugin, so that you can update them at the same time. In the example above, the DRCAVCEncode plugin was selected. By right clicking and picking "Select Dependencies" the additional required plugins were also highlighted. When you are selecting which Plugins you want to synchronize you can also use the filters shown in the panel to the right of the dialog. Once you have selected the Plugins you want to send to your Repo, click the "Synchronize Selected" button found in the bottom right hand corner. You will be shown a status window while the plugins are being pulled from the remote repo to your local repo. 29

---------- Xenio Engines in SelenioFlex File Imagine Communications SelenioFlex File 2 with Xenio Transcode Engines is an example of a Xenio-based application. The SelenioFlex File application uses the SelenioFlex File Server which manages file transcode jobs. User access to the SelenioFlex File Server is via a Console application. Jobs are submitted to the Server by adding source files to watch folders. Watch folders are associated with transcode projects, where transcode projects are defined by blueprints for Xenio-based transcoding jobs. Xenio SelenioFlex File Blueprints are created by launching the Xenio Designer from the SelenioFlex File Console application. The SelenioFlex File Server has access to a farm of transcode host systems which can run Xenio Engines, and each transcode host system communicates with the SelenioFlex File Server using the Xenio Agent software installed on the host. When a job is submitted the source file and the Xenio blueprint required by the job are sent to a Xenio Agent on a transcoding host system. The Xenio Agent then manages the Xenio Engine which processes the job. Status is returned to the SelenioFlex File Sever while the job is being processed and when the job completes. 30

Xenio Agent System A Xenio Agent is a service which runs on a host computer which can communicate with a management application (such as SelenioFlex File 2). The management application sends the Xenio Agent blueprints. The Agent then uses this information to create a new Xenio Engine (an instance of a running Xenio graph) to run the workflow described in the blueprint. A Xenio Agent system can run multiple Xenio Engines simultaneously, returning the status of each Engine to the management software. For distributed network deployments the Xenio Agent is the only software that needs to be preinstalled on a host system. Once the Xenio Agent has been installed updates can be pushed to that system by the management software, or pulled by the Agent in order to run specific jobs. A Xenio Agent that has been installed for SelenioFlex File runs the following services: DRC SelenioFlex File Agent DRC Xenio Server DRC RMI Registry Number of Xenio Resources per Agent System In order to restrict the maximum number of Xenio Resources that can be run on any one host system when using SelenioFlex File, open the SelenioFlex File Console, select Server > Agents, select the Agent you will be configuring, and click the "Add Xenio Resources" button. A newly provisioned Xenio Transcode Agent System will have 0 Xenio Resources. At least 1 Xenio resource must be added before the system can be used to run Xenio Engines. If you need to reduce the number of Xenio Transcode resources available on an Agent system you can go the Resources tab, right click on the resource, and select Advanced > Delete. Adding a resource adds to the maximum number of resources that can be run on the host system, but it does not increase the total maximum number of resources you can use over the entire transcode farm, as that is controlled by the licensing. Normally the number of resources on a single Agent system is limited to a small number, normally 1 or 2. This will prevent all of your jobs from running on a single Agent system, while other Agent systems sit idle with no active jobs. Xenio Engine A Xenio Engine is a running instance of a Xenio blueprint under the control of a Xenio Agent. A Xenio Engine requires a license to run, along with licenses for the components used in the graph. When the job is finished the licenses are all returned to the pool of available licenses. In SelenioFlex File 2 the maximum number of simultaneous Xenio Engines that can be run on an individual host system can be specified on each individual system (as a setting on the Agent system). However, that does not lock a specific number of Engine licenses to a specific host system, it just specifies the maximum number that can be run before that system will report that is has no available Transcode resources available. The Engine licenses are completely portable and can be requested by any system with a Xenio Agent that has access to the license server. In SelenioFlex File, when a Transcode Resource is running a Xenio Engine, that Resource will be shown as "Busy". 31