This week I got one of those J-Tech H.264 encoders as linked by
@TonyR in the OP. Among other spec improvements, the J-Tech is capable of 32 Mbps encoding while my old box draws the line at 12 Mbps. It should have had a clear quality advantage over my old Unisheen BM1000HDMI (same hardware and firmware as Oupree OPR-NH100). It turned out to be the opposite result.
Somehow, they managed to make it worse despite the bit rate being 2.6x higher. See these snapshots I captured, both from exactly the same frame from the same video source.
J-Tech @ 32 Mbps:
Unisheen BM1000HDMI @ 12 Mbps:
It is easiest to compare if you open both images in new tabs to toggle between them. Take note of the red shirt, the plaid shirt, and the wood paneling of the wall behind the characters. All are markedly worse on the J-Tech stream.
Those with a keen eye may also notice that the J-Tech output, despite being the same 1920x1080 resolution, has very slightly stretched the video vertically and cut off a few pixels at the very bottom edge of the video. I believe I can explain how that happened. H.264 encoders want dimensions that are divisible by 16. 1080 is not divisible by 16. 1088 is, and therefore most "1080" video gets padded with 8 extra garbage pixels at the bottom. The stream comes out at 1088 pixels high, the bottom 8 of which are garbage. Those pixels are cropped off by the player so you don't see them. You can see plenty of examples of this in UI3 (
Blue Iris) at different H.264 resolutions if you use the "NaCl" player option, because that player doesn't do the cropping. Anyway, I believe the J-Tech device got this part wrong. I think that instead of adding 8 padding pixels, they just
stretched the 1080 video source to 1088. This stretching reduces quality, distorts the video slightly, and results in lost information once those 8 pixels are cropped off the bottom by the player.
J-Tech support didn't have any new firmware for the device, so today it is on its way back to Amazon.