limecraft-tools is a command-line transfer and ingest application and is available for macos and Windows. The command-line application makes it possible to set up integrated workflows towards Limecraft Flow based on 3rd party applications such as Telestream Vantage, Root6 Content Agent or watchfolder applications. This makes it possible to connect to existing ingest and transcoding workflows.


Command-line Options


Ingest

The `ingest` command is used to ingest a single clip and associated artefacts in Flow.


Usage: ingest [options]


Ingest media to Limecraft Flow


Options:

-u, --user <s>Limecraft Flow username
-p, --password <s>Limecraft Flow password
--production <d>Limecraft Flow productionId or productionName to upload in.
--source <s>Path to original source
--skipUploadOnly create placeholder
--markForRemovalUploaded material is marked for removal after processing
--category <s>Collection category (by name)
--parentCollection <s>Use/create collection in this parent collection (by name)
--collection <s>Use/create collection (by name) to add media to
--skipIngestSkip ingest workflow on Limecraft Flow
--startWorkflow <s>Start one or more workflows after material has been uploaded to Limecraft Flow ("transcription") (default: [])
--language <s>Language to use in transcription
--waitForFileCompletionWait until file stops growing
--steadyStateCheckInterval <s>Interval to check if file is no longer growing
--steadyStateTimeThreshold <s>Minimal time a file needs to be in steady state (no longer growing)

-h, --help

output usage information


Watchfolder


The `watchfolder` command is used to monitor a folder and to ingest single clips in Flow that were dropped into this folder. Currently it is not possible to ingest associated artefacts through the watchfolder command.



Examples


Create placeholder for a clip:


In some workflows it is sufficient to create a representation or placeholder. In this scenario, the target clip is only probed and all technical characteristics of the clip are collected. Based on these file/clip characteristics, a placeholder is created in the Flow library. Neither the original nor the proxy will be uploaded. If desired, you can still upload the original file later.

$ limecraft-tools ingest --user=**** --password=**** --production=1 --source="./C0002.MXF"


Upload clip but mark for removal after material is processed on Limecraft Flow:


A common use case is uploading clips with the aim of creating a viewing proxy in Limecraft Flow. If you are not able to execute a proxy transcode first, you can immediately upload the original clip. The parameter `--type=RAW` is used to indicate that this is the original clip. Depending on the needs afterwards, one can decide whether or not to keep the original clip on Limecraft Flow. This is determined by the parameter `-markforRemoval`.


$ limecraft-tools ingest --user=**** --password=**** --production=1 --source="./C0002.MXF" --path="./C0002.MXF" --type=RAW --markForRemoval




Create placeholder for proxy:


Similar to the creation of a placeholder for the original clip, you can also choose to create a placeholder for the proxy. In this case, it is assumed that you have first transcoded the necessary proxies via a 3rd party application. The following parameters have to be given: `--type=PROXY` to indicate that it is a proxy. The `---skipUpload` makes sure that only a placeholder is created and that no file is loaded. The `profile=web` parameter indicates that it is a standard Flow viewing proxy (web).


$ limecraft-tools ingest --user=**** --password=**** --production=1 --source="./C0002.MXF" --path="./C0002.mp4" --type=PROXY --profile=web --skipUpload"



Create placeholder for aaf, will upload aaf but not the referenced mxf-files:


limecraft-tools also has the necessary support to set up AVID workflows. A 3rd party application can create the necessary AVID MXF files which can then be referenced in Flow. In this specific case it is important to upload the AAF created by the 3rd party application to Flow. This contains all important information regarding MOBids and other metadata. In a later phase a selection can then be exported from Flow and the Avid material can always be linked back to.


As in previous examples, reference should be made to the source material via the `--source` property. The `--path` property contains a reference to the AAF that was delivered by the 3rd party application. In this case, the `--type=EDL` property should indicate an AAF (which in the context of Limecraft products is seen as an Edit Decision List (EDL)) and `--profile=avid`. The order of these 3 parameters is so important that they apply to the element that is given with `--path`. Finally, setting the parameter `---skipUpload` ensures that the original files are not uploaded.


$ limecraft-tools ingest --user=**** --password=**** --production=1 --source="./C0002.MXF" --path="./C0002.aaf" --type=EDL --profile=avid --skipUpload"



Upload proxy and create placeholder for aaf:

Similar to the Avid example above, you can also choose to upload a proxy and provide a placeholder for the corresponding AAF (which refers to the Avid OPatom files). In the command below, you use the `--path` property twice, which refers to the proxy and the AAF respectively. The proxy is characterized by the `--type=PROXY` and `--profile=web`. The AAF by `--type=EDL` and `--profile=avid`. The `---skipUpload` ensures that the AAF is not to be uploaded but only a placeholder is created.


$ limecraft-tools ingest --user=**** --password=**** --production=1 --source="./C0002.MXF" --path="./C0002.mp4" --type=PROXY --profile=web --path="./C0002.aaf" --type=EDL --profile=avid --skipUpload



Upload proxy and start transcription:

In some workflows it is desirable to start a transcription or subtitle workflow after uploading the proxy. In this case, the proxy is first uploaded via the `--path` property. This property will point to a proxy via `--type=PROXY` and `--profile=web`. When the proxy is ingested on Limecraft Flow, you can start the transcription workflow using the `--startWorkflow=transcription`. The source language is given by `--language=fr` property. The codes for the language can be found at [TODO]. The used speech engine is the one that is configured in the production.


$ limecraft-tools ingest --user=**** --password=**** --production=1 --source="./C0002.MXF" --path="./C0002.mp4" --type=PROXY --profile=web --startWorkflow=transcription --language=fr



Installation


Download the limecraft-tools tar archive for your OS and then extract the archive file at an appropriate location. Depending on the use case where limecraft-tools is used, limecraft-tools should be installed in a location where it can be accessed by other applications. At the same time, if limecraft-tools need to upload files from external storage, they should also be accessible.


Install as a Window Service

The watchfolder is installed as a windows service based on the NSSM tool (https://nssm.cc/)


  • install the nssm tool on your windows machine
  • start the tool via the commandline with the following command


nssm install <servicename>


or to edit


nssm edit <servicename>



Add the path to the Limecraft-tools executable to NSSM



If you need to connect to a NAS with a certain user you can add the user credentials to the Log on tab. By default, the service is executed as localsystem



If you want to log the output of the service to an application log you can configure the service to redirect the output to a file via the I/O tab. Redirect both stdout en stderr to a log file



Integrations


Limecraft-tools was designed to integrate with 3rd party applications. In the most common use case a 3rd party application takes care of the transcoding of Avid material or proxies which then need to be uploaded to Limecraft Flow. At the same time, limecraft-tools allows more advanced workflows such as starting Limecraft FLow workflows like transcription or subtitling.


Telestream Vantage

Telestream Vantage allows you to add a "Notify Action" to the workflow configuration. According to the Telestream Vantage documentation, the Notify action transfers job information to external systems via Web Services or other methods and can be used to invoke a command shell. This action is Open Workflow capable if the Open Workflows license is installed.


Hazel (macos)

Hazel (https://www.noodlesoft.com/) Hazel is available on macos and is a watchfolder application that watches whatever folders you tell it to and executes actions according to the rules you create. Hazel can be used to set up watchfolder based workflows and to integrate limecraft tools as an upload tool.


![image](https://www.noodlesoft.com/images/manual/hazel/593x250xEmbeddedShellScript.png.pagespeed.ic.NYFgC2d9N7.webp)