Technical

Tips, Tricks and Technical Information

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 allows the user to access 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 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 set up 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 set up 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 (connect to network drives, 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 click 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 restart 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 settings will be under HKEY_LOCAL_MACHINE instead of HKEY_CURRENT_USER, and any changes on the user side will need to be migrated to the local machine keys.

Record/Original Directory Overrides

eMAM uses an 'original', and a 'proxy' directory to organize the incoming files.  By default, Net-X-Code Server 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 macOS.

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 DDR Config 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 proxy mode and other proxy elements in the config.xml.  You can also access these directly using DDR Config 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 it 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 Than One Video Standard

If you are recording/playing back more than one video standard on SDI/SMPTE2110, then you will want each of the channels to be set up independently.  This requires setting the Independent 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 Server 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 DDRConfig | Advanced under \MediaReactor\Default\TranslateCC

AutoCCConversionOnRecord

OAuth2 - secure authorization setup

To specify the eMAM location, run DDR Config, 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/

macOS

/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 to set the username and password.  To get the client_secret, you will need to go to your eMAM 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 files, the relationship between the base record drive and the http sharing of that location needs to be known.  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

Using Linux Net-X-Code Server with eMAM

Normally a Windows version of Net-X-Code would be used for edit while capture and transcoding for eMAM.  The following settings allow you to use a Linux Net-X-Code with eMAM.  The issue with Linux and eMAM is that the paths in eMAM are UNC network shares.  In Linux, these need to be mounted into the file system.  The ReDir_ settings in Net-X-Code Server allow you to change all references to one share into another.

DDRConfig ReDir Settings

In this case, the eMAM share is ReDir_Source at \\192.1681.1\eMamShare, and the mapped share in Linux to the same location is ReDir_NewDir at \mnt\emamshare.  All configs in Net-X-Code Server should reference \\192.168.1.1\eMamShare, and they will be automatically translated to \mnt\emamshare.

Other eMAM Specific Settings

If you are setting up a 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 toolbar onto 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 Metadata -> 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 resolution 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.


 

Trademarks, Registered Trademarks, and Copyrights

 

Trademarks, Registered Trademarks, and Copyrights

AJA Video Systems, Inc. - AJA® is a registered trademark of AJA Video Systems, Inc. AJA™ is a trademark of AJA Video Systems, Inc. Corvid Ultra®, KONA®, IO®, U-Tap®, and T-Tap® are registered trademarks of AJA Video Systems, Inc.
Apple Inc. - Apple, the Apple logo, Final Cut, Final Cut Pro, Apple TV, iPad, iPhone, iPod touch, iTunes, Mac, Mac OS X, macOS, Shake, Final Cut Pro, and QuickTime are trademarks of Apple Inc., registered in the U.S. and other countries.
Bluefish Technologies - Bluefish444, IngeSTore, Symmetry, Kronos, Epoch, Epoch:Neutron, and Epoch:SuperNova are trademarks of Bluefish Technologies
Drastic Technologies Ltd. - trademarks specified here.
Empress Media Asset Management (eMAM) – eMAM, and eMAMDirector are registered trademarks of Empress Media Asset Management (eMAM)
Linus Torvalds - Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microsoft Corporation – Windows®, Video For Windows (VFW), and DirectShow are registered trademarks of Microsoft Corporation.
Society of Motion Picture and Television Engineers - SMPTE is a trademark of Society of Motion Picture and Television Engineers.
All other trademarks are the property of their respective owners.

 

Image

For more than three decades, Drastic™ has been developing cutting edge digital video solutions for television, post production and sports broadcasting, from real time web delivery to 8K broadcast.

We offer standalone software for the end user or enterprise, integrated solutions for automated workflows, and OEM tools for custom applications or branded devices.

Contact Us

Address:
523 The Queensway, Suite 201
Toronto, ON
M8Y 1J7, Canada

Phone: +1 (416) 255 5636

Email: sales@drastictech.com

Fax: + 1 (416) 255 8780

Follow us on Social Media