### Complete Transcoding Example with VCEEncC
Source: https://context7.com/rigaya/vceenc/llms.txt
Provides comprehensive examples of full transcoding, preserving all metadata, tracks, and chapters, while encoding video with advanced quality settings. Includes examples for high-quality HEVC encoding with various filters.
```bash
VCEEncC -i "input.mkv" -c hevc --vbr 12000 --pa lookahead=32,sc=high \
--colormatrix auto --transfer auto --colorprim auto --chromaloc auto \
--max-cll copy --master-display copy --dhdr10-info copy --dolby-vision-rpu copy \
--video-metadata copy --audio-copy --audio-metadata copy \
--sub-copy --sub-metadata copy --data-copy --attachment-copy --chapter-copy \
-o output.mkv
```
```bash
VCEEncC --avhw -c hevc --output-depth 10 --vbr 15000 --preset slow \
--pa sc=high,ss=high,lookahead=40,paq=caq,taq=2 \
--vpp-knn radius=3,strength=0.06 \
--vpp-unsharp weight=0.3 \
--audio-copy --sub-copy \
-i input.mkv -o output.mkv
```
--------------------------------
### Install VCEEncC on Ubuntu 24.04
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Installs the VCEEncC application on Ubuntu 24.04 by downloading and installing a .deb package. Replace 'x.xx' with the actual version number of the desired release.
```Shell
sudo apt install ./VCEEncC_x.xx_Ubuntu24.04_amd64.deb
```
--------------------------------
### Install GPU Utilities for Verification on Ubuntu
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Installs `vulkan-utils` and `clinfo` packages on Ubuntu. These tools are used to check if the GPU is recognized by the system and supports OpenCL and Vulkan, which are required for VCEEncC.
```Shell
sudo apt install vulkan-utils clinfo
```
--------------------------------
### Build and Install VapourSynth
Source: https://github.com/rigaya/vceenc/blob/master/Build.en.md
Clones, configures, and compiles the VapourSynth library, including creating necessary symbolic links for Python integration.
```Shell
git clone https://github.com/vapoursynth/vapoursynth.git
cd vapoursynth
./autogen.sh
./configure
make -j16
sudo make install
sudo ln -s /usr/local/lib/python3.x/site-packages/vapoursynth.so /usr/lib/python3.x/lib-dynload/vapoursynth.so
sudo ldconfig
```
--------------------------------
### Install VapourSynth Build Dependencies
Source: https://github.com/rigaya/vceenc/blob/master/Build.en.md
Installs the necessary system packages and Python tools required to compile VapourSynth from source.
```Shell
sudo apt install python3-pip autoconf automake libtool meson
sudo pip3 install Cython
```
--------------------------------
### Basic H.264, HEVC, and AV1 Encoding Commands
Source: https://context7.com/rigaya/vceenc/llms.txt
Demonstrates fundamental VCEEnc commands for encoding video using H.264, HEVC, and AV1 codecs with hardware acceleration. Includes examples for constant quantization (CQP) and variable bitrate (VBR) modes. The '--avhw' flag enables hardware decoding.
```bash
VCEEncC --avhw -i input.mp4 -o output.mp4
VCEEncC --avhw -c hevc --cqp 23 -i input.mp4 -o output.mp4
VCEEncC --avhw -c av1 --vbr 5000 -i input.mp4 -o output.mkv
VCEEncC --check-features
```
--------------------------------
### Install AMD Graphics Driver on Ubuntu 24.04
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Installs the AMD Graphics driver and OpenCL support on Ubuntu 24.04 using a downloaded .deb package. This is a prerequisite for using VCEEncC on this OS.
```Shell
wget https://repo.radeon.com/amdgpu-install/25.35.1/ubuntu/noble/amdgpu-install_7.2.1.70201-1_all.deb
sudo apt-get install ./amdgpu-install_7.2.1.70201-1_all.deb
sudo apt-get update
sudo amdgpu-install -y --opencl=rocr
```
--------------------------------
### Configure Audio Stream Channel Mapping
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Examples of using --audio-stream to separate, merge, or downmix audio channels. This allows for complex routing from input tracks to output formats.
```bash
--audio-stream FR,FL
--audio-stream :stereo
--audio-stream 2?5.1,5.1:stereo
```
--------------------------------
### Metadata and Track Copying
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Example of encoding while preserving all original metadata, chapters, and audio/subtitle tracks.
```Batchfile
VCEEncC -i "" --colormatrix auto --transfer auto --colorprim auto --chromaloc auto --max-cll copy --master-display copy --dhdr10-info copy --dolby-vision-rpu copy --video-metadata copy --audio-copy --audio-metadata copy --sub-copy --sub-metadata copy --data-copy --attachment-copy --chapter-copy -o output.mkv
```
--------------------------------
### Extract Audio to File
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Examples of using --audio-file to extract specific audio tracks to a file path. Supports automatic format detection or explicit format specification.
```bash
--audio-file 2?"test_out2.aac"
--audio-file 2?adts:"test_out2"
```
--------------------------------
### Set Audio Track Disposition
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Example of using --audio-disposition to set metadata flags like 'default' or 'forced' for a specific audio track.
```bash
--audio-disposition 2?default,forced
```
--------------------------------
### Apply Audio Filters
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Examples of using --audio-filter to apply FFmpeg-compatible audio filters to specific tracks. Useful for volume adjustment or other signal processing.
```bash
--audio-filter volume=0.2
--audio-filter 2?volume=-4db
```
--------------------------------
### Set Keyframes from File
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Specifies keyframes on frames using frame IDs listed in a file. Each line in the file should contain a single frame ID, starting from 0.
```bash
--keyfile
```
--------------------------------
### Set Audio Sampling Frequency
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Examples of using --audio-samplerate to convert audio tracks to a specific frequency in Hz. Supports targeting specific tracks by index or language.
```bash
--audio-samplerate 44100
--audio-samplerate 2?22050
```
--------------------------------
### Apply Custom libplacebo Shader
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Demonstrates how to apply a custom GLSL shader using the --vpp-libplacebo-shader flag, including resolution scaling.
```bash
--vpp-libplacebo-shader shader=default-shader-pack-2.1.0\Anime4K_Upscale_CNN_x2_L.glsl,res=2560x1440
```
--------------------------------
### Create OpenCL Symbolic Link on Ubuntu
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Creates a symbolic link for `libOpenCL.so` if it is missing but `libOpenCL.so.1` exists. This is a troubleshooting step for the 'Failed to load OpenCL' error when running VCEEncC.
```Shell
sudo ln -s /lib/x86_64-linux-gnu/libOpenCL.so.1 /lib/x86_64-linux-gnu/libOpenCL.so
```
--------------------------------
### Build VCEEncC
Source: https://github.com/rigaya/vceenc/blob/master/Build.en.md
Clones the VCEEnc repository and uses the Meson build system to compile the VCEEncC executable.
```Shell
git clone https://github.com/rigaya/VCEEnc --recursive
cd VCEEnc
meson setup ./build --buildtype=release
meson compile -C ./build
./build/vceencc --check-hw
```
--------------------------------
### Seek in Video Stream
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Sets the start or end time for transcoding. Seeking is fast but potentially inaccurate compared to frame-based trimming.
```bash
--seek 0:01:15.400
--seekto 75.4
```
--------------------------------
### Enable libplacebo Support (Boolean)
Source: https://github.com/rigaya/vceenc/blob/master/meson_options.txt
This option controls the enablement of libplacebo support. Setting it to true allows VCEEnc to leverage libplacebo for advanced video scaling and processing.
```configuration
option('enable_libplacebo', type: 'boolean', value: false, description: 'Enable libplacebo support')
```
--------------------------------
### Apply Edge Level Adjustment
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Examples of using the edge level adjustment filter to sharpen edges, including specific settings for strength, threshold, and black-level enhancement.
```bash
--vpp-edgelevel strength=10.0,threshold=16.0,black=0,white=0
--vpp-edgelevel strength=5.0,threshold=24.0,black=6.0
```
--------------------------------
### Pre-Analysis Options (--pa)
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Enables pre-analysis to enhance video quality, primarily supporting VBR mode. It includes parameters for scene change detection sensitivity, static scene detection sensitivity, activity calculation mode, Content Adaptive Quantization (CAQ) strength, initial QP after scene change, skip frame threshold for static scenes, lookahead buffer size, automatic LTR frame management, Perceptual AQ mode, Temporal AQ mode, and high motion quality boost mode.
```APIDOC
## --pa
### Description
Enable pre analysis to enhance quality, supports VBR mode only. (default: off)
### Parameters
#### Query Parameters
- **sc** (string) - Optional - Sensitivity of scene change detection (none, low, medium, high)
- **ss** (string) - Optional - Sensitivity of static scene detection (none, low, medium, high)
- **activity-type** (string) - Optional - Block activity calculation mode (y, yuv)
- **caq-strength** (string) - Optional - Content Adaptive Quantization (CAQ) strength (low, medium, high)
- **initqpsc** (int) - Optional - Initial qp after scene change (default: -1 = auto)
- **fskip-maxqp** (int) - Optional - Threshold to insert skip frame on static scene. (default: 35)
- **lookahead** (int) - Optional - Lookahead buffer size.
- **ltr** (bool) - Optional - Enable automatic LTR frame management.
- **paq** (string) - Optional - Perceptual AQ mode (none, caq)
- **taq** (int) - Optional - Temporal AQ mode (0, 1, 2)
- **motion-quality** (string) - Optional - High motion quality boost mode (none, auto)
### Request Example
```
--pa sc=high,ss=high,activity-type=yuv,paq=caq,taq=on,lookahead=32
```
```
--------------------------------
### Pipe Input and FFmpeg Integration with VCEEncC
Source: https://context7.com/rigaya/vceenc/llms.txt
Demonstrates how VCEEncC can be integrated into complex processing pipelines using standard input/output pipes, particularly with FFmpeg. Supports Y4M and raw video pipe inputs, and piping VCEEncC output to FFmpeg.
```bash
ffmpeg -y -i "input.mkv" -an -pix_fmt yuv420p -f yuv4mpegpipe - | VCEEncC --y4m -i - -o "output.mp4"
```
```bash
ffmpeg -y -i "input.mkv" -codec:a copy -codec:v rawvideo -pix_fmt yuv420p -f nut - | VCEEncC --avsw -i - --audio-codec aac -o "output.mp4"
```
```bash
VCEEncC -i "input.mp4" --vpp-resize 1920x1080 --audio-copy -c raw --output-format nut -o - | ffmpeg -y -f nut -i - -c:v libx264 -o output.mp4
```
```bash
avs2pipemod -y4mp "script.avs" | VCEEncC --y4m -i - -o "output.mp4"
```
--------------------------------
### Set Video Format (--videoformat)
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Specifies the video format. Accepted values are 'undef', 'ntsc', 'component', 'pal', 'secam', and 'mac'.
```bash
--videoformat
undef, ntsc, component, pal, secam, mac
```
--------------------------------
### Constant Quantization (--cqp)
Source: https://context7.com/rigaya/vceenc/llms.txt
Configures constant quantization (QP) for consistent quality encoding, allowing explicit QP values for I, P, and B frames. Lower QP values result in higher quality. This mode is useful for achieving a target quality level rather than a specific bitrate.
```bash
VCEEncC --avhw --cqp 24 -i input.mp4 -o output.mp4
VCEEncC --avhw --cqp 20:22:24 -c hevc -i input.mp4 -o output.mp4
VCEEncC --avhw --cqp 18:20:22 -c h264 --preset slow -i input.mp4 -o output.mp4
```
--------------------------------
### Basic Video Encoding Commands
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Standard usage patterns for VCEEncC, including basic file conversion and hardware-accelerated decoding.
```Batchfile
VCEEncC.exe [Options] -i -o
VCEEncC --avhw -i "" -o ""
VCEEncC --avhw --interlace tff -i "" -o ""
VCEEncC -i "" -o ""
```
--------------------------------
### Workaround for AMF Userspace Issues on Ubuntu 24.04
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Replaces the default AMF userspace packages with a specific older generation (6.4.4 / 25.10) to resolve encoder initialization failures on certain Ubuntu 24.04 + RADV environments. This involves downloading, removing existing packages, installing the older versions, and holding them to prevent automatic updates.
```Shell
mkdir -p ~/amf-6.4.4
cd ~/amf-6.4.4
wget https://repo.radeon.com/amdgpu/6.4.4/ubuntu/pool/proprietary/a/amdgpu-pro-core/amdgpu-pro-core_25.10-2203192.24.04_all.deb
wget https://repo.radeon.com/amdgpu/6.4.4/ubuntu/pool/proprietary/liba/libamdenc-amdgpu-pro/libamdenc-amdgpu-pro_25.10-2203192.24.04_amd64.deb
wget https://repo.radeon.com/amdgpu/6.4.4/ubuntu/pool/proprietary/a/amf-amdgpu-pro/amf-amdgpu-pro_1.4.37-2203192.24.04_amd64.deb
sudo apt remove --purge -y amf-amdgpu-pro libamdenc-amdgpu-pro
sudo apt install -y --allow-downgrades \
./amdgpu-pro-core_25.10-2203192.24.04_all.deb \
./libamdenc-amdgpu-pro_25.10-2203192.24.04_amd64.deb \
./amf-amdgpu-pro_1.4.37-2203192.24.04_amd64.deb
sudo apt-mark hold amdgpu-pro-core libamdenc-amdgpu-pro amf-amdgpu-pro
```
--------------------------------
### Configure User Groups for OpenCL on Ubuntu
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Adds the current user to the 'render' and 'video' groups, which is necessary for OpenCL operations and potentially for VCEEncC to access GPU hardware. A reboot is required for these changes to take effect.
```Shell
# OpenCL
sudo gpasswd -a ${USER} render
sudo gpasswd -a ${USER} video
sudo reboot
```
--------------------------------
### Multi-GPU and Parallel Encoding with VCEEncC
Source: https://context7.com/rigaya/vceenc/llms.txt
Explains how to utilize multiple AMD GPUs for encoding by specifying the device ID and how to enable parallel encoding to increase throughput. Includes checking available hardware devices.
```bash
VCEEncC --device 0 --avhw -i input.mp4 -o output.mp4
```
```bash
VCEEncC --device 1 --avhw -i input.mp4 -o output.mp4
```
```bash
VCEEncC --avhw --parallel auto -i long_video.mp4 -o output.mp4
```
```bash
VCEEncC --avhw --parallel 3 -i input.mp4 -o output.mp4
```
```bash
VCEEncC --check-hw
```
--------------------------------
### Check GPU Recognition Status with clinfo and vulkaninfo
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Executes `clinfo` and `vulkaninfo --summary` commands to verify that the AMD GPU is correctly recognized by the system for OpenCL and Vulkan. This is a crucial step before using VCEEncC.
```Shell
# Check GPU recognition status with OpenCL
clinfo
# Check GPU recognition status with Vulkan
vulkaninfo --summary
```
--------------------------------
### --chapter
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Configures chapter markers using external files in Nero, Apple, or Matroska formats.
```APIDOC
## --chapter
### Description
Imports chapter information from a file. Supported formats include Nero, Apple (XML), and Matroska (XML).
### Parameters
- **file_path** (string) - Required - Path to the chapter file.
### Request Example
--chapter "chapters.xml"
```
--------------------------------
### VPP libplacebo Shader Configuration
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Applies custom GLSL shaders using libplacebo for advanced video processing and upscaling.
```APIDOC
## --vpp-libplacebo-shader
### Description
Apply custom shaders in the specified path using libplacebo.
### Parameters
- **shader** (string) - Required - Target shader file path (.glsl).
- **res** (int x int) - Optional - Output resolution of the filter.
- **colorsystem** (string) - Optional - Color system (auto, bt709, bt2020nc, etc).
- **transfer** (string) - Optional - Output transfer function (pq, hlg, linear, etc).
- **resampler** (string) - Optional - Filter function for resampling.
- **radius** (float) - Optional - Function radius (0.0-16.0).
- **clamp** (float) - Optional - Clamping coefficient (0.0-1.0).
- **taper** (float) - Optional - Taper coefficient (0.0-1.0).
- **blur** (float) - Optional - Blur coefficient (0.0-100.0).
- **antiring** (float) - Optional - Antiringing strength (0.0-1.0).
- **linear** (bool) - Optional - Linearize image before processing.
### Request Example
--vpp-libplacebo-shader shader=Anime4K_Upscale.glsl,res=2560x1440
```
--------------------------------
### Apply Video Debanding Filters
Source: https://context7.com/rigaya/vceenc/llms.txt
Demonstrates various debanding techniques using VCEEncC, including standard range-based debanding, blur-preprocessed debanding, and high-quality libplacebo-based processing.
```bash
VCEEncC --avhw --vpp-deband range=15,thre=15,dither=15 -i banded.mp4 -o output.mp4
VCEEncC --avhw --vpp-deband range=31,thre=20,dither=12,blurfirst -i banded.mp4 -o output.mp4
VCEEncC --avhw --vpp-libplacebo-deband iterations=1,threshold=4.0,radius=16.0,grain_y=6.0 -i banded.mp4 -o output.mp4
VCEEncC --avhw --vpp-deband range=31,dither=12,rand_each_frame -i banded.mp4 -o output.mp4
```
--------------------------------
### Enable Pre-Analysis for Quality Enhancement (--pa)
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Enables pre-analysis to enhance video quality, primarily supporting VBR mode. It offers several parameters to fine-tune scene change detection, quantization, and motion quality. The default is off.
```bash
--pa sc=,ss=,activity-type=,paq=,taq=,lookahead=,ltr=,initqpsc=,fskip-maxqp=,caq-strength=,motion-quality=
--pa sc=high,ss=high,activity-type=yuv,paq=caq,taq=on,lookahead=32
```
--------------------------------
### Apply Unsharp Masking Filter
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Shows how to configure the unsharp filter to enhance edges and details with a specified weight.
```bash
--vpp-unsharp weight=1.0
```
--------------------------------
### Input/Output Options
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Options for controlling input file analysis, trimming, seeking, and output format.
```APIDOC
## --input-analyze
### Description
Specify the length in seconds that libav parses for file analysis. The default is 5 (sec). If audio/subtitle tracks etc. are not detected properly, try increasing this value (e.g., 60).
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **seconds** (float) - Required - The duration in seconds for file analysis.
### Request Example
`--input-analyze 60`
### Response
N/A
```
```APIDOC
## --input-probesize
### Description
Set the maximum size in bytes that libav parses for file analysis.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **bytes** (int) - Required - The maximum size in bytes for file analysis.
### Request Example
`--input-probesize 1048576`
### Response
N/A
```
```APIDOC
## --trim :[,:][,:]...
### Description
Encode only frames in the specified range. Ranges are defined by start and end frame numbers.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **ranges** (string) - Required - Frame ranges to encode. Format: `start_frame:end_frame`. Multiple ranges can be specified separated by commas. Example: `0:1000,2000:3000` or `2000:0` (from frame 2000 to end).
### Request Example
`--trim 0:1000,2000:3000`
### Response
N/A
```
```APIDOC
## --seek [:][:][.]
### Description
Specifies the start time for transcoding. Seeking is fast but may not be exact. For exact seeking, use `--trim`.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **time** (string) - Required - The time to start seeking from. Format: `hh:mm:ss.ms`. Hours or minutes can be omitted. Examples: `0:01:15.400`, `1:15.4`, `75.4`.
### Request Example
`--seek 0:01:15.400`
### Response
N/A
```
```APIDOC
## --seekto [:][:][.]
### Description
Set the finish time for encoding. This might be inaccurate. For an exact number of frames, use `--trim`.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **time** (string) - Required - The time to finish encoding at. Format: `hh:mm:ss.ms`. Hours or minutes can be omitted. Examples: `0:01:15.400`, `1:15.4`, `75.4`.
### Request Example
`--seekto 0:01:15.400`
### Response
N/A
```
```APIDOC
## --input-format
### Description
Specify the input format for the avhw / avsw reader.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **format** (string) - Required - The input format (e.g., 'yuv420p').
### Request Example
`--input-format yuv420p`
### Response
N/A
```
```APIDOC
## -f, --output-format
### Description
Specify the output format for the muxer. Usually determined by the output file extension, but can be forced. Available formats can be checked with [--check-formats](#--check-formats). To output H.264/HEVC as an Elementary Stream, specify "raw".
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **format** (string) - Required - The output format (e.g., 'mp4', 'raw').
### Request Example
`-f raw`
### Response
N/A
```
```APIDOC
## --video-track
### Description
Set the video track to encode by resolution. Active when used with avhw/avsw reader.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **track_id** (int) - Required - The video track identifier. Positive integers for higher resolution tracks (1=highest), negative integers for lower resolution tracks (-1=lowest).
### Request Example
`--video-track 2`
### Response
N/A
```
```APIDOC
## --video-streamid
### Description
Set the video track to encode using its stream ID.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **stream_id** (int) - Required - The video stream ID.
### Request Example
`--video-streamid 0x1e`
### Response
N/A
```
```APIDOC
## --video-tag
### Description
Specify the video tag for the output file.
### Method
N/A (Configuration Option)
### Endpoint
N/A
### Parameters
#### Query Parameters
- **tag** (string) - Required - The video tag (e.g., 'hvc1').
### Request Example
`-o test.mp4 -c hevc --video-tag hvc1`
### Response
N/A
```
--------------------------------
### Apply Custom Libplacebo Shaders
Source: https://context7.com/rigaya/vceenc/llms.txt
Executes custom GLSL shaders for advanced tasks like AI-based upscaling (Anime4K) or specific color space conversions.
```bash
VCEEncC --avhw --vpp-libplacebo-shader shader=Anime4K_Upscale_CNN_x2_L.glsl,res=2560x1440 -i anime_720p.mp4 -o anime_1440p.mp4
VCEEncC --avhw --vpp-libplacebo-shader shader=custom.glsl,res=1920x1080,colorsystem=bt709,transfer=srgb -i input.mp4 -o output.mp4
```
--------------------------------
### Check VCEEncC Hardware Support
Source: https://github.com/rigaya/vceenc/blob/master/Install.en.md
Runs the `vceencc --check-hw` command to verify that VCEEncC can successfully initialize and detect hardware acceleration support, specifically checking for H.264/HEVC codecs.
```Shell
vceencc --check-hw
```
--------------------------------
### Resolution and Resize (--output-res)
Source: https://context7.com/rigaya/vceenc/llms.txt
Controls the output video resolution, enabling hardware or GPU-accelerated resizing. The '--output-res' option specifies the target width and height, preserving the aspect ratio. This is useful for downscaling or upscaling video content.
```bash
VCEEncC --avhw --output-res 1920x1080 -i 4k_input.mp4 -o 1080p_output.mp4
```
--------------------------------
### Enable Vulkan Support (Boolean)
Source: https://github.com/rigaya/vceenc/blob/master/meson_options.txt
This option enables Vulkan support, which is often required for VCEEnc on Linux systems. Enabling this allows VCEEnc to utilize the Vulkan graphics API.
```configuration
option('enable_vulkan', type: 'boolean', value: true, description: 'Enable Vulkan support (required on Linux)')
```
--------------------------------
### Pre-Analysis for Encoding Quality
Source: https://context7.com/rigaya/vceenc/llms.txt
Configure pre-analysis settings to improve encoding quality through scene change detection, lookahead, and adaptive quantization.
```bash
VCEEncC --avhw --vbr 8000 --pa -i input.mp4 -o output.mp4
VCEEncC --avhw --vbr 10000 --pa sc=high,ss=high,activity-type=yuv,lookahead=32 -i input.mp4 -o output.mp4
VCEEncC --avhw --vbr 8000 --pa paq=caq,taq=2,caq-strength=high -i input.mp4 -o output.mp4
VCEEncC --avhw --vbr 12000 -c hevc --pa sc=high,ss=high,activity-type=yuv,paq=caq,taq=2,lookahead=40,motion-quality=auto -i input.mp4 -o output.mp4
```
--------------------------------
### Basic Encoding Command
Source: https://context7.com/rigaya/vceenc/llms.txt
Performs standard video transcoding using hardware acceleration.
```APIDOC
## POST /encode/basic
### Description
Executes a basic hardware-accelerated transcoding operation from an input file to an output file.
### Method
POST
### Endpoint
VCEEncC --avhw -i [input] -o [output]
### Parameters
#### Query Parameters
- **--avhw** (flag) - Required - Enables hardware decoding and encoding pipeline.
- **-i** (string) - Required - Path to the input video file.
- **-o** (string) - Required - Path to the output video file.
### Request Example
VCEEncC --avhw -i input.mp4 -o output.mp4
### Response
#### Success Response (0)
- **Exit Code** (integer) - Returns 0 on successful encoding completion.
```
--------------------------------
### VPP Resizing and Sharpness
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Configures the video resizing algorithm and sharpness settings for specific scalers.
```APIDOC
## --vpp-resize
### Description
Specify the algorithm used for resizing the video.
### Parameters
- **algorithm** (string) - Required - Options: auto, advanced, bilinear, bicubic, spline16/36/64, lanczos2/3/4, amf_bilinear, amf_bicubic, amf_fsr.
## --vpp-scaler-sharpness
### Description
Sets the sharpness for the amf_fsr scaler.
### Parameters
- **value** (float) - Required - Range: 0.0-2.0 (default 0.5).
```
--------------------------------
### VCEEnc: Apply 3D LUT for Color Transformation
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Applies a 3D Look-Up Table (LUT) to the input video for color transformation. Currently, only '.cube' files are supported. The interpolation method for the LUT can also be specified.
```bash
--vpp-colorspace lut3d=path/to/your/lut.cube,lut3d_interp=trilinear
```
--------------------------------
### Enable VapourSynth Support (Boolean)
Source: https://github.com/rigaya/vceenc/blob/master/meson_options.txt
This option controls whether VapourSynth support is enabled in VCEEnc. Setting it to true allows VCEEnc to utilize VapourSynth for video processing.
```configuration
option('enable_vapoursynth', type: 'boolean', value: true, description: 'Enable VapourSynth support')
```
--------------------------------
### Set Audio Metadata (VCEEnc)
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Configures metadata for audio tracks, allowing copying from input, clearing existing metadata, or setting specific values like title and language. Tracks can be selected by index or language.
```bash
--audio-metadata 1?copy
--audio-metadata 1?clear
--audio-metadata 1?title="audio title"
--audio-metadata 1?language=jpn
```
--------------------------------
### Variable and Constant Bitrate Encoding (--vbr, --cbr)
Source: https://context7.com/rigaya/vceenc/llms.txt
Implements rate control modes for streaming and file size targets. VBR optimizes quality for a target bitrate, while CBR ensures a constant bitrate suitable for streaming. QVBR targets a specific quality level, and VBRHQ offers high-quality VBR with pre-analysis options.
```bash
VCEEncC --avhw --vbr 8000 -i input.mp4 -o output.mp4
VCEEncC --avhw --cbr 6000 -c h264 -i input.mp4 -o output.mp4
VCEEncC --avhw --vbr 8000 --max-bitrate 12000 -i input.mp4 -o output.mp4
VCEEncC --avhw --qvbr 25 -c hevc -i input.mp4 -o output.mp4
VCEEncC --avhw --vbrhq 10000 --pa lookahead=32,sc=high -i input.mp4 -o output.mp4
```
--------------------------------
### Enable AviSynth Support (Boolean)
Source: https://github.com/rigaya/vceenc/blob/master/meson_options.txt
This option controls whether AviSynth support is enabled in VCEEnc. Setting it to true allows VCEEnc to utilize AviSynth for video processing.
```configuration
option('enable_avisynth', type: 'boolean', value: true, description: 'Enable AviSynth support')
```
--------------------------------
### Copy Chapters (VCEEnc)
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Copies chapters directly from the input file to the output file.
```bash
--chapter-copy
```
--------------------------------
### Configure Audio-Video Synchronization
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Controls audio-video synchronization. Options include 'auto' (default), 'forcecfr' to maintain constant frame rate by duplicating/removing frames, and 'vfr' to honor source timestamps for variable frame rate output.
```bash
--avsync
```
```bash
- auto (default)
- forcecfr
Check pts from the input file, and duplicate or remove frames if required to keep CFR, so that synchronization with the audio could be maintained. Please note that this could not be used with --trim.
- vfr
Honor source timestamp and enable vfr output. Only available for avsw/avhw reader, and could not be used with --trim.
```
--------------------------------
### Set Dolby Vision RPU Parameters
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Configures specific parameters for the Dolby Vision RPU, such as cropping active area offsets.
```bash
--dolby-vision-rpu-prm crop=true
```
--------------------------------
### VCEEnc: Apply HDR to SDR Tone Mapping (Mobius)
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Applies HDR to SDR conversion using the Mobius tone-mapping algorithm. This method aims to preserve contrast and colors, with potential removal of bright details. Customizable parameters include 'transition' and 'peak' brightness.
```bash
--vpp-colorspace hdr2sdr=mobius,transition=0.3,peak=1.0
```
--------------------------------
### OpenCL Headers Include Path (String)
Source: https://github.com/rigaya/vceenc/blob/master/meson_options.txt
This option specifies an additional include path for OpenCL headers. It is used when compiling VCEEnc with OpenCL support, allowing the compiler to find necessary header files.
```configuration
option('opencl_headers', type: 'string', value: '', description: 'Additional include path for OpenCL headers')
```
--------------------------------
### Timecode and Timebase Options
Source: https://github.com/rigaya/vceenc/blob/master/VCEEncC_Options.en.md
Options related to handling timecode files and setting the timebase for transcoding.
```APIDOC
## --timecode [<string>]
### Description
Write timecode file to the specified path. If the path is not set, it will be written to "