Good day.
All the constraints (picture resolution, bitrate, fps) are recommended values for browser. For example, resolution may be lowered and bitrate can be dropped if publisher channel bandwith is not enough for stream to pass.
FPS can drop either if pucture is changing slowly (screen sharing or static picture, for example) or if there are packet losses on publisher channel. If FPS changes in a wide range, this is probably channel bandwidth and quality issue. To avoid this, we recommend:
1. Use 4G (not 3G and lower) or WiFi network for publishing.
2. Use lower publishing resolution/bitrate by setting it via constraints on publisher side. You can
check publisher channel quality in realtime, and implement republishing a stream with lower resolution or bitrate for client if its channel becomes bad.