GPUOpen-LibrariesAndSDKs / AMF

The Advanced Media Framework (AMF) SDK provides developers with optimal access to AMD devices for multimedia processing
Other
611 stars 152 forks source link

[Question]: <is ~2s audio delay normal when using QP_I + QP_P + QP_B?> #431

Open Benman2785 opened 10 months ago

Benman2785 commented 10 months ago

Hi,

i use OBS AMFenc FFmpeg:

ProfileLevel=42 MaxNumRefFrames=3 RateControlPreanalysisEnable=1 RateControlSkipFrameEnable=false EnforceHRD=1 FillerDataEnable=true VBVBufferSize=2304000 InitialVBVBufferFullness=64 PeakBitrate=6000000 MinQP=21 MaxQP=48 MaxConsecutiveBPictures=3 BPicturesPattern=2 AdaptiveMiniGOP=true BReferenceEnable=true DeBlockingFilter=true EnableVBAQ=true HighMotionQualityBoostEnable=true HalfPixel=true QuarterPixel=true EnablePreAnalysis=true PASceneChangeDetectionEnable=false PAFrameSadEnable=true PALookAheadBufferDepth=0 PAPerceptualAQMode=1 PATemporalAQMode=2 PAHighMotionQualityBoostMode=1 PACAQStrength=2 QPI=21 QPP=18 QPB=14 CABACEnable=true

with this settings i get around 2s =2000ms audio delay :/ without QPI=21 QPP=18 QPB=14 it does work fine

Benman2785 commented 10 months ago

3x 500ms render delay + -485ms (audio delay) and audio is now a little to early (will tinker around with it)

http://benmanshafen.de/streamdl/1080p60_amf-1703378621.flv

quality is way better - as i suspect that AMF uses same QP for p and b as from last i frame - but quality improves if they use a lower qp

Benman2785 commented 10 months ago

ok - was just a different system bug - now today everything is fine :)

Benman2785 commented 10 months ago

yet: quality is way better - as i suspect that AMF uses same QP for p and b as from last i frame - but quality improves if they use a lower qp

Benman2785 commented 10 months ago

ProfileLevel=42 MaxNumRefFrames=3 RateControlPreanalysisEnable=1 RateControlSkipFrameEnable=false EnforceHRD=1 FillerDataEnable=true VBVBufferSize=2304000 InitialVBVBufferFullness=64 PeakBitrate=6000000 MinQP=21 MaxQP=46 MaxConsecutiveBPictures=3 BPicturesPattern=2 AdaptiveMiniGOP=true BReferenceEnable=true DeBlockingFilter=true EnableVBAQ=true HighMotionQualityBoostEnable=true HalfPixel=true QuarterPixel=true EnablePreAnalysis=true PASceneChangeDetectionEnable=false PAFrameSadEnable=true PALookAheadBufferDepth=0 PAPerceptualAQMode=1 PATemporalAQMode=2 PAHighMotionQualityBoostMode=1 PACAQStrength=2 QPI=21 QPP=16 QPB=14 CABACEnable=true

creates: http://benmanshafen.de/streamdl/1080p60_amf-1703455199.flv

MikhailAMD commented 10 months ago

Let's separate issues:

Benman2785 commented 10 months ago

AV sync sporadicly is out of sync - but my windows is pretty messy - yet still could be driver related // or OBS

would be nice to use QPI=XX QPP=XX QPB=XX in CBR especially because lower QP for P and B would benefit quality.

so: set MaxQP and use minQPI minQPP minQPB = we can increase quality (as p and b frames with lower QP provide better quality while still "stay" within bitrate - as minQPI=21 take like 2x more bitrate as minQPP=16 or 3x more bitrate than minQPB=14 per frame

Benman2785 commented 10 months ago

the audio delay was caused by "use device timestamps" in OBS