This document explains how to use the Windows, Mac and Linux command-line applications to process video files. Windows and Mac solutions rely on the Perfectly Clear Desktop Video application. The Linux solution is a script that calls ffmpeg.
The video CLI is part of the Desktop Video application, so download, install and activate that first. Once installed, you can run the CLI from a command prompt (Windows) or terminal (Mac). The basic usage pattern is:
Perfectly Clear Video.exe -i input.mp4 -o output.mp4or on Mac:
"./Perfectly Clear Video.app/Contents/MacOS/Perfectly Clear Video" -i input.mp4 -o output.mp4
This will process the input video file and save the output to the specified location. The correction process can be controlled with the follow:
-i, --input <input_file>: Specifies the input video file path.-o, --output <output_file>: Specifies the output video file path.-s, --strength <NUMBER>: (Optional) Strength of the overall correction, 0 to 100.-w, --wb <NUMBER>: (Optional) Strength of the White Balance or color correction, 0 to 100.-d, --divider <NUMBER>: (Optional) Correct only part of the video. 0 = none of the video, 50 = left half is unprocessed, right half is corrected.-k, --skip <NUMBER>: (Optional) Sets how many frames to skip between detections. Larger numbers will speed processing and will help smooth flicker that can be visible due to frame-to-frame lighting differences. 0 to 100, default = 4.These solutions rely on OpenGL to perform the video processing, and use the Perfectly Clear Desktop Video for decoding and encoding.
The Linux solution is a script that calls ffmpeg to process a video. This is a custom version of ffmpeg that has been built with the Perfectly Clear Video filter. This can be customized for the specific versions of ffmpeg and CUDA that you require. The usage pattern is:
./PfCVideo.sh -i input.mp4 -o output.mp4
This will process the input video file and save the output to the specified location. The correction process can be controlled with the follow:
-i <input_file>: Specifies the input video file path.-o <output_file>: Specifies the output video file path.-s <NUMBER>: (Optional) Strength of the overall correction, 0 to 100.-w <NUMBER>: (Optional) Strength of the White Balance or color correction, 0 to 100.-d <NUMBER>: (Optional) Correct only part of the video. 0 = none of the video, 50 = left half is unprocessed, right half is corrected.-k <NUMBER>: (Optional) Sets how many frames to skip between detections. Larger numbers will speed processing and will help smooth flicker that can be visible due to frame-to-frame lighting differences. 0 to 100, default = 4.The linux solution uses ffmpeg for decoding and encoding - so any video format supported by ffmpeg can be processed. The video processing is applied on the NVidia GPU and is CUDA-accelerated. The PfCVideo.sh script can be edited to modify the any aspect of the encoding, or to include within other ffmpeg processing.
This was build from 47a64ee9cae85edd3ef1210a105aef83f17516dd on Fri 10-24-2025 16:33