if some settings run on ffmpeg (CPU) and some on AMF - yes i can improve
if all is run solely on AMF than MAYBE - but just a slight quality improvement
here a test video (download it or click it):
with custom settings:
-usage=2 -quality=0 -profile=100 -level=52 -rc=1 -preanalysis=true -coder=1 -qmin=25 -qmax=46 -me_range=48 -subq=9 -me_half_pel=true -me_quarter_pel=true -vbaq=true -trellis=2 -intra_refresh_mb=170
-usage=2 - enables "low-latency"-mode (should be used for streaming)
-quality=0 - "Balanced" as it usually gives best SSIM
-profile=100 - "high" should be used for +HD encoding
-level=52 - "Level 5.2" alows more macroblocks than 4.2 - but actually 4.2 (or 42) would be enough
-rc=1 - enables CBR
-preanalysis=true - enables "lookahead"
-coder=1 - enables "CABAC"
-qmin=25 - min QP 25 (default = 22)
-qmax=46 - max QP 46 (default =46)
-merange=48 - should force MotionEstimation to 48 (default = 36)(dont know if this works)
-subq=9 - subme 9 (dont know if it works)
-me_half_pel=true - MotionEstimation - i dont know if this is already enabled with next parameter
-me_quarter_pel=true - MotionEstimation - "best" AMD AMF can do
-vbaq=true - Variable Adaptive Quantization - can improve image quality (depending on source)
-trellis=2 - i dont know if this is "active" with AMFenc
-intra_refresh_mb=170 - max number of Intra-Refresh per Macroblock (default is "0" or "255")
For months now I've been playing with the settings in OBS for a better quality on twitch to absolutely no avail. My issue isn't so much game quality, it's the webcam quality. The game usually looks okay no matter what settings I use but when I encode using the hardware AVC/AMF encoder, my webcam is completely and totally pixelated while any slight movement is happening in the game. I've gone through and tried these settings you've given to others and they don't work. I usually stream in 720p 60fps.
for most scenarios this is the best i could get:
-usage=2 -quality=2 -profile=100 -level=42 -rc=1 -preanalysis=false -g 0 -coder=1 -qmin=18 -qmax=46 -me_half_pel=true -me_quarter_pel=true -vbaq=true -intra_refresh_mb=128
you can try to change:
intra_refresh_mb=128 to 0 OR 255 (both would be standard value)
and for games like Witcher 3 with lots of grass: preanalysis=true
with custom FFmpeg options:
-usage=2 -quality=2 -profile=100 -level=42 -rc=1 -preanalysis=true -g 0 -coder=1 -qmin=18 -qmax=46 -me_half_pel=true -me_quarter_pel=true -vbaq=true -intra_refresh_mb=255
have in mind:
1. webcam should be set correctly // in my case its:
same colorspace as stream and fitting FPS (29.97fps gets smoothest video for MY webcam)
reso of 424x240 is enough when webcam overlay isnt that big
2. set filtering in OBS for Webcam: point or bilinear or area are ok and dont produce much load
3. IF you have a hard to encode scene (e.g. in games like Witcher 3) than you should use NVenc or better x264 for encoding - as AMFenc is only 88-95% of x264 while NVenc is 95-98% of x264)
First, thank you for your hard work!
I guess this better than standart AMD encoder.
Which settings would you recommend for competitive games like CS:GO, Valorant or PUBG?
here a quick ranking:
very high quality:
depending on scene good quality:
so for AMD GPUs - use x264 whenever you can (CPU limited)
only when you cant get x264 to run you should use AMFenc
benman2785 hello again !
p.s. Bitrate,Buffer?Profile?Custom settings .. . Thanks!
if you dont want to stream AND have a big SSD:
AMD AMF with CQP
iQP = 21
files will be around 200MBit/s
here a bitrate overview of 1min 15s recording this way: filesize is 1.7GB
Quality is as good as the game looks
OR TO SAVE HDD SPACE: you could use AMFenc with CBR and a bitrate of 50000kbps
and it looks like this: http://benmanshafen.de/obs/rursi_AMFenc_50000kbps.mp4 (450MB)