Profiles

A profile is a “template” used to store configuration details. There are two profile types available in Ooyala Flex, discussed below.

Validation Profiles

Used for validating assets against desired file structural metadata values. A validation profile is referenced from within some validation actions as well as by inboxes to validate incoming media files. During a validation operation, Ooyala Flex compares a validation profile with the technical metadata values (bitrate, framerate, codec, etc) extracted from an asset, to identify whether the validation profile rules are met.

There are two types of Validation Profiles:

  • Media Validate: Used to validate media asset types.
  • Image Validate: Used to validate image asset types.

Complex Types and Pattern Matching

As well as scripting, Ooyala Flex’s validation profiles support complex types. This means that instead of entering values into number fields, you can also enter operators to make your matching more powerful. You can also use scripting in string and text fields.

The operators available are as follows:

Operator Description Example
.. Range from a lower value to a larger value 20..30
> The match is greater than the value given >35.0
< The match is less than the value given 65.3<
| The “or” operator. The match must be with one of the value 65 | 64
! The “!” operator. The match must not be with the value shown !65
* The wildcard means anything will be matched

Transcode Profiles

Used for defining a transcode profile to be used when transcoding an asset from one file format to another. A transcode profile is referenced from within some transcode actions, to specify the type of transcode process that must occur when the transcode job is delegated to a transcode resource.

Media Transcode Profile

Properties:

Field Value Explanation
Icon Plugin icon
Supports Scripting Whether configuration supports scripting
Scripting Context asset, job What Ooyala Flex objects can be referenced from within the scripting context

Configuration:

Field Field Type Mandatory Multiplicity Description
Transcode Engine transcode-engine 0.1
Transcoder Profile Name string 0..1 Transcoder specific preset/profile name
Transcode Profile Template file 0..1 Transcode profile is based on an uploaded template
Configured Profile complex 0..1 Transcode profile is based on configuration
Sources complex 1..* Information about the source assets
Source Asset Context string Asset content hierarchy reference to the source asset
In string
Out string
Source Transformations complex
Deinterlace complex 0..1 Deinterlace an interlaced source
Deinterlace Method transcode-deinterlace-method
Threshold string
Cropping complex 0..1 Crop a source video
Top (px) integer
Bottom (px) integer
Left (px) integer
Right (px) integer
Frame Rate Conversion complex 0..1 Convert a variable to fixed framerate
Conversion Frame Rate (fps) transcode-frame-rate
Pixel Aspect Ratio Conversion complex 0..1 Correct a video’s reported aspect ratio
Pixel Aspect Ratio Conversion(e.g. 4:3) string
Product complex Information about the product
Format transcode-format
Format Variant transcode-format-variant
Output complex Information about the output
File Options complex 0..1 File output options
File Option complex 0..* File output option
File Option Name string
File Option Value string
Video Streams complex 0..1 Information about the video
Video Stream complex 0..1 General information about stream
Video Codec transcode-video-codec
Video Bit Rate string
Video Frame Rate (fps) double
Video Width (px) integer
Video Width (px) integer
Pixel Aspect Ratio (e.g. 4:3) string
Interlace Format transcode-interlace-format
Video Options complex 0..1 Video codec options
Video Option complex 0..* Video codec option
Video Option Name string
Video Option Value string
Video Transformations complex
Video Fade complex 0..1
Video Fade-In (sec) string
Video Fade-Out (sec) string
Overlays complex
Graphic Overlay complex 0..*
Image Image Overlay image for transcode.
Start Time Code string
End Time Code string
Fade-In Duration (sec) integer
Fade-Out Duration (sec) integer
X Position (pixels) integer Horizontal offset, in pixels. “0” denotes the far left and increasing values will offset the image to the right
Y Position (pixels) integer Vertical offset, in pixels. “0” denotes the top of the image and increasing values will offset the image towards the bottom
X Scale double Horizontal scale factor. E.g. 1.0 is actual size, 0.5 is half size, and 2.0 is double original size
Y Scale double Vertical scale factor. E.g. 1.0 is actual size, 0.5 is half size, and 2.0 is double original size
Transparency (0.0-1.0) double 0.0 (fully opaque) and 1.0 (fully transparent)
Text Overlay complex 0..*
Text string
Start Time Code string
End Time Code string
Fade-In Duration (sec) integer
Fade-Out Duration (sec) integer
X Position (0.0-1.0) double 0.0 (left of the screen) and 1.0 (right of the screen)
Y Position (0.0-1.0) double 0.0 (top of the screen) and 1.0 (bottom of the screen)
Horizontal Alignments complex 1
Horizontal Alignment single-option Horizontal alignment
Vertical Alignments complex 1
Vertical Alignment single-option Vertical alignment
Transparency (0.0-1.0) double 0.0 (fully opaque) and 1.0 (fully transparent)
Font string
Size (0.0-1.0) double
Red Colour Component (0-255) integer
Blue Colour Component (0-255) integer
Green Colour Component (0-255) integer
Shadow (0.0-1.0) double 0.0 (no glow) and 1.0 (strongest glow)
Hard Shadow boolean
Background Enabled boolean
Media Expansion complex 0..1
Add Pre-Roll Frames integer
Add Post-Roll Frames integer
Field Order Shift complex 0..1
Field Order Shift single-option Field order shift
Audio Streams complex 0..1 Information about the audio
Audio Stream complex 0..1 General information about stream
Audio Codec transcode-audio-codec
Sample Rate (kHz) double
Audio Bit Rate string
Bits Per Sample integer
Channels integer
Audio Options complex 0..1 Audio codec options
Audio Option complex 0..* Audio codec option
Audio Option Name string
Audio Option Value string
Audio Transformations complex
Audio Fade complex 0..1
Audio Fade-In (sec) string
Audio Fade-Out (sec) string
Channel Mapping complex 0..1
Channel Mapping Left string
Channel Mapping Right string
Channel Mapping Centre string
Channel Mapping Rear Left string
Channel Mapping LFE string
Audio Gain complex 0..1
Gain (dB) double Audio gain (dB)
Normalise boolean
Loudness Adjust complex 0..1
Gain (dB) double Gain (dB)
ITU BS 1770 complex 0..1
Target Perceived Loudness (LKFS) double Target Perceived Loudness (LKFS)
Restrict Peak Level complex 0..1 Peak level (dBFS)
Peak Level (dBFS) double
Static Image image 0..1 Static image for transcode.

