WebRTC ABR – Decision Workflow
The following shows the decision-making workflow performed to know when to move up and down variants.
- Check if an upgrade is possible → if they qualify → upgrade
- Caveat – if the client is requesting a keyframe then don’t upgrade
- If the client doesn’t qualify → then we test for trial → if they qualify for trial & are above downgrade of target → attempt upgrade
- If the client is requesting a keyframe or has dropped frames → downgrade
- Otherwise downgrade based on the calculation
The above checks are run with every keyframe received or per the mbr.test.delay
setting in the red5pro/conf/webrtc-plugin.properties
file.