These functions handle encoder-specific settings and parameters for video and image encoders.
def x264_setPreset(preset: String): List[String]
Sets the x264/x265 encoding preset.
Veryfast and superfast are recommended for most use cases
- ultrafast
- superfast
- veryfast
- faster
- fast
- medium
- slow
- slower
- veryslow
- placebo
def x264_setCoder(coder: String): List[String]
Sets the x264 coder.
- default
- cavlc
- cabac
- vlc
- ac
def x264_motionEstimation(mode: String): List[String]
Sets the motion estimation for x264 encoding.
- dia
- hex
- umh
- esa
- tesa
def x264_directPrediction(mode: String): List[String]
Sets the direct MV prediction mode for x264 encoding.
- none
- spatial
- temporal
- auto
def nvenc_setPreset(preset: String): List[String]
Sets the NVENC encoding preset.
- lossless
- default
- slow
- medium
- fast
- hq
def nvenc_setqp(value: Byte): List[String]
Sets constant quantization bitrate control and its value for NVENC.
Values between 1 and 51 are supported. Lower means more information/quality and file size.
def nvenc_setcrf(value: Byte): List[String]
Sets CRF encoding for NVENC.
Values between 0 and 51 are supported. Lower means more information/quality and file size.
For CRF, 0 means lossless, but I'm unsure if that's true for NVENC. If you want lossless compression on NVENC, use nvenc_setPreset("lossless")
def qsv_setPreset(preset: String): List[String]
Sets the preset for the Intel QuickSync encoder.
- veryfast
- faster
- fast
- medium
- slow
- slower
- veryslow
def qsv_setProfile(profile: String): List[String]
Sets the H.264/H.265 profile for QuickSync.
- unknown
- baseline
- main
- high
def qsv_lowPower(): List[String]
Enables the experimental low power mode for QuickSync
def qsv_MJPEGQuality(q: Byte): List[String]
Sets the quality level for QSV MJPEG. Accepted values are between 1 and 100. Higher means higher quality and file size.
If you are encoding videos in QuickSync MJPEG, use this rather than setQuality()
as that function will give you issues.
def vaapi_setDevice(device: String): List[String]
Sets the DRM hardware device to use for encoding with VAAPI.
For more information, check here
def vaapi_setRateMode(mode: String): List[String]
Sets the bitrate control mode.
- auto
- CQP
- CBR
- VBR
- ICQ
- QVBR
- AVBR
def vaapi_setQuality(value: Int): List[String]
Sets the compression quality level of VAAPI. This affects the compression efficiency.
Accepted values range from -1 to the maximum value for the Int type.
def vaapi_setProfile(profile: String): List[String]
Sets the encoding profile for VAAPI.
- constrained_baseline
- main
- high
def dnxhd_setPreset(preset: String): List[String]
Sets the DNxHD/DNxHR encoding preset.
dnxhr_hq is recommended for most cases.
- dnxhd
- dnxhr_lb
- dnxhr_sq
- dnxhr_hq
- dnxhr_hqx
- dnxhr_444
def prores_setProfile(preset: String): List[String]
Sets the ProRes encoding profile.
hq is recommended for most cases.
- proxy
- lt
- standard
- hq
- 4444
- 4444qx
def prores_setAlphaDepth(depth: Byte): List[String]
Sets the bit depth for the alpha channel when encoding using ProRes.
Values between 0 and 16 are supported. Use 0 to disable the alpha channel.
def vp9_setDeadline(preset: String): List[String]
Sets the deadline for VP9, which will define the compression efficiency as well as its speed.
- best
- good
- realtime
def vp9_setcpu_used(value: Byte): List[String]
Sets the cpu-used value for VP9, which will fine-tune the compression efficiency further.
Values between -8 and 8 are accepted.
def vp9_setLossless(): List[String]
Sets lossless encoding for VP9.
def setRowMT(): List[String]
Enables row-based multi-threading for encoders that support it, such as the encoders for VP9 and AV1.
def av1_stillPicture(): List[String]
Enables single-frame mode for AV1. Useful for encoding AVIF images.
def av1_setDeadline(preset: String): List[String]
Sets the deadline for AV1, which will define the compression efficiency as well as its speed.
- good
- realtime
- allintra
def av1_setcpu_used(value: Byte): List[String]
Sets the cpu-used value for AV1, which will fine-tune the compression efficiency further.
Values between 0 and 8 are accepted.
def av1_setTune(tune: String): List[String]
Sets the metric that the encoder tunes for.
- psnr
- ssim
def av1_setTiles(w: Int, h: Int): List[String]
Sets the number of columns "w" and rows "h" for the tile configuration for the av1 encoder.
def cfhd_setQuality(value: Int): List[String]
Sets the encoding quality for Cineform. This affects the bitrate used.
It must be a value between 0 and 12.
Higher value = lower bitrate and quality.
def utvideo_setPred(pred: String): List[String]
Sets the prediction method for Utvideo.
- none
- left
- gradient
- median
def huffyuv_setPred(pred: String): List[String]
Sets the prediction method for HuffYUV.
- left
- plane
- median
def png_setPred(mode: String): List[String]
Sets the prediction method.
- none
- sub
- up
- avg
- paeth
- mixed
def tiff_setCompression(compression: String): List[String]
Sets the compression algorithm for the tiff encoder.
- packbits
- raw
- lzw
- deflate
def webp_setLossless(): List[String]
Sets lossless compression for webp.
def webp_setQuality(value: Byte): List[String]
Sets the quality value for webp encoding.
Values between 0 and 100 are accepted
def webp_setPreset(preset: String): List[String]
Sets the webp encoding preset.
- none
- default
- picture
- photo
- drawing
- icon
- text