fbpx

eMAM Integration

eMam logoeMAM provides a number of integrations with Drastic products including Net-X-Code, Net-X-Convert, and Net-X-Proxy.  For most cases, the main configuration is done within eMAM itself. In the case of live capture, configuring the Drastic server to send messages to eMAM allows eMAM to detect new records and allow the user to start using them while they are still recording. This article has the details for that setup.

 

eMAM Notification Configuration

Net-X-Code uses eMAM's REST API to notify eMAM of new records. To use that API, the location of the eMAM server on the network must be specified and the authentication for the server must be set up on the Net-X-Code server.  The eMAM server must have an IPv4 address (like '192.168.1.200') and it must have a name that can be resolved to that address (like 'mam').  This can be setup on your DNS server, or just in the host file of the Net-X-Code server.  So long as you can ping 'mam' on the drastic server and get back the IP address, you are ready to configure.

Service Setup (Windows Only)

By default, the installer will setup two services, Net-X-Base and Net-X-Cmd.  Net-X-Base is the API server and Net-X-Cmd controls the services the server provides.  As such, Net-X-Cmd is dependent on Net-X-Base, if they are on the same machine.  In a multi server setup, only one machine will have a Net-X-Base service, and all machines will have a Net-X-Cmd service.

To run properly (to connect to network drive, Bluefish444/AJA, export network servers) the service must be logged on as a user with administrator privileges on the local machine.  Go to the control panel and run the Services app.  Right clip on the Net-X-Cmd (and then the Net-X-Base) services and select Properties.  Select the Log On tab and change the account and password to your local admin.  Stop and re start the services to make sure they log in properly.

NetXCmd Service User

Please note:  It is possible to run as 'Local System Account' with 'Allow service to interact with desktop' enabled, but in that case all the setting will be under HKEY_LOCAL_MACHINE instead of HKEY_CURRENT_USER, and any changes on the user side will need to be migrated the the local machine keys.

Record/Original Directory Overrides

eMAM uses a 'original' and a 'proxy' directory to organize the incoming files.  By default, Net-X-Code can record to any available storage.  To limit the directories to the ones eMAM needs, it is best to set directory overrides for the IP capture, SDI capture and Proxy directories.  For the IP capture, the override is set in the system settings, either the regedit for windows, the .conf files for Linux or the .prefs for OS-X (there is more information on these here).

In either NetXCmd.conf/pref or "HKEY_CURRENT_USER\Software\Drastic\NetXCmd" (or under HKEY_LOCAL_MACHINE for non user services), add the string variable "directory" and set it to the original directory for eMAM

IPCaptureDIrectoryOverride

To override the SDI and Proxy directories, run DDRConfig (or modify the config.xml file as described here) and go to \\VVW\Config\ and change OverrideDir and OverrideProxyDirectory to the correct paths:

DDRConfigOverrideRecProxy

Create Proxy While Record

Once the proxy directory is set, the proxy while record creation must be set for each recording or IP channel.  The Web UI Config for the SDI/SMPTE2110 channels has a check box and setup for the proxy.  This will set the proxymode and other proxy elements in the config.xml.  You can also access these directly using DDRConfig and going to Advanced and /VVW/Internal0/ (or internal1, internal2 for the other channels).

DDRSetupProxyWhileRecordConfig

For the IP capture automatic proxy generation, the proxy must be set for each channel of capture.  On windows, this is done in the registry.  For Linux is is the same variables, but in the NetXCmd.conf under ~/Drastic/.  The 'proxymode' should be 1 for enable.  The 'proxytype' should be 197 for MP4 and the 'proxydatarate' should be set for the kilobits per second you want to target (e.g. 2500 is 2.5 mbps).

More Then One Video Standard

If you are recording/playing back more then one video standard on SDI/SMPTE2110, then you will want each of the channels to be setup independantly.  This requires setting the Independant Channel Config

DDRConfigIndependantChannel

Once this is set, you will also want to open the Advanced tab and set the ClipFile and TCFile settings to point at different log/edl files.  They do not need to exist when you set them, they will be created.  If they are the same for any two channels, the loaded files will also be the same, so they should have the same video standard.

Automatic SRT or VTT Conversion

