How it works

Inside the encoding pipeline

This page covers the specifications for GPU parallel processing, distributed encoding, splitting and CPU fallback, folder watch, always-on service operation and external notifications.

Processing on a single node

How parallel jobs are allocated per GPU

Each GPU runs as many jobs at once as its parallel job setting allows, and the next job is assigned each time one finishes. Faster GPUs finish more jobs, so performance differences between GPUs even out automatically.

Video engine count as a guide for parallel jobsThe number of parallel jobs is set for each GPU, using its video engine count as a guide.
Recommended values from actual measurementThe built-in benchmark measures each parallel job count while increasing and then decreasing the count, and recommends a value for each GPU and for the CPU.
Mixing GPUs from different vendorsNVIDIA, Intel and AMD GPUs can be used at the same time. Integrated graphics on the CPU count as a GPU as well.
The Encoding settings page, where parallel jobs are set for each GPU.
The Encoding page in Settings. Parallel jobs are set for each GPU.
Distributed encoding

Sharing jobs across several PCs

The controller PC holds the queue, and each agent PC requests a job as soon as it is ready for one. Even when the PCs differ in performance, jobs never pile up on a slow PC. The Encoding cluster page covers the setup, job assignment and failure handling in detail.

Splitting and fallback

File split, frame split and CPU fallback

Two kinds of splitting speed up a single file, and CPU fallback handles what the GPU cannot.

File split

A long file is split along the time axis and encoded in several processes at once. It is used when enabled in the settings, where you can choose to split only when no jobs are waiting and a parallel job slot is free, or to always split.

Not used for jobs processed on the CPU or jobs with trimming or burned-in subtitles.

Frame split

A single frame is divided into horizontal strips and processed by several video engines at once. Only the encoding stage itself is accelerated.

Available only on NVIDIA GPUs when the codec is HEVC or AV1.

CPU fallback

Formats that the GPU does not support, and resolutions above its limit, are identified before the run and assigned to the CPU. If GPU processing fails because of the GPU session limit, lack of GPU support or an unknown cause, the job is retried once on the CPU. Corrupted input files and insufficient disk space are not covered by CPU fallback.

CPU fallback is always shown on screen and in the log.

Automatic file import

Automatic conversion through folder watch

When a video is placed in a watched folder, it is converted automatically with the preset assigned to that folder. The preset and the output folder can be set per watched folder.

Skipping files still being written

A file is added only after its size has stopped changing, no other process has it open and its contents can be read. Files that cannot be checked are not added.

Preventing the same file from being added twice

Added files are recorded by path, size and date modified, so the same file is not added again. A file whose size or date modified changes is treated as a new file. If "Re-import" is on for a watched folder, a file that was moved, moved to the Recycle Bin or deleted after encoding is removed from the record and is added again when you put it back. A file removed from the queue before conversion is dropped from the record and added again on the next scan. To delete the whole record, use Encode > Clear Imported File Record.

What happens to the source file

For each watched folder you can choose to leave the source in place, move it to the processed folder, move it to the Recycle Bin or delete it. The action runs only when the conversion succeeds and the output check finds no problem. While NyXGridEncode runs as a Windows service, moving to the Recycle Bin is not available.

Excluding the output folder

The output folder and everything below it are excluded from import.

The folder watch settings page, listing the watched folders.
Several watched folders can be added, each with its own preset, output folder, source file handling, and Re-import and Folder Structure settings.
Unattended operation

Always-on service operation

Registered as a Windows service, NyXGridEncode starts with Windows and keeps converting even when no one is signed in. Closing the window does not stop conversion.

Service (encoding)Runs even when no one is signed in. Saves the queue, watches folders, accepts agent connections and prevents sleep. Restarts automatically after an unexpected exit.
Window (monitoring and control)Shows the status and issues the commands to add files to the queue and start encoding. Encoding continues after it is closed.

* Without the service, exiting NyXGridEncode stops the conversion in progress. The interrupted file is converted again from the start the next time you start encoding.

The service settings page.
The Service page in Settings, with the Register, Delete and Restart buttons.
Requirements for registering the service
  • Administrator rights. Registering from Settings shows a User Account Control prompt. To register from the command line, use a Command Prompt opened as administrator.
  • The required external tool (FFmpeg) has been downloaded.
  • For modes other than Agent, a Standard or higher license has been registered.

If any requirement is not met, the service is not registered.

The service runs with LocalSystem privileges, so do not register it in a location where users other than administrators can modify the executable or the tools folder.

External notifications

Completion and error alerts by chat and email

NyXGridEncode sends a notification to an external service when an event such as queue completion or a job failure occurs. Available in the Pro edition and higher.

Destinations

LINESends through the LINE Messaging API to the specified user, group or room.
DiscordSends to the webhook URL created in the channel settings.
SlackSends to the incoming webhook URL created in your Slack app.
WebhookSends a JSON POST request to the specified URL. Use it to integrate with other systems.
EmailSends from the specified SMTP server, encrypted with STARTTLS or SSL/TLS.

Events

Queue finishedWhen all items in the queue have finished. The numbers of completed and failed items are sent.
Job failedWhen a job fails and is not retried automatically. The input and output paths, the node and the reason are sent.
Job stalledWhen a job is stopped because of a stall and then fails.
Agent disconnectedWhen an agent that stopped responding is disconnected. This is not sent for an agent that stops normally.
Agent auto stoppedWhen an agent notifies the controller that it is stopping for auto shutdown. Off by default.
Auto ShutdownJust before a PC in Standalone mode or the controller performs auto shutdown after the queue finishes. Off by default.
Batched failure noticesChoose whether job failures are sent individually or batched every 5 minutes.

For details on the settings and what is sent, see User manual: External notifications.