It’s important if you mix between Quick Sync Video & nvidia .
You can do cpu & gpu, decode and scale and encod without -vf , like this :
For source with h.265 10 bit :
ffmpeg -i input.mkv -s 444x250 -c:a copy -c:v h264_nvenc -pix_fmt yuv420p -preset p7 -tune ull -multipass fullres -rc_lookahead 32 -rc vbr -cq 29 -zerolatency 1 -gpu 0 output.mkv
For source with h.265 8 bit or h.264 :
ffmpeg -i input.mkv -s 444x250 -c:a copy -c:v h264_nvenc -preset p7 -tune ull -multipass fullres -rc_lookahead 32 -rc vbr -cq 29 -zerolatency 1 -gpu 0 output.mkv
If you want full gpu cuda decode and scale and encod :
For source with h.265 10 bit :
ffmpeg -y -hwaccel cuda -hwaccel_output_format cuda -hwaccel_device cuda -i input.mkv -filter_complex scale_cuda=1280:-2,hwdownload,format=p010le,format=nv12,hwupload -sn -c:a copy -c:v h264_nvenc -preset p7 -tune 1 -multipass fullres -rc-lookahead 32 -rc vbr -cq 30 -zerolatency 1 output.mkv
For source with h.265 8 bit or h.264 :
ffmpeg -y -hwaccel cuda -hwaccel_output_format cuda -hwaccel_device cuda -i input.mkv -filter_complex “scale_cuda=1280:-2,hwdownload,format=nv12” -sn -c:a copy -c:v h264_nvenc -preset p7 -tune 1 -multipass fullres -rc-lookahead 32 -rc vbr -cq 30 -zerolatency 1 output.mkv
-tune ull = -tune 3
You can change it (1,2,3) or name it like 1=hq
with “ffmpeg -i input.mkv -s 444x250 -c:a copy -c:v h264_nvenc -pix_fmt yuv420p -preset p7 -tune ull -multipass fullres -rc_lookahead 32 -rc vbr -cq 29 -zerolatency 1 -gpu 0 output.mkv” is the CPU that scales the video, right? How If I want GPU make this? (My GPU “GK104” can only encode/decode h.264, not encode/decode h.265)
thanks for two examples “If you want full gpu cuda decode and scale and encode”, anyway I can’t use them because my GPU card is too old :(
where I can find info about the order of “-vf” and “-filter_complex” params ? Is this the only guide?