OBS AMF
Other source:
MaxNumRefFrames=4
HighMotionQualityBoostEnable=1
BReferenceEnable=true
EnableVBAQ=false
EnablePreAnalysis=true
PASceneChangeDetectionEnable=false
PATemporalAQMode=1
PAHighMotionQualityBoostMode=1
PAFrameSadEnable=true测试结果:
PATemporalAQMode=1 PAHighMotionQualityBoostMode=1 两项消耗较多资源,不适合开启。
OBS Wiki:
https://github.com/obsproject/obs-studio/wiki/AMF-Options
AMF配置定义:
H264
MaxNumRefFrames=4 HighMotionQualityBoostEnable=1 BReferenceEnable=true EnableVBAQ=false EnablePreAnalysis=true PASceneChangeDetectionEnable=false PAFrameSadEnable=true FillerDataEnable=false EnforceHRD=true MinQP=13 MaxQP=27 PeakBitrate=8000000 VBVBufferSize=20000000配合 VBR 码率控制
MaxNumRefFrames=4 HighMotionQualityBoostEnable=1 BReferenceEnable=true EnableVBAQ=true EnablePreAnalysis=false FillerDataEnable=false EnforceHRD=true MinQP=0 MaxQP=32 PeakBitrate=10485760 VBVBufferSize=10485760码率控制中,QP 范围优先于 Bitrate
在 VBR 中,AMF 会尝试保持 QP 稳定,如果画面突然变得变化更剧烈,所需码率增大,则缓慢提升 QP 来将码率降回指定码率。此 QP 变化范围受相应参数限制。
在指定了 PeakBitrate 和 VBVBufferSize 的情况下,会严格将码率限制在 PeakBitrate 内,同时超出平均码率的部分会消耗 BufferSize,消耗完毕后强制回归平均码率。
PeakBitrate 和 VBVBufferSize 的单位是 bits
如不指定这两个参数,其默认值较少,以致无法显著超出平均码率。
如何限制在 10M 以内:
kirin lemon: QP=32~35
karby 海盗船8人团队战下雨:QP=42
画质,以海盗船下雨时屏幕文字为例:30可以接受,32有点劣化,35很明显

35,文字明显劣化

32文字好一些

30更好一些
H265
HevcMaxNumRefFrames=4 HevcHighMotionQualityBoostEnable=1 HevcEnableVBAQ=false HevcEnablePreAnalysis=true PASceneChangeDetectionEnable=false PAFrameSadEnable=true HevcFillerDataEnable=false HevcEnforceHRD=true HevcMinQP_I=1 HevcMinQP_P=10 HevcMaxQP_I=35 HevcMaxQP_P=30 PeakBitrate=16777216 VBVBufferSize=67108864 HevcInitialVBVBufferFullness=0配合 VBR 码率控制