CatDV Content Agent User Manual
NSA CatDV Content Agent User Manual
Introduction
This document is provided in incomplete draft format, for review only, as of 02/16/2022.
Welcome to the North Shore Automation CatDV-Content Agent user and administration guide. This document outlines the functions, usage, and basic technical information of the application and its related systems. While we advise that all users read the entire manual, system operators may only need to view the first few chapters. A system administrator or installer will want to review the document in its entirety.
The CatDV-Content Agent application enables CatDV DAM systems to connect to Content Agent systems. By using the CatDV-Content Agent solution, CatDV can communicate with a Content Agent system to send assets to transcoding and other types of workflows, then record job-related metadata in the CatDV database.
This document will cover the following topics:
## Topics to be updated as draft is edited
Document Conventions and Assumptions
This document assumes knowledge of the CatDV and Content Agent software. If you need more detailed information on CatDV applications or Content Agent , please refer to their respective documentation.
In some cases (typically the overview sections), the term "Content Agent Action" may be used generically to refer to any workflow related operation such as transcode, analyze, or asset copy/move. When a specific type of operation is referred to, such as a transcode, it will be referred to by name.These systems are highly customized in most cases, so references to topology and system configuration are examples. Consider undertaking a system design with your CatDV and Content Agent integrator to determine the correct configuration for your organization.
Chapter 1 – User Operations
This section...
Chapter 2 - CatDV Metadata
This section lists all metadata fields in CatDV that are used for Content Agent operations and a description of their data.
The Content Agent metadata fields are created in the CatDV metadata during the system deployment and can be mapped to a details panel in CatDV or distributed amongst other panels, as needed. We recommend collecting these fields into a dedicated CatDV details panel for clarity.
In this example, the user has created a details panel called "Content Agent " in which the Content Agent and CatDV-Content Agent metadata are displayed.
Note: In the "Main View" of the CatDV window, you can set up a column display to view the Content Agent Status for every clip.
The metadata fields for the CatDV-Content Agent workflow are named in a way that aids in tracking status and troubleshooting the workflow.
The data in fields beginning with "Content Agent" are typically coming from the Content Agent server via API. All other fields are either updated by user input or by a Worker Node action (e.g., Content Agent Workflow State, Content Agent Log, etc.)
Note: There is one exception to this convention. “Content Agent Action” is a user input field that is set by the user to initiate the Worker Node action.
CatDV-Content Agent Metadata Fields
Content Agent Action– Pick list metadata field to send a CatDV clip/file specific Content Agent workflow
Content Agent Job ID – Job ID from Content Agent
Content Agent Percent – Percentage of job progress in Content Agent; note that the percentage given by Content Agent is imprecise and may not indicate overall completion
Content Agent Log – Log of statuses for each clip that is submitted to Content Agent
Content Agent Workflow Status – Job status reported directly from Content Agent
Sample Values
Complete
Failed
Waiting
StoppedByUser
Active
Content Agent Monitor Status – Job status interpreted by North Shore Automation’s CatDV-Content Agent app
NSA interpretation of the workflow state
Sample values:
Job Submitted
In Progress
Submit Failed
Job Failed
Complete
Job ID Missing
Workflow Initiating
Unknown State
(Optional) Content Agent Output Path – This is provided in case an output path is needed for the workflow to be initiated. An example of this might be in a CatDV proxy creation workflow, where the proxy location must be derived in the Worker Node, using variables, and then provided to Content Agent so that the proxy is placed in the correct path to be detected by CatDV Pro.
Note: This field is optional and may not be used in all workflows
Chapter 3 - CatDV-Content Agent App
This section provides a functional overview of the North Shore CatDV-Content Agent application.
The CatDV-Content Agent application consists of two parts, an initiation application that is run via a Worker Node command line operation and the main application that communicates with both the CatDV Server and Content Agent Server as well as creating the Content Agent API call to submit the CatDV metadata to Content Agent .
CatDV-Content Agent Block Diagram
CatDV-Content Agent Sample Topology
Note: CatDV Worker Node is typically not hosted on Content Agent Server, but in some instances this may be necessary or desired. Worker Node and the CatDV-Content Agent app may run on macOS, Windows, or Linux Worker systems. CatDV-Content Agent handles all cross-platform path translations in its config file.
Workflow Overview
A user flags assets in CatDV to send to Content Agent by setting a metadata value in a field to “Create Proxy,”or similar. (These are usually named for the workflow that they will initiate).
The CatDV Worker Node is triggered by a server query to send the asset Clip ID and workflow name/ID to the CatDV-Content Agent app via a North Shore application initiated by a Worker Node command
Content Agent Action field is reset to blank once the Worker Node action runs.
The CatDV-Content Agent sends a Content Agent API request
Note: CatDV asset metadata is inserted into the API request during the API send - All requests include source media path and CREF at a minimum in order to enable monitoring.
CatDV-Content Agent app sends the API request for the workflow which triggers the Content Agent workflow
A unique Job ID is created for the asset by Content Agent
North Shore CatDV-Content Agent app is monitoring workflows specified in the North Shore config file for new jobs. When the app detects a new job it retrieves the asset’s ClipRef from Content Agent, uses that to perform a lookup in CatDV and then updates the following metadata:
Content Agent Workflow State
Content Agent Job ID
Content Agent Percent complete
Content Agent Log
CatDV-Content Agent polls the Content Agent server every 15 seconds throughout the job (configurable setting). The job status is updated in CatDV for each asset as its job progresses.
If there is no change in the job in Content Agent, the app does not send an update to CatDV. Only Content Agent is polled.
Outcomes
Success
Content Agent Workflow State is updated to “Complete”
Content Agent percent updates throughout and shows 100% upon completion
Content Agent Log is written
2022-01-26T23:17:21.749951 - af0c70ca-2046-408d-98e1-afe6620c927f - CatDV asset C341821A submitted to Content Agent Workflow (af0c70ca-2046-408d-98e1-afe6620c927f) with job_id = 76cecd34-ec64-4353-bd77-6cd64a851573
2022-01-26T23:27:25.611845 - af0c70ca-2046-408d-98e1-afe6620c927f - CatDV Asset C341821A Content Agent job: Complete
Error - If a job fails, the status fields will display a “Fault” message. The Content Agent Log field will list more detailed error information.
Content Agent Percent displays percentage of completion at time of failure
Note: This resets the next time a Content Agent job is run on the asset
Content Agent Log is written
2022-01-26T23:17:21.749951 - af0c70ca-2046-408d-98e1-afe6620c927f - CatDV asset C341821A submitted to Content Agent Workflow (af0c70ca-2046-408d-98e1-afe6620c927f) with job_id = 76cecd34-ec64-4353-bd77-6cd64a851573
2022-01-26T23:27:25.611845 - af0c70ca-2046-408d-98e1-afe6620c927f - CatDV Asset C341821A Content Agent job: Complete
2022-01-31T12:30:34.328167 - 4a858549-25e8-4ac3-b3b4-83e553eeb106 - CatDV asset C341821A submitted to Content Agent Workflow (4a858549-25e8-4ac3-b3b4-83e553eeb106) with job_id = 51506415-d8bb-434f-a27a-36c1b86d7096
2022-01-31T16:37:12.036988 - 4a858549-25e8-4ac3-b3b4-83e553eeb106 - CatDV Asset C341821A Content Agent job: Complete
Operation complete
Workflow Notes
IMPORTANT: North Shore defines a Content Agent workflow as an operation initiated by a single workorder, having a single Content Agent Job ID. Content Agent operations submitted from CatDV should be either submitted serially, in order, one after another, or if a chain of operations must be performed by a single CatDV Worker Node action, then those operations should be grouped in Content Agent. This is due to the fact that CatDV metadata should only be received from one Content Agent workflow at a time to avoid conflicts and/or race conditions and to keep the complexity of the CatDV metadata to a minimum.
Chapter 4 - NSA CatDV-Content Agent Deployment
Config File Overview
This section explains the settings contained in the North Shore CatDV-Content Agent config file.
You may open it for editing in any text editor.
It is located at:
macOS or Linux
/etc/northshore/config/content_agent_workflow.cfg
Windows
%UserProfile%\northshore\config\content_agent_workflow.cfg
C:\northshore\config\content_agent_workflow.cfg
In the sections below we outline the specific settings and options for each configuration file section.
Config File - System
This is the top section of the config file, showing settings mostly related to system-wide functions.
Note: In the config file lines that start with "#" are ignored and so if you want to add notes for yourself, you may do so by adding hash (#) to the beginning of the
License - This is your software license key. It will be supplied by NSA and is locked to the machine's hardware.
Content Agent - This contains the network information for the Content Agent server. "Host" should be set to the hostname or IP address of the Content Agent server. "Port" should be set to 8731 by default, unless you have modified your Content Agent server API configuration.
NOTE: Please enter the IP address or a valid hostname in the configuration. "localhost" is not a valid option, even if the software is running on the Content Agent server.
Monitor - This section contains settings related to how the app monitors Content Agent and reports updates to CatDV Server. The "sleep_amount" is the polling time for checking the Content Agent job queue.
Workflows - This section contains a list of the workflows monitored by the app. Add additional workflows to the list by typing a descriptive name (of your choosing, i.e an alias) an "equals" sign and the Content Agent workflow which must match the name in Content Agent which is case sensitive.
Using the matching workflow name from Content Agent can be used when sending single CatDV clips and files like .mov or .mp4 wrapped media to Content Agent
Pattern: <alias> = <Content Agent workflow name>
If sending CatDV Metaclips which refer to multiple pieces of media that need to be "joined" together to a single output file like a mp4, mov or mxf wrapped media then the Content Agent Job ID needs to be pulled from the database using a Soup API client. This workflow ID is a string of letters and numbers and is unqiue to each Content Agent workflow.
Pattern: <alias> = <Content Agent workflow ID>
Filesystem - This section covers where logs are stored and where the PID (Process ID file) is stored. The .pid file location is needed for certain troubleshooting operations.
Fields - This sections lists the fields that are mapped from CatDV Pro in order to initiate and complete Content Agent jobs.
Fields
Note: Spaces in field names are converted to periods by CatDV Server upon creation.
Note: When configuring a system with CatDV Server v7+, the CatDV-Content Agent app uses CatDV database identifiers instead of USER field ID's. Contact your CatDV integrator or administrator for more information.
Config File - Workflows
This is the top section of the config file, showing settings mostly related to workflows.
Path Mappings - If your system contains macOS clients or Worker Nodes you will need to set path equivalencies so that the system can translate macOS paths to Windows paths for the Content Agent application.
Pattern: <incoming path root>;<translated path root>
See the examples in the image below and contact your system administrator for more info.
Note: Content Agent prefers UNC paths.
Appendix A – Troubleshooting
Asterisk (*) in timecode values from CatDV
Content Agent will not take 60 frame TC with an “*” in the TC display
Apostrophes in timecode values from CatDV
Content Agent will not accept time code values with apostrophes in them. CatDV uses apostrophes as a visual reminder that timecode is 23.98/24 fps. This is a preference that can be turned off in the “General” preference pane in CatDV Pro/Pegasus.
Content Agent Errors
Content Agent Error: RenderSession:StartSession(): A problem occurred when processing the output version, error =The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
If you see this error, your path and/or filenames are too long. This is a Windows limitation, unrelated to North Shore, CatDV, or Telestream. For more information on this error, see the following article from Microsoft for best practices.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
Appendix D – Built in CatDV Fields for mappings
Special Fields
source_path – Path mapping modified media path
source_path_orig – Unmodified media path
CatDV System Fields
Simple
* ID
* bigNotes
* bin
* catalogID
* catalogName
* clipref
* duration2
* format
* fps
* good
* groupID
* groupName
* hidden
* importNotes
* in
* in2
* isEditable
* marked
* markers
* mediaEndMs
* mediaStartMs
* members
* metadata
* modifiedDate
* modifyDate
* name
* notes
* orientation
* out
* out2
* posterID
* rating
* recordedDate
* recordingDate
* seqItems
* seqNo
* sourceMedia
* sourceMediaID
* status
* tape
* tapeInfo
* tapeInfoRef
* thumbnailIDs
* type
* underlyingType
* userID
* userName
Special Case: Media Variables:
Special non-standard naming:
* media_ID
* media_metadata <-- Note: not very useful formatting
* media_modifiedDate
* media_tape
Standard naming:
* altPaths
* archiveStatus
* aspectRatio
* audioFormat
* dataRate
* filePath / file_path / source_path / source_path_orig
* fileSize
* importer
* isMediaAvailable
* omfRef
* proxyPath
* qttc
* still
* tcFmt
* tracks
* videoFormat
Special Variables – These multiple potential formatting (only txt format available currently):
* end
* start
Special Case: Complex variables:
* history <-- Note: not very useful formatting
* importSource <-- Note: not very useful formatting
Special Case: Multi-formatting (only txt format available currently)
* duration
* in
* mediaEnd
* mediaStart
* out
User Fields
In the [Fields] section of content_agent_workflow.cfg, you can add a mapping such as:
content_agent_job_id = content.agent.job.id (when using CatDVServer v7)
or
content_agent_job_id = U54 (when using CatDVServer v6)
This will allow you to use 'content_agent_job_id' in the csv field definition accessing the field, user field 54 (CatDVServer 6) or content.agent.job.id (CatDVServer 7.)
Appendix E – CatDV Server API notes
CatDV Server & Content Agent API connections
The Content Agent API communication port may be set in the config file as noted in Chapter 4 above. Typically, this is set to port 8731 by default.
CatDV’s REST API uses the web port set in your CatDV Control Panel. Typically, this is set to port 8080 by default. See the CatDV Server documentation for more info.