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

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

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.

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

https://documentation.apple.com/en/finalcutpro/usermanual/index.html#chapter=51%26section=5%26tasks=true

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.