Do you have any suggestions for encoder settings aside from raising the bitrate limit?
I encourage using the Limit bitrate option in all cases, because I've seen decoders crash when you don't set this but you do set a very high quality %.
For my Streaming 0 profile, I use the Limit bitrate option, with a value of 4096, and Quality of 90 or 100% to ensure it actually encodes at or near my specified bit rate instead of something lower. Note that higher bit rates require more CPU time to decode, and maybe more to encode too, so on a CPU-limited system reducing the bit rate can be a good way to make the stream work better.
I personally use a long keyframe interval because I have yet to see any benefit whatsoever to having a short interval. Keyframes seem to reduce quality temporarily so you don't want them often. In fact you could probably get away with having no keyframes at all after the first one, because stream seeking is always done serverside, not clientside. My keyframe interval setting is 300 and I've thought about raising that to 99999 or something.
Max B-frames option should be 0 for UI2 I think, although I am not certain this option actually has any effect.
Preset must be "ultrafast" for UI2. Other presets look better (and cost more CPU time), but UI2 is not compatible with any other unless I change it to use a different video decoder.
HLS (sec) affects HLS streams only and you can pretty much ignore this. It specifies the length of the video chunks that are sent when using the HLS streaming method (which has so much startup delay and video lag that I don't think many people use it).
I use the Zero frame latency option, though I don't really perceive a difference between having it enabled or not.
Resize output frame is currently broken as far as I can tell. It is one of the things I've notified Ken about.
Retain aspect ratio within frame is a matter of preference. Some people like stretching their videos to fill the screen. I can't stand doing that so I would never consider unchecking it.
Also would it be possible to implement limits on the client-side instead of the server? This would let me have different settings on my PC on the LAN vs my laptop on the WAN.
It is not possible. It is something I want and have asked Ken (the Blue Iris developer) for, but I don't expect to get it. Without that, we still have 3 server-configurable streaming profiles that Blue Iris uses in the mobile apps and default.htm page. UI2 is locked to "Streaming 0" but the next web UI will be able to choose between them. I'm hoping to do an open beta test of that UI next month if Ken can be motivated to make the last necessary changes for me to finish the UI.