Load Photoshop ASV Files in FFmpeg Selectivecolor
This guide explains how to import and apply Adobe Photoshop Selective
Color preset files (.asv) directly into FFmpeg using the
selectivecolor video filter. By utilizing the built-in
psfile option, you can replicate complex Photoshop color
grading profiles across your video footage without manually copying
individual CMYK adjustment values.
The Basic Command
FFmpeg natively supports Photoshop Selective Color presets through
the psfile parameter within the selectivecolor
filter. To apply an .asv file to a video, use the following
syntax:
ffmpeg -i input.mp4 -vf "selectivecolor=psfile=preset.asv" -c:a copy output.mp4Command Breakdown
-i input.mp4: Specifies the input video file.-vf "selectivecolor=psfile=preset.asv": Calls the video filter and loads the path to your.asvfile.-c:a copy: Copies the audio stream without re-encoding to preserve quality and speed up processing.output.mp4: The resulting color-graded output file.
Handling File Paths and Escaping
If your .asv preset file is in a different directory,
contains spaces, or uses special characters (such as colons or
backslashes on Windows), ensure the path is properly escaped or enclosed
in quotes:
Linux / macOS:
ffmpeg -i input.mp4 -vf "selectivecolor=psfile='/path/to/my preset.asv'" -c:a copy output.mp4Windows:
ffmpeg -i input.mp4 -vf "selectivecolor=psfile='C\:/presets/my_preset.asv'" -c:a copy output.mp4Note: On Windows, colons after drive letters must be escaped with
a backslash (\:), and standard forward slashes
(/) should be used for directory separation to avoid filter
parsing errors.
Combining with Other Adjustments
You can override or supplement specific color ranges from the preset by chaining manual values directly inside the same filter. For example, if you want to use the preset but force a neutral black adjustment:
ffmpeg -i input.mp4 -vf "selectivecolor=psfile=preset.asv:blacks='0 0 0 0.1'" -c:a copy output.mp4Compatibility Requirements
- The preset file must be a valid Adobe Photoshop Selective Color file
with the
.asvextension. Curves files (.acv) will not work with this filter (use thecurvesfilter instead for.acv). - Ensure your FFmpeg build has
libavfilterenabled, which is standard in virtually all modern releases.