AV1

VAAPI (Intel A380)

ffmpeg -vaapi_device /dev/dri/renderD128 -i INPUT -vf 'format=nv12,hwupload' -g 60 -c:v av1_vaapi -rc_mode VBR -b:v BITRATE -minrate BITRATE -maxrate BITRATE -profile:v main -level:v LEVEL -fps_mode passthrough OUTPUT

QSV (Intel A380)

ffmpeg -qsv_device /dev/dri/renderD128 -hwaccel qsv -hwaccel_output_format qsv -i INPUT -g 60 -c:v av1_qsv -preset PRESET -rc_mode VBR -adaptive_b 0 -b:v BITRATE -profile:v main -level:v LEVEL -fps_mode passthrough OUTPUT

NVENC

ffmpeg -i INPUT -c:v av1_nvenc -preset PRESET -g 60 -c:v av1_nvenc -rc vbr -tune uhq -no-scenecut 1 -rc-lookahead 10 -temporal-aq 1 -b:v BITRATE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [p7, p4, p1]

libAOM

ffmpeg -i INPUT -c:v libaom-av1 -cpu-used PRESET -row-mt 1 -g 60 -b:v BITRATE -profile:v main -level:v LEVEL -fps_mode passthrough OUTPUT

SVTAV1

ffmpeg -i INPUT -c:v libsvtav1 -preset PRESET -g 60 -svtav1-params scd=0 -b:v BITRATE -profile:v main -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [3, 7]

H264

QSV (Intel A380)

ffmpeg -qsv_device /dev/dri/renderD128 -hwaccel qsv -hwaccel_output_format qsv -i INPUT -g 60 -c:v h264_qsv -preset PRESET -rc_mode VBR -lookahead true -look_ahead_depth 10 -adaptive_b 0 -b:v BITRATE -profile:v PROFILE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [slower, faster]

PROFILE depends on the frame size. High for 710p..2160p, Main for lower.

NVENC

-preset PRESET -g 60 -c:v h264_nvenc -rc vbr_hq -tune hq -no-scenecut 1 -rc-lookahead 10 -temporal-aq 1 -b_ref_mode 2 -b:v BITRATE -profile:v PROFILE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [p7, p4, p1]

PROFILE depends on the frame size. High for 710p..2160p, Main for lower.

libx264

-c:v libx264 -preset PRESET -g 60 -b:v BITRATE -tune psnr -profile:v PROFILE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [slow, fast]

PROFILE depends on the frame size. High for 710p..2160p, Main for lower.

RK3588 Opi 5 Plus

-c:v h264_rkmpp -rc_mode VBR -g 60 -b:v BITRATE -bufsize BITRATE*1.5 -maxrate BITRATE*1.3 -level:v LEVEL -profile:v PROFILE -fps_mode passthrough OUTPUT

PROFILE depends on the frame size. High for 710p..2160p, Main for lower.

HEVC

QSV (Intel A380)

ffmpeg -qsv_device /dev/dri/renderD128 -hwaccel qsv -hwaccel_output_format qsv -i INPUT -g 60 -c:v hevc_qsv -preset PRESET -rc_mode VBR -lookahead true -look_ahead_depth 10 -adaptive_b 0 -b:v BITRATE -profile:v PROFILE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [slower, faster]

PROFILE depends on the frame size. High for 710p..2160p, Main for lower.

NVENC

-preset PRESET -g 60 -c:v hevc_nvenc -rc vbr_hq -tune uhq -no-scenecut 1 -rc-lookahead 10 -temporal-aq 1 -b_ref_mode 2 -b:v BITRATE -profile:v PROFILE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [p7, p4, p1]

PROFILE depends on the frame size. High for 1440p..2160p, Main for lower.

libx265

-c:v libx265 -preset PRESET -g 60 -b:v BITRATE -tune psnr -profile:v PROFILE -level:v LEVEL -fps_mode passthrough OUTPUT

PRESET = [slow, fast]

PROFILE depends on the frame size. High for 1440p..2160p, Main for lower.

RK3588 Opi 5 Plus

-c:v h264_rkmpp -rc_mode VBR -g 60 -b:v BITRATE -bufsize BITRATE*1.5 -maxrate BITRATE*1.3 -level:v LEVEL -profile:v PROFILE -fps_mode passthrough OUTPUT

PROFILE depends on the frame size. High for 1440p..2160p, Main for lower.