OSWMxfTool VERSION V1.6 (2011-04-06)
The OSWMxfTool
The key features of this product are:
Here's the command-line interface of OSWMxfTool (V1.6):
Example: Config-XML to define a filesystem-folder as a "watchfolder":
<?xml
version="1.0" encoding="utf-8"
?>
<!--
============================================================================
OSWMxfTool (V1.5+): Watchfolder-Config DEMO FILE
Remarks:
1) The folder that will be monitored by the system has to be defined
in the <WatchfolderPath>-XML-node.
-Local folder syntax: C:\myFolder
-Network folder syntax (SMB): \\myServer\myFolder
1b) A watchfolder (C:\myFolder) *may* contain 1..N subfolders, p.ex:
C:\myFolder\subfolderA, C:\myFolder\subfolderB
You have to define which of these subfolders have to be monitored by this program (XML-node: <WatchfolderSubfolders>).
Example:
<WatchfolderSubfolders>
<Subfolder_0>subfolderA</Subfolder_0>
<Subfolder_1>subfolderB</Subfolder_1>
</WatchfolderSubfolders>
If the program should process the contents of the main watchfolder (<WatchfolderPath>)
you have to add a special entry:
<WatchfolderSubfolders>
<Subfolder_0>@WTF_ROOT@</Subfolder_0>
...
</WatchfolderSubfolders>
2) Up to 100 "FileGroups" can be specified (FileGroup_0 .. FileGroup_99).
The watchfolder-logic is checking each detected file for a
"FileNamePattern"-match (AND, when necessary: "SubfolderNamePattern"-match) by traversing all FileGroup_X specifications
in NUMERIC ORDER.
The first FileGroup-specification that matches, will be used to process the input-file.
2a) Regular expression examples:
a1) All files with name-pattern: *.mxl (p.ex: hello.mxf, fileA122-32.mxf)
=> RegExp: ^[\w\d\s_-]*\.mxf
a2) All files with name-pattern: ABC_1234.mxf (p.ex: ABC_0000.mxf, ABC_2222.mxf)
=> RegExp: ^ABC_\d\d\d\d\.mxf
a3) Syntax parts:
\w : "word character" (A-Z,a-z)
\d : "digit" (0-9)
\. : the "." character (needs to be "escaped" with a \, like other special-chars: * $ { } [ ] .)
[a-z] : any character in the char-set (a,b...,z).
[a-z]* : 0..N times "any character in the char-set (a,b,..,z)"
[a-z]{2,5} : 2..5 times "any character in the char-set (a,b,..,z)"
^ : The regular expression has to "hit" the beginning of the string
a4) For more info:
http://www.radsoftware.com.au/articles/regexlearnsyntax.aspx
3.) FileReadyDetectionLogic
3a) OSW.MXF-IMX.FileHasMxfFooter : MXF-file contains a valid footer;
therefore: High probability that the MXF-processing will work
3b) OSW.FileSizeNotGrowing : Checks if the size (in bytes) of the input-file
has not grown during the last 30+ seconds.
4.) "Actions":
4a) Fcn: OSW.MXF-IMX.PFE_ProcessAllFrames
FcnParam0: Mode-string(s)
REM:
4b) Fcn: OSW.CopyFile
FcnParam0: (not used)
REM: Transfer a COPY of the input-file to the output-file/location.
4c) Fcn: OSW.NoOperation
FcnParam0: (not used)
REM: No output-file is created; This action always returns "Success".
Therefore this action will invoke the fcns in the "OnSuccess"-Block.
4d) Fcn: OSW.FTPClient_Tx
FcnParam0: FTP_Host=myFtpServer.com; FTP_Username=myUserName; FTP_Password=myPwd; FTP_UseStandardProxy=false; FTP_ReadWriteTimeoutMs=600000
REM:
This fcn will try to transfer the input-file to a FTP-server.
4e) Useful 'text-variables'
e1) in XML-node <OutputFile_FileName>:
- @INPUTFILE_NAME@ : name (without extension) of input-file
- @INPUTFILE_FULLNAME@ : name (with extension) of input-file
e2) in XML-node <OutputFile_Folder>:
- @WATCHFOLDER_PATH@ : full path of main-watchfolder
- @SUBFOLDER_NAME@ : name of the subfolder where the input-file has been detected
5.) "OnSuccess", "OnFailure"
Depending on the completion status of the "Action"-fcn the watchfolder-logic
executes the additional steps that are defined in these tags.
5a) Empty-strings or missing-XML-tags mean: Do nothing!
5b) "InputFile_MoveToFolder": Do a "MOVE"-filesys-operation on this file
(=fast, but does only work within the same drive, filesystem-tree; Otherwise this operation will fail!)
5c) "InputFile_CopyToFolder": Do a "COPY"-filesys-operation on this file
(=slower, but works between 2 drives or even 2 servers)
5d) "InputFile_Delete": Run a "DELETE"-filesys-operation on this file
5e) "OutputFile_Rename": Optionally renames the output-file after the successful transfer of the
output-file into the OutputFile_Folder.
============================================================================
-->
<OSWMxfTool>
<WatchfolderConfig>
<Name>Demo
Watchfolder Config</Name>
<LogFolder>C:\OSWMxfTool\Log</LogFolder>
<RemoteCtrlPort>50000</RemoteCtrlPort>
<AutoShutdownMode>0</AutoShutdownMode>
<WatchfolderPath>C:\OSWMxfTool\Demo_Watchfolder</WatchfolderPath>
<WatchfolderSubfolders>
<Subfolder_0>@WTF_ROOT@</Subfolder_0>
</WatchfolderSubfolders>
<FileGroup_0>
<FileNamePattern>^[\w\d\s_-]*\.mxf</FileNamePattern>
<SubfolderNamePattern
/>
<FileReadyDetectionLogic>OSW.MXF-IMX.FileHasMxfFooter</FileReadyDetectionLogic>
<Action>
<Fcn>OSW.MXF-IMX.PFE_ProcessAllFrames</Fcn>
<FcnParam_0>CorrectETC,AspectRatioUseMxfHeaderAsRef,ForceAudioTo8x16,InputAudioIgnoreChannelValidFlags</FcnParam_0>
<OutputFile_FileName>@INPUTFILE_NAME@_out.mxf</OutputFile_FileName>
<OutputFile_Folder>C:\OSWMxfTool\Demo_Watchfolder_OUTPUT\OK\</OutputFile_Folder>
</Action>
<OnSuccess>
<InputFile_MoveToFolder
/>
<InputFile_CopyToFolder
/>
<InputFile_Delete>true</InputFile_Delete>
</OnSuccess>
<OnFailure>
<InputFile_MoveToFolder>C:\OSWMxfTool\Demo_Watchfolder_OUTPUT\NOK</InputFile_MoveToFolder>
<InputFile_CopyToFolder
/>
<InputFile_Delete>false</InputFile_Delete>
</OnFailure>
</FileGroup_0>
<FileGroup_1>
<FileNamePattern>^[\w\d\s_-]*\.xml</FileNamePattern>
<SubfolderNamePattern>subfolderB</SubfolderNamePattern>
<FileReadyDetectionLogic>OSW.FileSizeNotGrowing</FileReadyDetectionLogic>
<Action>
<Fcn>OSW.CopyFile</Fcn>
<FcnParam_0
/>
<OutputFile_FileName>@INPUTFILE_FULLNAME@</OutputFile_FileName>
<OutputFile_Folder>C:\OSWMxfTool\Demo_Watchfolder_OUTPUT\OK\</OutputFile_Folder>
</Action>
<OnSuccess>
<InputFile_CopyToFolder
/>
<InputFile_Delete>true</InputFile_Delete>
</OnSuccess>
<OnFailure>
<InputFile_MoveToFolder>C:\OSWMxfTool\Demo_Watchfolder_OUTPUT\NOK\</InputFile_MoveToFolder>
</OnFailure>
</FileGroup_1>
</WatchfolderConfig>
</OSWMxfTool>
Option: OSWMxfTool_Admin_UI (web/silverlight-based): Displays/ controls the activity of 1..N OSWMxfTool-agent-EXEs. ![]() Interested? Please contact Originate Software GmbH for additional information and license cost.
|
|||||||||||||||||