Working with Workers
As the name implies, workers do the work that needs to be done - encoding media. The machine may be configured to have several one worker or several workers, each one performing a specific encoding task.
Each worker may be configured independently in the "Workers" tab: 
In this tab you can change:
Create and Delete Workers
To create a new worker, simply click the "New Worker" button. After the worker has been created you can change its name by typing a new name in the text box labeled "Name".
To delete a worker:
- Select the worker you want to delete in the "Selected Worker" drop-down box in the toolbar.
- Click the "Delete Worker" button.
- Confirm worker deletion in the confirmation dialog.
A worker can be temporarily disabled, meaning, it exists but it is not working. To disable a worker:
- Select the worker you want to delete in the "Selected Worker" drop-down box in the toolbar.
- Uncheck the "Enabled" checkbox.
Configuring a Worker Workflow
Each worker has a set of directories associated with it, where the media to be processed should be placed. The worker will start working as soon as there is a new file available.
Any new media file placed in the "Input" directory will follow the workflow described in the diagram shown below:

According to the diagram, a new media file will be moved to the "Processed" directory (in case of success), or it will be moved to the "Error" directory (when there is an error). A new file will also be created in the "Encoded" directory, if the encoding was successful.
The "Files" section, in the "Workers" tab indicates the directories associated with the currently selected worker in the "Selected Worker" drop-down box in the toolbar: Input Queue Folder
The worker is monitoring this directory and will start working as soon as there is a new file in this watch folder. All your application has to do is place all the files that need to be encoded in this directory.
Encoded Files Folder
After the encoded process has finished, the resulting file(s) will be created here. The resulting files may include a JPEG image thumbnail. Processed Files Folder
The media files that were encoded with success will be moved to this directory (from the "Input" directory). Error Files Folder
The media files that could not be encoded due to some error will be moved to this directory (from the "Input" directory). You can see the error message in the Windows Event Viewer under Application.
Delete After Processed
If this checkbox is checked then media files after being successfully processed will be deleted instead of being moved to the "Processed" directory.
Warning: be very careful when using this option - make sure you have a backup of your media files.
Delete If Error
If this checkbox is checked then media files that generated an error will be deleted instead of being moved to the "Error" directory.
Warning: be very careful when using this option - make sure you have a backup of your media files.
Encoding Config
This is the configuration file that determines all the encoding settings for the currently selected worker: video codec, audio codec, bitrate, framerate, encoding method, etc. There are a set of files included with the Machine inside the directory
C:\Program Files\Web Video Machine\presets
which you can use for the most common encoding settings.
These settings files are standard XML files whose format is documented inside one of the files: Default.settings which can be opened by any text editing software. Alternatively, these settings files can be opened and edited by Turbine Video Encoder. Having Several Workers Working Together
Sometimes it is very useful to have several workers running at the same time: for instance, you may want to encode to more than one format.
As a practical example, suppose you want to encode your media to two different formats: FLV and F4V. You would create two different workers, one for each format you want to encode:
- "FLV Worker" will encode the media to FLV.
- "H264 Worker" will encode the media to F4V.
The first worker will have a standard workflow where you have an "Input" directory and the worker will move the media to the "Processed" directory as it encodes all the media:
Configuration |
Settings for "FLV Worker" |
| Input Directory |
Input |
| Processed Directory |
Input_F4V |
| Encoded Directory |
FLV |
| Error Directory |
FLV_Error |
| Encoding Config file |
FLV_Default.settings |
The second worker "H264 Worker" will have to be plugged to the "FLV Worker" by the following directory structure:
Configuration |
Settings for "F4V Worker" |
| Input Directory |
Input_F4V |
| Processed Directory |
Done |
| Encoded Directory |
F4V |
| Error Directory |
F4V_Error |
| Encoding Config file |
ISO_HighQuality.settings |
Notice that the "Processed" directory of the "FLV Worker" is the same "Input" directory of the "F4V Worker": "Input_F4V". Meaning that the "F4V Worker" will start working only after the "FLV Worker" has finished encoding a file with success.
General Worker Settings
In the "General" section of tab "Workers" you have more settings associated with the currently selected worker:
Encoding Process Priority
Each worker will be running in its own process and therefore you can choose its process priority:
- Lowest - the lowest priority a process can run.
- Below Normal.
- Normal - priority set to any new process. This is the default.
- Above Normal.
- Highest - the highest priority a process can run.
Encoding Process Affinity
For multicore CPU architectures, you can choose which core a worker will use. Just click the "Change Affinity" button and check the CPUs the worker will be allowed to execute on.
Polling Interval
Value in milliseconds which tells the machine the interval which it should sleep before checking if there is any new file available for encoding in the "Input" directory.
Process Timeout
The Machine is constantly monitoring its workers to see if everything is running without any kind of problems. One of these methods is to check if the process hasn't timeouted. A timeout happens when the process is active and the encoded file doesn't change for a certain amount of time.
This value is measured in milliseconds. A value of -1 means infinite, and therefore it never timeouts.
Maximum Video Duration
Sometimes you want to have a maximum video duration: for instance, if a video duration is two hours, you want to encode just the first 10 minutes.
This value is measured in milliseconds. A value of -1 means infinite, and therefore it will always encode the entire media. |