After a bit of focused effort and a bit more trial and error, direct play is finally working all the time. The solution was changing the Remote Quantity1 setting from the default 4 MBps 720p to Original — however, since the server and client are on the same Gigabit Ethernet, I did not expect Remote Quality to have any effect at all.
Here is my simplest configuration that reproduces the problem: The Plex Media Server running on a MacBook Pro. The Plex Web client running on an iMac under Firefox 45.0.1. Both computers directly connected to a NetGear 8-port Gigabit Ethernet switch.
The network is functioning properly because file transfers (scp and rsync in particular) operate at over 90 MBps. My suspicion is that the Plex Media Server thinks the Plex clients are not on the same LAN and therefore uses the Remote Quality setting instead of the Local Quality setting. All my Plex clients (Firefox, Roku 2, and Tivo Bolt) are affected as are all videos with bitrates over 4 MBps.
Perhaps I have missed some setting that tells Plex Media Server what is local and what is remote? Any pointers will be greatly appreciated.
Thanks,
Scott
1Settings/Web/Player/Remote Quality