Load Photoshop Selective Color ASV in FFmpeg
This article explains how to apply Photoshop’s Selective Color
presets directly to your videos using FFmpeg. You will learn the exact
command-line syntax required to load a .asv preset file
into FFmpeg’s selectivecolor video filter, enabling
consistent color grading between your image editing and video production
workflows.
To load a Photoshop Selective Color (.asv) file in
FFmpeg, you must use the selectivecolor video filter with
the psfile option. This option reads the color correction
coordinates directly from the exported Photoshop preset file and applies
them to the video frames.
Step 1: Export the .asv File from Photoshop
- Open Photoshop and create a Selective Color adjustment layer.
- Adjust the colors (Reds, Yellows, Greens, Cyans, Blues, Magentas, Whites, Neutrals, Blacks) to your liking.
- In the Properties panel of the Selective Color adjustment, click the properties menu icon (four horizontal lines) in the top-right corner.
- Select Save Selective Color Preset… and save the
file. It will have a
.asvextension (e.g.,my_preset.asv).
Step 2: Use the FFmpeg Command
Once you have the .asv file, pass it to the
selectivecolor filter using the psfile
parameter.
Here is the basic command template:
ffmpeg -i input.mp4 -vf "selectivecolor=psfile='path/to/preset.asv'" -c:a copy output.mp4Command Breakdown:
-i input.mp4: Specifies the source video file.-vf: Flags the use of a video filter graph.selectivecolor=psfile='path/to/preset.asv': Calls the selective color filter and defines the path to your Photoshop preset file.-c:a copy: Copies the audio stream without re-encoding to save time and maintain quality.output.mp4: The path for the newly color-graded output video.
Handling File Paths with Spaces
If your file path or filename contains spaces, ensure you wrap the path in escaped single quotes or double quotes depending on your operating system shell. For example:
ffmpeg -i input.mp4 -vf "selectivecolor=psfile='C\:/Presets/My Color Preset.asv'" output.mp4(Note: On Windows, you may need to escape the drive colon with a
backslash \: as shown above to prevent FFmpeg from parsing
it as a filter separator.)