The common way of managing the behaviour of a transcode job is to configure a transcode profile as shown above. There is one option that allows for much lower level manipulation of the transcode profile. The transcode profile template option shown above in red allows for the upload of a transcode template. If you set this then it provides much lower level control of the transcode profile and more dynamic control.

Low Level Profiles

It is possible to upload a lower level transcode template to your transcode profile. This template takes the form of a velocity template. The apache velocity engine is a free open-source templating engine. Velocity permits you to use a simple yet powerful template language to reference objects defined in Java code. It is written in 100% pure Java and can be easily embedded into your own applications.

By uploading a velocity template a you can create a direct XML request API call to the underlying transcoder. This template bypasses the higher level media transcode profile and it also bypasses the transcode adapter. The benefits of this are:

  • You can craft more customised, lower-level API calls to your transcoder
  • Templating and scripting enables you to dynamically create profiles based on variables existing within the context.
  • You can access API calls that are new or not yet available in the media transcode profile

The following objects are made available in the context of the velocity template engine:

  • An XML document named “document” that exists in the workflow context
  • An XML document called “contentMetadata” that represents the metadata instance belonging to the asset that is being transcoded.

Image Transcode Profile

Properties:

Field Value Explanation
Icon Plugin icon
Supports Scripting Whether configuration supports scripting
Scripting Context asset, job What Ooyala Flex objects can be referenced from within the scripting context

Configuration:

Field Field Type Mandatory Multiplicity Description
Source complex 1 Information about the source 0.
Asset Context string
Image Format single-option The asset image format to transcode.
Width integer Width of image desired. Ignored if Resize Mode = Fixed Width or Scale.
Height integer Height of image desired. Ignored if Resize Mode = Fixed Height or Scale
Width Scale double Scaling factor to be applied to the width of the image if Resize Mode = Scale
Height Scale double Scaling factor to be applied to the height of the image if Resize Mode = Scale
Resize Mode single-option Resize Mode

Media Validate Profile

Properties:

Field Value Explanation
Icon Plugin icon
Supports Scripting Whether configuration supports scripting
Scripting Context Asset, Job, Event What Ooyala Flex objects can be referenced from within the scripting context

Configuration:

Field Field Type Mandatory Multiplicity Description
File complex Information about the format
File Bit Rate long
Duration (uSec) long
Stream Count integer
Video Stream Count integer
Audio Stream Count integer
Format validation-format
Video Streams complex 0..1 Video stream information. Adding this implies at least one audio stream should exist.
Video Stream complex 0..1 Information about a particular video stream
General Video Stream Information complex General information about stream
Video Bit Rate long
Video Language string
Video Start Time Code string
Video External Stream boolean 0..1
Video Codec validation-video-codec
MPEG-2 Codec Context complex 0..* General information about stream
GOP Size integer
GOP Sequence string
I-Frame Only boolean 0..1
Bit Rate Type validation-bit-rate-type
VBV Buffer Size integer
MPEG-2 Profile validation-mpeg-2-profile
MPEG-2 Level validation-mpeg-2-level
Frame Rate (fps) double
Frame Width (px) integer
Frame Height (px) integer
Pixel Aspect Ratio (e.g. 4:3) string
Interlace Format validation-interlace-format
Pixel Format validation-pixel-format
Standard validation-standard
Telecine Format validation-telecine-format
Audio Streams complex 0..1 Audio stream information. Adding this implies at least one audio stream should exist.
Audio Stream complex 0..1 Information about a particular video stream
General Audio Stream Information complex General information about stream
Audio Bit Rate long
Audio Language string
Audio Start Time Code string
Audio External Stream boolean 0..1
Audio Codec validation-audio-codec
Sample Rate (kHz) double
Channels integer
Bits Per Sample integer
Internal Text Metadata complex 1 Descriptive metadata contained within the file.
Number Of Fields integer Number of metadata fields.
Fields complex
Abstract string
Author string
Copyright string
Description string

Image Validate Profile

Properties:

Field Value Explanation
Icon Plugin icon
Supports Scripting Whether configuration supports scripting
Scripting Context Asset, Job, Event What Ooyala Flex objects can be referenced from within the scripting context

Configuration:

Field Field Type Mandatory Multiplicity Description
Image Format single-option The file format of the image.
File Size long The size of the file e.g. 100, 100..200, 100
Width integer The width of the image in pixels e.g. 800, 600..800, 600
Height integer The height of the image in pixels e.g. 800, 600..800, 600
Display Aspect Ratio string he aspect ratio of the image e.g. 16:9