By default, Net-X-Code records SCC files for SD closed captions, and MCC files for HD closed captions, as well as embedding them into the media files, if possible.  eMAM prefers SRT or VTT files, so these can be generated automatically at the end of a record by setting the TranslateCC to VTT (or SRT) in DDRConig | Advanced under \MediaReactor\Default\TranslateCC

AutoCCConversionOnRecord

OAuth2 - secure authorization setup

To specify the eMAM location, run DDRConfig, select the Advanced tab and go to /VVW/Config. Add a new string called 'eMAMServer' (without the quotes) and specify the server name or address:

eMAM DDRConfig

You will also need to set up the OAuth2/Token server address at /MediaReactor/OAuth2/<eMAMServer>, or in this case the key would be /MediaReactor/OAuth2/mam/.  Please note, the 'mam' is an XML key, so it cannot begin with a number or other illegal XML key characters.  If your domain begins with a number, then name the key removing any leading numbers, and any other illegal start characters from the front of the domain (e.g. 647.emamcloud.com would become emamcloud.com).  The full address will be used to contact the server, but the search for the oauth server will use the shortened name.

Under that key, you will need a new string call oauth2server.  That should be set to the token server address on the eMAM server.

eMAM DDRConfigOAuth2

To set up the authentication, you will need to create a JSON file in a text editor that will be used when connecting to the eMAM server. This file must have the same name as the server (in this case mam.json) and must be placed in the following location

Windows:

C:\ProgramData\Drastic\

Linux

~/Drastic/

OS-X

/Library/Application Support/Drastic/

The file needs to contain the following items

{
  "grant_type": "password",
  "client_id": "0",
  "client_secret": "thesecretprovidedbytheemamserver",
  "username": "yourusername",
  "password": "yourpassword"
}

The customer will have set the username and password.  To get the client_secret, you will need to go to youeMAM Gateway server.and run RegEdit.  The entry that has the secret is

HKEY_LOCAL_MACHINE\SOFTWARE\Empress Media\eMAM Gateway\ComponentLicenseKey

 

Server API Location

This setting lets the server know where to send the API commands.  This is in the eMAMServer element under \VVW\Config\.  It should be the base address of the HTTP server (e.g. http://emamdrastic or http://192.168.0.100 if using the IP address)

DDRConfig eMAMServer

Record/Proxy Drives and HTTP Location

The record drive and location can be set on a per channel basis in /VVW/Internal0 (where 0 is between 0 and the number of channels you have).  To allow eMAM to locate these file, the relationship between the base record drive and the http sharing of that location needs to be know.  For example, if the record path is

\\emamdrastic\emamfolders\capture\today\new.mxf

and from the HTTP server's point of view the file exists at:

http://emamdrastic/capture/today/new.mxf

then the server needs to know what the common base for both would be.  In this case it would be:

\\emamdrastic\emamfolders\  ==  http://emamdrastic/

as the rest of the path is the same in both cases.  There are two sets of settings for this:  eMAMFileBaseDrive/eMAMFileBaseHTTP and eMAMProxyBaseDrive/eMAMProxyBaseHTTP.  They are found under Advanced VVW/Config/

DDRConfig eMAMPaths

Other eMAM Specific Settings

If you are setting up to live edit with eMAM, you will probably want to also add/set the following in the config section

Numeric:

  • eMAMProjectIdId
  • eMAMMetadataFieldId
  • eMAMMetadataSetId *
  • eMAMStorageId *
  • eMAMStorageVersionId
  • eMAMBinId
  • eMAMPlatformId *

String:

  • eMAMCategoryPath

To get the eMAMProjectIdId, load the Project Versions panel in eMAMDirector (drag the Project Versions widget from the eMAMDirector tool bar on to the interface).  The Project ID should appear as below (1046):

emam project versions

The eMAMMetadataFieldId can be obtained from the Admin Tools (eMAMDirector -> Admin Tools -> Manage Metdata -> Metadata Fields).

eMAM setup eMAMMetadataFieldId

The eMAMMetadataSetId can also be obtained from the same place as the eMAMMetadataFieldId above.

eMAM setup eMAMMetadataSetId

Conclusion

With this setup, whenever a new high res and proxy file pair starts recording, a message will be sent to the eMAM server letting it know that the new record has started and where it is.  This will allow eMAM to add the recording to its database, and allow the user to open the proxy recording while it is still ingesting, and begin working with the media.